Contributors should read our contributors guide for instructions on how to update the changelog.
This document contains a historical list of changes between releases. Only changes that impact end-user behavior are listed; changes to documentation or internal API changes are not present.
- update promtail converter to use
file_matchblock forloki.source.fileinstead of going throughlocal.file_match. (@kalleep)
prometheus.exporter.blackbox,prometheus.exporter.snmpandprometheus.exporter.statsdnow use the component ID instead of the hostname as theirinstancelabel in their exported metrics. This is a consequence of a bug fix that could lead to missing data when using the exporter with clustering. If you would like to retain the previous behaviour, you can usediscovery.relabelwithaction = "replace"rule to set theinstancelabel tosys.env("HOSTNAME"). (@thampiotr)
-
(Experimental) Add an
otelcol.receiver.cloudflarecomponent to receive logs pushed by Cloudflare's LogPush jobs. (@x1unix) -
(Experimental) Additions to experimental
database_observability.mysqlcomponent:explain_plans- collector now changes schema before returning the connection to the pool (@cristiangreco)
- collector now passes queries more permissively, expressly to allow queries beginning in
with(@rgeyer)
- enable
explain_planscollector by default (@rgeyer)
-
(Experimental) Additions to experimental
database_observability.postgrescomponent:explain_plans- added the explain plan collector (@rgeyer)
- collector now passes queries more permissively, expressly to allow queries beginning in
with(@rgeyer)
query_samples- add
userfield to wait events withinquery_samplescollector (@gaantunes) - rework the query samples collector to buffer per-query execution state across scrapes and emit finalized entries (@gaantunes)
- process turned idle rows to calculate finalization times precisely and emit first seen idle rows (@gaantunes)
- add
query_details- escape queries coming from pg_stat_statements with quotes (@gaantunes)
- enable
explain_planscollector by default (@rgeyer) - safely generate server_id when UDP socket used for database connection (@matthewnolf)
- add table registry and include "validated" in parsed table name logs (@fridgepoet)
-
Add
otelcol.exporter.googlecloudpubsubcommunity component to export metrics, traces, and logs to Google Cloud Pub/Sub topic. (@eraac) -
Add
structured_metadata_dropstage forloki.processto filter structured metadata. (@baurmatt) -
Send remote config status to the remote server for the remotecfg service. (@erikbaranowski)
-
Send effective config to the remote server for the remotecfg service. (@erikbaranowski)
-
Add a
stat_statementsconfiguration block to theprometheus.exporter.postgrescomponent to enable selecting both the query ID and the full SQL statement. The new block includes one option to enable statement selection, and another to configure the maximum length of the statement text. (@SimonSerrano) -
Add
truncatestage forloki.processto truncate log entries, label values, and structured_metadata values. (@dehaansa) -
Add
u_probe_links&load_probeconfiguration fields to alloy pyroscope.ebpf to extend configuration of the opentelemetry-ebpf-profiler to allow uprobe profiling and dynamic probing. (@luweglarz) -
Add
verbose_modeconfiguration fields to alloy pyroscope.ebpf to be enable ebpf-profiler verbose mode. (@luweglarz) -
Add
file_matchblock toloki.source.filefor built-in file discovery using glob patterns. (@kalleep) -
Add a
regexargument to thestructured_metadatastage inloki.processto extract labels matching a regular expression. (@timonegk) -
OpenTelemetry Collector dependencies upgraded from v0.134.0 to v0.139.0. (@dehaansa)
- All
otelcol.receiver.*components leveraging an HTTP server can configure HTTP keep alive behavior withkeep_alives_enabled. - All
otelcol.exporter.*components providing thesending_queue>batchblock have defaultbatchvalues. - The
otelcol.processor.k8sattributescomponent has support for extracting annotations from k8s jobs and daemonsets. - The
otelcol.processor.resourcedecetioncomponent supports nine new detectors. - The
otelcol.exporter.kafkacomponent supports partitioning logs by trace ID (partition_logs_by_trace_id) and configuring default behavior if topic does not exist (allow_auto_topic_creation). - The
otelcol.receiver.kafkacomponent has new configuration optionsmax_partition_fetch_size,rack_id, anduse_leader_epoch. - The
otelcol.exporter.s3component has new configuration optionss3_base_prefixands3_partition_timezone. - The
otelcol.processor.servicegraphcomponent now supports defining the maximum number of buckets for generated exponential histograms. - See the upstream [core][https://github.com/open-telemetry/opentelemetry-collector/blob/v0.139.0/CHANGELOG.md] and [contrib][https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.139.0/CHANGELOG.md] changelogs for more details.
- All
-
Add per-application rate limiting with the
strategyattribute in thefaro.receivercomponent, to prevent one application from consuming the rate limit quota of others. (@hhertout) -
Add support of
tlsin componentsloki.source.(awsfirehose|gcplog|heroku|api)andprometheus.receive_httpandpyroscope.receive_http. (@fgouteroux) -
Remove SendSIGKILL=no from unit files and recommendations (@oleg-kozlyuk-grafana)
-
Reduce memory overhead of
prometheus.remote_write's WAL by lowering the size of the allocated series storage. (@kgeckhart) -
Reduce lock wait/contention on the labelstore.LabelStore by removing unecessary usage from
prometheus.relabel. (@kgeckhart) -
prometheus.exporter.postgresdependency has been updated to v0.18.1. This includes newstat_progress_vacuumandbuffercache_summarycollectors, as well as other bugfixes and enhancements. (@cristiangreco) -
Update Beyla component to 2.7.4. (@grcevski)
-
Support delimiters in
stage.luhn. (@dehaansa) -
pyroscope.java: update async-profiler to 4.2 (@korniltsev-grafanista)
-
Improve debug info output from exported receivers (loki, prometheus and pyroscope). (@kalleep)
-
prometheus.exporter.unix: Add anarpconfig block to configure the ARP collector. (@ptodev) -
prometheus.exporter.snowflakedependency has been updated to 20251016132346-6d442402afb2, which updates data ownership queries to uselast_over_timefor a 24 hour period. (@dasomeone) -
loki.source.podlogsnow supportspreserve_discovered_labelsparameter to preserve discovered pod metadata labels for use by downstream components. (@QuentinBisson) -
Rework underlying framework of Alloy UI to use Vite instead of Create React App. (@jharvey10)
-
Use POST requests for remote config requests to avoid hitting http2 header limits. (@tpaschalis)
-
loki.source.apiduring component shutdown will now reject all the inflight requests with status code 503 aftergraceful_shutdown_timeouthas expired. (@kalleep) -
kubernetes.discoveryAdd support for attaching namespace metadata. (@kgeckhart)
-
Stop
loki.source.kubernetesdiscarding log lines with duplicate timestamps. (@ciaranj) -
Fix direction of arrows for pyroscope components in UI graph. (@dehaansa)
-
Only log EOF errors for syslog port investigations in
loki.source.syslogas Debug, not Warn. (@dehaansa) -
Fix prometheus.exporter.process ignoring the
remove_empty_groupsargument. (@mhamzahkhan) -
Fix issues with "unknown series ref when trying to add exemplar" from
prometheus.remote_writeby allowing series ref links to be updated if they change. (@kgeckhart) -
Fix
loki.source.podlogscomponent to register the Kubernetes field index forspec.nodeNamewhen node filtering is enabled, preventing "Index with name field:spec.nodeName does not exist" errors. (@QuentinBisson) -
Fix issue in
loki.source.filewhere scheduling files could take too long. (@kalleep) -
Fix
loki.writeno longer includes internal labels__. (@matt-gp) -
Fix missing native histograms custom buckets (NHCB) samples from
prometheus.remote_write. (@krajorama) -
otelcol.receiver.prometheusnow supports mixed histograms ifprometheus.scrapehashonor_metadataset totrue. (@ptodev) A mixed histogram is one which has both classic and exponential buckets. -
loki.source.filehas better support for non-UTF-8 encoded files. (@ptodev)- A BOM will be taken into account if the file is UTF-16 encoded and
encodingis set toUTF-16. (NotUTF-16BEorUTF-16LE) - The carriage return symbol in Windows log files with CLRF endings will no longer be part of the log line.
- These bugs used to cause some logs to show up with Chinese characters. Notably, this would happen on MSSQL UTF-16 LE logs.
- A BOM will be taken into account if the file is UTF-16 encoded and
-
Fix the
loki.writeendpoint block'senable_http2attribute to actually affect the client. HTTP2 was previously disabled regardless of configuration. (@dehaansa) -
Optionally remove trailing newlines before appending entries in
stage.multiline. (@dehaansa)
-
Schedule new path targets faster in
loki.source.file. (@kalleep) -
Add
prometheus.static.exporterthat exposes metrics specified in a text file in Prometheus exposition format. (@kalleep)
-
local.file_matchnow publish targets faster whenever targets in arguments changes. (@kalleep) -
Fix
otelcol.exporter.splunkhecarguments missing documentedotel_attrs_to_hec_metadatablock. (@dehaansa) -
Support Scrape Protocol specification in CRDS for
prometheus.operator.*components. (@dehaansa) -
Fix panic in
otelcol.receiver.syslogwhen no tcp block was configured. (@kalleep) -
Fix breaking changes in the texfile collector for
prometheus.exporter.windows, andprometheus.exporter.unix, when prometheus/common was upgraded. (@kgeckhart) -
Support recovering from corrupted positions file entries in
loki.source.file. (@dehaansa)
-
Augment prometheus.scrape 'scheme' argument strengthening link to protocol. (@lewismc)
-
Stop
faro.receiverlosing trace context when exception has stack trace. (@duartesaraiva98)
-
Fix potential deadlock in
loki.source.journalwhen stopping or reloading the component. (@thampiotr) -
Honor sync timeout when waiting for network availability for prometheus.operator.* components. (@dehaansa)
-
Fix
prometheus.exporter.cloudwatchto not always emit debug logs but respect debug property. (@kalleep) -
Fix an issue where component shutdown could block indefinitely by adding a warning log message and a deadline of 10 minutes. The deadline can be configured with the
--feature.component-shutdown-deadlineflag if the default is not suitable. (@thampiotr) -
Fix potential deadlocks in
loki.source.fileandloki.source.journalwhen component is shutting down. (@kalleep, @thampiotr)
-
Prometheus dependency had a major version upgrade from v2.55.1 to v3.4.2. (@thampiotr)
-
The
.pattern in regular expressions in PromQL matches newline characters now. With this change a regular expressions like.*matches strings that include\n. This applies to matchers in queries and relabel configs in Prometheus and Loki components. -
The
enable_http2inprometheus.remote_writecomponent's endpoints has been changed tofalseby default. Previously, in Prometheus v2 the remote write http client would default to use http2. In order to parallelize multiple remote write queues across multiple sockets its preferable to not default to http2. If you prefer to use http2 for remote write you must now setenable_http2totruein yourprometheus.remote_writeendpoints configuration section. -
The experimental CLI flag
--feature.prometheus.metric-validation-schemehas been deprecated and has no effect. You can configure the metric validation scheme individually for eachprometheus.scrapecomponent. -
Log message format has changed for some of the
prometheus.*components as part of the upgrade to Prometheus v3. -
The values of the
lelabel of classic histograms and thequantilelabel of summaries are now normalized upon ingestion. In previous Alloy versions, that used Prometheus v2, the value of these labels depended on the scrape protocol (protobuf vs text format) in some situations. This led to label values changing based on the scrape protocol. E.g. a metric exposed asmy_classic_hist{le="1"}would be ingested asmy_classic_hist{le="1"}via the text format, but asmy_classic_hist{le="1.0"}via protobuf. This changed the identity of the metric and caused problems when querying the metric. In current Alloy release, which uses Prometheus v3, these label values will always be normalized to a float like representation. I.e. the above example will always result inmy_classic_hist{le="1.0"}being ingested into Prometheus, no matter via which protocol. The effect of this change is that alerts, recording rules and dashboards that directly reference label values as whole numbers such asle="1"will stop working.The recommended way to deal with this change is to fix references to integer
leandquantilelabel values, but otherwise do nothing and accept that some queries that span the transition time will produce inaccurate or unexpected results.
See the upstream Prometheus v3 migration guide for more details.
-
-
prometheus.exporter.windowsdependency has been updated to v0.31.1. (@dehaansa)- There are various renamed metrics and two removed collectors (
cs,logon), see the v1.11 release notes for more information.
- There are various renamed metrics and two removed collectors (
-
scrape_native_histogramsattribute forprometheus.scrapeis now set tofalse, whereas in previous versions of Alloy it would default totrue. This means that it is no longer enough to just configurescrape_protocolsto start withPrometheusPrototo scrape native histograms -scrape_native_histogramshas to be enabled. Ifscrape_native_histogramsis enabled,scrape_protocolswill automatically be configured correctly for you to includePrometheusProto. If you configure it explicitly, Alloy will validate thatPrometheusProtois in thescrape_protocolslist. -
Add
otel_attrs_to_hec_metadataconfiguration block tootelcol.exporter.splunkhecto matchotelcol.receiver.splunkhec. (@cgetzen) -
[
otelcol.processor.batch] Two arguments have different default values. (@ptodev)send_batch_sizeis now set to 2000 by default. It used to be 8192.send_batch_max_sizeis now set to 3000 by default. It used to be 0.- This helps prevent issues with ingestion of batches that are too large.
-
OpenTelemetry Collector dependencies upgraded from v0.128.0 to v0.134.0. (@ptodev)
- The
otelcol.receiver.opencensuscomponent has been deprecated and will be removed in a future release, useotelcol.receiver.otelpinstead. - [
otelcol.exporter.*] The deprecatedblockingargument in thesending_queueblock has been removed. Useblock_on_overflowinstead. - [
otelcol.receiver.kafka,otelcol.exporter.kafka]: Removed thebroker_addrargument from theaws_mskblock. Also removed theSASL/AWS_MSK_IAMauthentication mechanism. - [
otelcol.exporter.splunkhec] Thebatcherblock is deprecated and will be removed in a future release. Use thequeueblock instead. - [
otelcol.exporter.loadbalancing] Use a linear probe to decrease variance caused by hash collisions, which was causing a non-uniform distribution of loadbalancing. - [
otelcol.connector.servicegraph] Thedatabase_name_attributeargument has been removed. - [
otelcol.connector.spanmetrics] Adds a default maximum number of exemplars within the metric export interval. - [
otelcol.processor.tail_sampling] Add a newblock_on_overflowconfig attribute.
- The
-
Add the
otelcol.receiver.fluentforwardreceiver to receive logs via Fluent Forward Protocol. (@rucciva) -
Add the
prometheus.enrichcomponent to enrich metrics using labels fromdiscovery.*components. (@ArkovKonstantin) -
Add the
otelcol.receiver.awsecscontainermetricsreceiver (from upstream OTEL contrib) to read AWS ECS task- and container-level resource usage metrics. (@gregbrowndev) -
Add
node_filterconfiguration block toloki.source.podlogscomponent to enable node-based filtering for pod discovery. When enabled, only pods running on the specified node will be discovered and monitored, significantly reducing API server load and network traffic in DaemonSet deployments. (@QuentinBisson) -
(Experimental) Additions to experimental
database_observability.mysqlcomponent:query_samplecollector now supports auto-enabling the necessarysetup_consumerssettings (@cristiangreco)query_samplecollector is now compatible with mysql less than 8.0.28 (@cristiangreco)- include
server_idlabel on log entries (@matthewnolf) - support receiving targets argument and relabel those to include
server_id(@matthewnolf) - updated the config blocks and documentation (@cristiangreco)
-
(Experimental) Additions to experimental
database_observability.postgrescomponent:- add
query_tablescollector for postgres (@matthewnolf) - add
cloud_provider.awsconfiguration that enables optionally supplying the ARN of the database under observation. The ARN is appended to metric samples as labels for easier filtering and grouping of resources. - add
query_samplecollector for postgres (@gaantunes) - add
schema_detailscollector for postgres (@fridgepoet) - include
server_idlabel on logs and metrics (@matthewnolf)
- add
-
Add
otelcol.receiver.googlecloudpubsubcommunity component to receive metrics, traces, and logs from Google Cloud Pub/Sub subscription. (@eraac) -
Add otel collector converter for
otelcol.receiver.googlecloudpubsub. (@kalleep) -
(Experimental) Add a
honor_metadataconfiguration argument to theprometheus.scrapecomponent. When set totrue, it will propagate metric metadata to downstream components. -
Add a flag to pyroscope.ebpf alloy configuration to set the off-cpu profiling threshold. (@luweglarz)
-
Add
encoding.url_encodeandencoding.url_decodestd lib functions. (@kalleep)
-
Ensure text in the UI does not overflow node boundaries in the graph. (@blewis12)
-
Fix
pyroscope.writecomponent'sAppendIngestmethod to respect configured timeout and implement retry logic. The method now properly uses the configuredremote_timeout, includes retry logic with exponential backoff, and tracks metrics for sent/dropped bytes and profiles consistently with theAppendmethod. (@korniltsev) -
pyroscope.write,pyroscope.receive_httpcomponents includetrace_idin logs and propagate it downstream. (@korniltsev) -
Improve logging in
pyroscope.writecomponent. (@korniltsev) -
Add comprehensive latency metrics to
pyroscope.writecomponent with endpoint-specific tracking for both push and ingest operations. (@korniltsev, @claude) -
prometheus.scrapenow supportsconvert_classic_histograms_to_nhcb,enable_compression,metric_name_validation_scheme,metric_name_escaping_scheme,native_histogram_bucket_limit, andnative_histogram_min_bucket_factorarguments. See reference documentation for more details. (@thampiotr) -
Add
max_send_message_sizeconfiguration option toloki.source.apicomponent to control the maximum size of requests to the push API. (@thampiotr) -
Add
protobuf_messageargument toprometheus.remote_writeendpoint configuration to support both Prometheus Remote Write v1 and v2 protocols. The default remains"prometheus.WriteRequest"(v1) for backward compatibility. (@thampiotr) -
Update the
yet-another-cloudwatch-exporterdependency to point to the prometheus-community repo as it has been donated. Adds a few new services toprometheus.exporter.cloudwatch. (@dehaansa, @BoweFlex, @andriikushch) -
pyroscope.javanow supports configuring thelog_levelandquietflags on async-profiler. (@deltamualpha) -
Add
application_hostandnetwork_inter_zonefeatures tobeyla.ebpfcomponent. (@marctc) -
Set the publisher name in the Windows installer to "Grafana Labs". (@martincostello)
-
Switch to the community maintained fork of
go-jmespaththat has more features. (@dehaansa) -
Add a
stage.patternstage toloki.processthat uses LogQL patterns to parse logs. (@dehaansa) -
Add support to validate references, stdlib functions and arguments when using validate command. (@kalleep)
-
Update the
prometheus.exporter.processcomponent to get theremove_empty_groupsoption. (@dehaansa) -
Remove unnecessary allocations in
stage.static_labels. (@kalleep) -
Upgrade
beyla.ebpffrom Beyla version v2.2.5 to v2.5.8 The full list of changes can be found in the Beyla release notes (@marctc) -
prometheus.exporter.azuresupports settingintervalandtimespanindependently allowing for further look back when querying metrics. (@kgeckhart) -
loki.source.journalnow supportslegacy_positonblock that can be used to translate Static Agent or Promtail position files. (@kalleep) -
Normalize attr key name in logfmt logger. (@zry98)
-
(Experimental) Add an extra parameter to the
array.combine_mapsstandard library function to enable preserving the first input list even if there is no match. (@ptodev) -
Reduce memory overhead of
prometheus.remote_write's WAL by bringing in an upstream change to only track series in a slice if there's a hash conflict. (@kgeckhart) -
Reduce log level from warning for
loki.writewhen request fails and will be retried. (@kalleep) -
Fix slow updates to
loki.source.filewhen only targets have changed and pipeline is blocked on writes. (@kalleep) -
Reduced allocation in
loki.writewhen using external labels with mutliple endpoints. (@kalleep) -
The Windows installer and executables are now code signed. (@martincostello)
-
Reduce compressed request size in
prometheus.write.queueby ensuring append order is maintained when sending metrics to the WAL. (@kgeckhart) -
Add
protobuf_messageandmetadata_cache_sizearguments toprometheus.write.queueendpoint configuration to support both Prometheus Remote Write v1 and v2 protocols. The default remains"prometheus.WriteRequest"(v1) for backward compatibility. (@dehaansa) -
Reduce allocations for
loki.processwhenstage.templateis used. (@kalleep) -
Reduce CPU of
prometheus.write.queueby eliminating duplicate calls to calculate the protobuf Size. (@kgeckhart) -
Use new cache for metadata cache in
prometheus.write.queueand support disabling the metadata cache with it disable by default. (@kgeckhart, @dehaansa)
-
Update
webdevops/go-commondependency to resolve concurrent map write panic. (@dehaansa) -
Fix ebpf profiler metrics
pyroscope_ebpf_active_targets,pyroscope_ebpf_profiling_sessions_total,pyroscope_ebpf_profiling_sessions_failing_totalnot being updated. (luweglarz) -
Fix
prometheus.operator.podmonitorsso it now handle portNumber from PodMonitor CRD. (@kalleep) -
Fix
pyroscope.receive_httpso it does not restart server if the server configuration has not changed. (@korniltsev) -
Increase default connection limit in
pyroscope.receive_httpfrom 100 to 16k. (@korniltsev) -
Fix issue in
prometheus.remote_write's WAL which could allow it to hold an active series forever. (@kgeckhart) -
Fix issue in static and promtail converter where metrics type was not properly handled. (@kalleep)
-
Fix
prometheus.operator.*components to allow them to scrape correctly Prometheus Operator CRDs. (@thomas-gouveia) -
Fix
database_observability.mysqlanddatabase_observability.postgrescrashing alloy process due to uncaught errors. -
Fix data race in
loki.source.dockerthat could cause Alloy to panic. (@kalleep) -
Fix race conditions in
loki.source.syslogwhere it could deadlock or cause port bind errors during config reload or shutdown. (@thampiotr) -
Fix
prometheus.exporter.rediscomponent so that it no longer ignores theMaxDistinctKeyGroupsconfiguration option. If key group metrics are enabled, this will increase the cardinality of the generated metrics. (@stegosaurus21) -
Fix
loki.source.podlogscomponent to properly collect logs from Kubernetes Jobs and CronJobs. Previously, the component would fail to scrape logs from short-lived or terminated jobs due to race conditions between job completion and pod discovery. The fix includes:- Job-aware termination logic with extended grace periods (10-60 seconds) to ensure all logs are captured
- Proper handling of pod deletion and race conditions between job completion and controller cleanup
- Separation of concerns:
shouldStopTailingContainer()handles standard Kubernetes restart policies for regular pods, whileshouldStopTailingJobContainer()handles job-specific lifecycle with grace periods - Enhanced deduplication mechanisms to prevent duplicate log collection while ensuring comprehensive coverage
- Comprehensive test coverage including unit tests and deduplication validation This resolves the issue where job logs were being missed, particularly for fast-completing jobs or jobs that terminated before discovery. (@QuentinBisson)
-
Fix
loki.source.journalcreation failing with an error when the journal file is not found. (@thampiotr) -
Fix graph UI so it generates correct URLs for components in
remotecfgmodules. (@patrickeasters) -
Fix panic in
loki.writewhen component is shutting down andexternal_labelsare configured. (@kalleep) -
Fix excessive debug logs always being emitted by
prometheus.exporter.mongodb. (@kalleep)
-
Fix issue in
prometheus.write.queuecausing inability to increase shard count if existing WAL data was present on start. (@kgeckhart) -
Fix issue with
loki.source.gcplogwhen push messages sent by gcp pub/sub only includesmessageId. (@kalleep)
-
Fix issue with
faro.receivercors not allowing X-Scope-OrgID and traceparent headers. (@mar4uk) -
Fix issues with propagating cluster peers change notifications to components configured with remotecfg. (@dehaansa)
-
Fix issues with statistics reporter not including components only configured with remotecfg. (@dehaansa)
-
Fix issues with
prometheus.exporter.windowsnot propagatingdnscollector config. (@dehaansa) -
Fixed a bug in
prometheus.write.queuewhich caused retries even whenmax_retry_attemptswas set to0. (@ptodev) -
Fixed a bug in
prometheus.write.queuewhich caused labelling issues when providing more than one label inexternal_labels. (@dehaansa) -
Add
application_hostandnetwork_inter_zonefeatures tobeyla.ebpfcomponent. (@marctc) -
Fix issues in
loki.processwherestage.multilinedid not pass through structured metadata. (@jan-mrm) -
Fix URLs in the Windows installer being wrapped in quotes. (@martincostello)
-
Fixed an issue where certain
otelcol.*components could prevent Alloy from shutting down when provided invalid configuration. (@thampiotr)
- Removing the
nanoserver-1809container image for Windows 2019. (@ptodev) This is due to the deprecation ofwindows-2019GitHub Actions runners. Thewindowsservercore-ltsc2022Alloy image is still being published to DockerHub.
- Upgrade
otelcolcomponents from OpenTelemetry v0.126.0 to v0.128.0 (@korniltsev, @dehaansa)- [
otelcol.exporter.kafka]: Allow kafka exporter to produce to topics based on metadata key values. - [
otelcol.receiver.kafka]: Enforce a backoff mechanism on non-permanent errors, such as when the queue is full. - [
otelcol.receiver.kafka]: Don't restart the Kafka consumer on failed errors when message marking is enabled for them. - [
otelcol.exporter.datadog]: Fix automatic intial point dropping when converting cumulative monotonic sum metrics. - [
otelcol.exporter.datadog]: configtls::insecure_skip_verifyis now taken into account in metrics path. - [
otelcol.exporter.datadog]: Correctly treat summary counts as cumulative monotonic sums instead of cumulative non-monotonic sums. - [
otelcol.connector.spanmetrics]: Fix bug causing span metrics calls count to be always 0 when using delta temporality. - [
otelcol.exporter.splunkhec]: Treat HTTP 403 Forbidden as a permanent error.
- [
-
(Experimental) Add an
array.group_bystdlib function to group items in an array by a key. (@wildum) -
Add the
otelcol.exporter.faroexporter to export traces and logs to Faro endpoint. (@mar4uk) -
Add the
otelcol.receiver.faroreceiver to receive traces and logs from the Grafana Faro Web SDK. (@mar4uk) -
Add entropy support for
loki.secretfilter(@romain-gaillard)
-
Add
hash_string_idargument toforeachblock to hash the string representation of the pipeline id instead of using the string itself. (@wildum) -
Update
async-profilerbinaries forpyroscope.javato 4.0-87b7b42 (@github-hamza-bouqal) -
(Experimental) Additions to experimental
database_observability.mysqlcomponent:- Add
explain_plancollector todatabase_observability.mysqlcomponent. (@rgeyer) locks: addition of data locks collector (@gaantunes @fridgepoet)query_samplecollector is now enabled by default (@matthewnolf)query_tablescollector now deals better with truncated statements (@cristiangreco)
- Add
-
(Experimental)
prometheus.write.queueadd support for exemplars. (@dehaansa) -
(Experimental)
prometheus.write.queueinitialize queue metrics that are seconds values as time.Now, not 0. (@dehaansa) -
Update secret-filter gitleaks.toml from v8.19.0 to v8.26.0 (@andrejshapal)
-
Wire in survey block for beyla.ebpf component. (@grcevski, @tpaschalis)
-
Upgrade
otelcolcomponents from OpenTelemetry v0.126.0 to v0.128.0 (@korniltsev, @dehaansa)- [
otelcol.processor.resourcedetection]: Add additional OS properties to resource detection:os.build.idandos.name. - [
otelcol.processor.resourcedetection]: Addhost.interfaceresource attribute tosystemdetector. - [
otelcol.exporter.kafka]: Fix Snappy compression codec support for the Kafka exporter. - [
otelcol.receiver.filelog]: Introduceutf8-rawencoding to avoid replacing invalid bytes with \uFFFD when reading UTF-8 input. - [
otelcol.processor.k8sattributes]: Support extracting labels and annotations from k8s Deployments. - [
otelcol.processor.k8sattributes]: Add option to configure automatic service resource attributes. - [
otelcol.exporter.datadog]: Addshostname_detection_timeoutconfiguration option for Datadog Exporter and sets default to 25 seconds. - [
otelcol.receiver.datadog]: Address semantic conventions noncompliance and add support for http/db. - [
otelcol.exporter.awss3]: Add the retry mode, max attempts and max backoff to the settings.
- [
-
Add
enable_tracingattribute toprometheus.exporter.snowflakecomponent to support debugging issues. (@dehaansa) -
Add support for
conditionsand statement-specificerror_modeinotelcol.processor.transform. (@ptodev) -
Add
storageandstart_fromargs to cloudwatch logs receiver. (@boernd) -
Reduced allocation in Loki processing pipelines. (@thampiotr)
-
Update the
prometheus.exporter.postgrescomponent with latest changes and bugfixes for Postgres17 (@cristiangreco) -
Add
tail_from_endargument toloki.source.podlogsto optionally start reading from the end of a log stream for newly discovered pods. (@harshrai654) -
Remove limitation in
loki.source.filewhenlegacy_position_fileis unset. Alloy can now recover legacy positions even if labels are added. (@kalleep)
-
Fix path for correct injection of version into constants at build time. (@adlotsof)
-
Propagate the
-feature.community-components.enabledflag for remote configuration components. (@tpaschalis) -
Fix extension registration for
otelcol.receiver.splunkhecauth extensions. (@dehaansa)
-
Mark
pyroscope.receive_httpandpyroscope.relabelcomponents as GA. (@marcsanmi) -
Upgrade
otelcol.exporter.windowsto v0.30.8 to get bugfixes and fixupdatecollector support. (@dehaansa) -
Add
User-Agentheader to remotecfg requests. (@tpaschalis)
-
Send profiles concurrently from
pyroscope.ebpf. (@korniltsev) -
Fix the
validatecommand not understanding thelivedebuggingblock. (@dehaansa) -
Fix invalid class names in python profiles obtained with
pyroscope.ebpf. (@korniltsev) -
Fixed a bug which prevented non-secret optional secrets to be passed in as
numberarguments. (@ptodev) -
For CRD-based components (
prometheus.operator.*), retry initializing informers if the apiserver request fails. This rectifies issues where the apiserver is not reachable immediately after node restart. (@dehaansa)
- Add no-op blocks and attributes to the
prometheus.exporter.windowscomponent (@ptodev). Version 1.9.0 of Alloy removed themsmqblock, as well as theenable_v2_collector,where_clause, anduse_apiattributes in theserviceblock. This made it difficult for users to upgrade, so those attributes have now been made a no-op instead of being removed.
- Update the
prometheus.exporter.windowscomponent to version v0.30.7. This adds new metrics to thednscollector. (@dehaansa)
-
Update the
prometheus.exporter.windowscomponent to version v0.30.7. This fixes an error with the exchange collector and terminal_services collector (@dehaansa) -
Fix
loki.source.firehoseto propagate specific cloudwatch event timestamps when useIncomingTs is set to true. (@michaelPotter) -
Fix elevated CPU usage when using some
otelcolcomponents due to debug logging. (@thampiotr)
- Upgrade
otelcolcomponents from OpenTelemetry v0.125.0 to v0.126.0 (@dehaansa):- [
pkg/ottl] Add support forHasPrefixandHasSuffixfunctions. - [
pkg/configtls] Add trusted platform module (TPM) support to TLS authentication for allotelcolcomponents supporting TLS. - [
otelcol.connector.spanmetrics] Addcalls_dimensionandhistogram:dimensionblocks for configuring additional dimensions fortraces.span.metrics.callsandtraces.span.metrics.durationmetrics. - [
otelcol.exporter.datadog] Enableinstrumentation_scope_metadata_as_tagsby default. - [
otelcol.exporter.kafka] support configuration ofcompressionlevelin producer configuration. - [
otelcol.processor.tailsampling]invert sampleandinverted not sampledecisions deprecated, use thedroppolicy instead to explicitly not sample traces. - [
otelcol.receiver.filelog] supportcompressionvalue ofautoto automatically detect file compression type.
- [
-
The
prometheus.exporter.windowscomponent has been update to version v0.30.6. This update includes a significant rework of the exporter and includes some breaking changes. (@dehaansa)- The
msmqandservicecollectors can no longer be configured with a WMI where clause. Any filtering previously done in a where clause will need to be done in aprometheus.relabelcomponent. - The
servicecollector no longer providesenable_v2_collectoranduse_apiconfiguration options. - The
mscluster_*andnetframework_*collectors are now replaced with onemsclusterandnetframeworkcollector that allows you to enable the separate metric groupings individually. - The
teradici_pcoipandvmware_blastcollectors have been removed from the exporter.
- The
-
The
prometheus.exporter.oracledbcomponent now embeds theoracledb_exporter from oracleinstead of the deprecatedoracledb_exporter from iamsethfor collecting metrics from an OracleDB server: (@wildum)- The arguments
username,password,default_metrics, andcustom_metricsare now supported. - The previously undocumented argument
custom_metricsis now expecting a list of paths to custom metrics files. - The following metrics are no longer available by default: oracledb_sessions_activity, oracledb_tablespace_free_bytes
- The arguments
-
(Experimental) The
enable_context_propagationargument inbeyla.ebpfhas been replaced with thecontext_propagationargument. Setenable_context_propagationtoallto get the same behaviour asenable_context_propagationbeing set totrue.
-
Bump snmp_exporter and embedded modules in
prometheus.exporter.snmpto v0.29.0, add cisco_device module support (@v-zhuravlev) -
Add the
otelcol.storage.fileextension to support persistent sending queues andotelcol.receiver.filelogfile state tracking between restarts. (@dehaansa) -
Add
otelcol.exporter.googlecloudcommunity component to export metrics, traces, and logs to Google Cloud. (@motoki317) -
Add support to configure basic authentication for alloy http server. (@kalleep)
-
Add
validatecommand to alloy that will perform limited validation of alloy configuration files. (@kalleep) -
Add support to validate foreach block when using
validatecommand. (@kalleep) -
Add
otelcol.receiver.splunkheccomponent to receive events in splunk hec format and forward them to otherotelcol.*components. (@kalleep) -
Add support for Mimir federated rule groups in
mimir.rules.kubernetes(@QuentinBisson)
-
prometheus.exporter.windowshas been significantly refactored upstream and includes new collectors likefiletime,pagefile,performancecounter,udp, andupdateas well as new configuration options for existing collectors. (@dehaansa) -
prometheus.exporter.mongodbnow offers fine-grained control over collected metrics with new configuration options. (@TeTeHacko) -
Add binary version to constants exposed in configuration file syntatx. (@adlots)
-
Update
loki.secretfilterto include metrics about redactions (@kelnage) -
(Experimental) Various changes to the experimental component
database_observability.mysql:schema_table: add support for index expressions (@cristiangreco)query_sample: enable opt-in support to extract unredacted sql query (sql_text) (@matthewnolf)query_tables: improve queries parsing (@cristiangreco)- make tidbparser the default choice (@cristiangreco)
query_sample: better handling of timer overflows (@fridgepoet)- collect metrics on enabled
performance_schema.setup_consumers(@fridgepoet) query_sample: base log entries on calculated timestamp from rows, not now() (@fridgepoet)query_sample: check digest is not null (@cristiangreco)query_sample: add additional logs for wait events (@fridgepoet)- make tidb the default and only sql parser
-
Mixin dashboards improvements: added minimum cluster size to Cluster Overview dashboard, fixed units in OpenTelemetry dashboard, fixed slow components evaluation time units in Controller dashboard and updated Prometheus dashboard to correctly aggregate across instances. (@thampiotr)
-
Reduced the lag time during targets handover in a cluster in
prometheus.scrapecomponents by reducing thread contention. (@thampiotr) -
Pretty print diagnostic errors when using
alloy run(@kalleep) -
Add
labels_from_groupsattribute tostage.regexinloki.processto automatically add named capture groups as labels. (@harshrai654) -
The
loki.rules.kubernetescomponent now supports adding extra label matchers to all queries discovered viaPrometheusRuleCRDs. (@QuentinBisson) -
Add optional
idfield toforeachblock to generate more meaningful component paths in metrics by using a specific field from collection items. (@harshrai654) -
The
mimir.rules.kubernetescomponent now supports adding extra label matchers to all queries discovered viaPrometheusRuleCRDs by extracting label values defined on thePrometheusRule. (@QuentinBisson) -
Fix validation logic in
beyla.ebpfcomponent to ensure that either metrics or traces are enabled. (@marctc) -
Improve
foreachUI and add graph support for it. (@wildum) -
Update statsd_exporter to v0.28.0, most notable changes: (@kalleep)
- [0.23.0] Support experimental native histograms.
- [0.24.1] Support scaling parameter in mapping.
- [0.26.0] Add option to honor original labels from event tags over labels specified in mapping configuration.
- [0.27.1] Support dogstatsd extended aggregation
- [0.27.2] Fix panic on certain invalid lines
-
Upgrade
beyla.ebpfto v2.2.4-alloy. The full list of changes can be found in the Beyla release notes. (@grcevski)
-
Fix
otelcol.receiver.filelogdocumentation's default value forstart_at. (@petewall) -
Fix
pyroscope.scrapescraping godeltaprof profiles. (@korniltsev) -
Fix #3386 lower casing scheme in
prometheus.operator.scrapeconfigs. (@alex-berger) -
Fix #3437 Component Graph links now follow
--server.http.ui-path-prefix. (@solidcellaMoon) -
Fix a bug in the
foreachpreventing the UI from showing the components in the template when the block was re-evaluated. (@wildum) -
Fix alloy health handler so header is written before response body. (@kalleep)
-
Fix
prometheus.exporter.unixto pass hwmon config correctly. (@kalleep) -
Fix #3408
loki.source.dockercan now collect logs from containers not in the running state. (@adamamsmith)
-
Update the zap logging adapter used by
otelcolcomponents to log arrays and objects. (@dehaansa) -
Updated Windows install script to add DisplayVersion into registry on install (@enessene)
-
Update Docker builds to install latest Linux security fixes on top of base image (@jharvey10)
-
Reduce Docker image size slightly by consolidating some RUN layers (@AchimGrolimund)
-
RPM artifacts in Alloy GitHub releases are no longer signed. The artifacts on the
https://rpm.grafana.comrepository used by theyumpackage manager will continue to be signed. (@ptodev) -
Upgrade
otelcolcomponents from OpenTelemetry v0.122.0 to v0.125.0 (@ptodev):- [
pkg/ottl] Enhance the Decode OTTL function to support all flavors of Base64. - [
otelcol.processor.resourcedetection] Adding theos.versionresource attribute to system processor. - [
otelcol.auth.bearer] Allow the header name to be customized. - [
otelcol.exporter.awss3] Add a newsending_queuefeature. - [
otelcol.exporter.awss3] Add a newtimeoutargument. - [
otelcol.exporter.awss3] Add a newresource_attrs_to_s3configuration block. - [
otelcol.exporter.awss3] Fixes an issue where the AWS S3 Exporter was forcing an ACL to be set, leading to unexpected behavior in S3 bucket permissions. - [
otelcol.connector.spanmetrics] A newinclude_instrumentation_scopeconfiguration argument. - [
otelcol.connector.spanmetrics] Initialise newcalls_totalmetrics at 0. - [
otelcol.connector.spanmetrics] A newaggregation_cardinality_limitconfiguration argument to limit the number of unique combinations of dimensions that will be tracked for metrics aggregation. - [
otelcol.connector.spanmetrics] Deprecate the unused argumentdimensions_cache_size. - [
otelcol.connector.spanmetrics] Moving the start timestamp (and last seen timestamp) from the resourceMetrics level to the individual metrics level. This will ensure that each metric has its own accurate start and last seen timestamps, regardless of its relationship to other spans. - [
otelcol.processor.k8sattributes] Add option to configure automatic resource attributes - with annotation prefix. Implements Specify resource attributes using Kubernetes annotations. - [
otelcol.connector.servicegraph] Changedatabase_name_attributeto accept a list of values. - [
otelcol.exporter.kafka,otelcol.receiver.kafka] Deprecating theauth>plain_textblock. Useauth>saslwithmechanismset toPLAINinstead. - [
otelcol.exporter.kafka,otelcol.receiver.kafka] Deprecating thetopicargument. Uselogs>topic,metrics>topic, ortraces>topicinstead. - [
otelcol.exporter.kafka,otelcol.receiver.kafka] Deprecate theauth>tlsblock. Use the top-leveltlsblock instead. - [
otelcol.receiver.kafka] Add max_fetch_wait config setting. This setting allows you to specify the maximum time that the broker will wait for min_fetch_size bytes of data to be available before sending a response to the client. - [
otelcol.receiver.kafka] Add support for configuring Kafka consumer rebalance strategy and group instance ID.
- [
-
Fix
mimir.rules.kubernetespanic on non-leader debug info retrieval (@TheoBrigitte) -
Fix detection of the "streams limit exceeded" error in the Loki client so that metrics are correctly labeled as
ReasonStreamLimited. (@maratkhv) -
Fix
loki.source.filerace condition that often lead to panic when usingdecompression. (@kalleep) -
Fix deadlock in
loki.source.filethat can happen when targets are removed. (@kalleep) -
Fix
loki.processto emit valid logfmt. (@kalleep)
-
Fix
otelcol.exporter.prometheusdropping valid exemplars. (@github-vincent-miszczak) -
Fix
loki.source.podlogsnot adding labels__meta_kubernetes_namespaceand__meta_kubernetes_pod_label_*. (@kalleep)
-
rfc3164_default_to_current_yearargument was not fully added toloki.source.syslog(@dehaansa) -
Fix issue with
remoteCfgservice stopping immediately and logging noop error if not configured (@dehaansa) -
Fix potential race condition in
remoteCfgservice metrics registration (@kalleep) -
Fix panic in
prometheus.exporter.postgreswhen using minimal url as data source name. (@kalleep)
-
Removed
open_portandexecutable_namefrom top level configuration of Beyla component. Removedenabledargument fromnetworkblock. (@marctc) -
Breaking changes from the OpenTelemetry Collector v0.122 update: (@wildum)
otelcol.exporter.splunkhec:min_size_itemsandmax_size_itemswere replaced bymin_size,max_sizeandsizerin thebatcherblock to allow users to configure the size of the batch in a more flexible way.- The telemetry level of Otel components is no longer configurable. The
levelargument in thedebug_metricsblock is kept to avoid breaking changes but it is not used anymore. otelcol.processor.tailsamplingchanged the unit of the decision timer metric from microseconds to milliseconds. (change unit of otelcol_processor_tail_sampling_sampling_decision_timer_latency)otelcol.processor.deltatocumulative: renameotelcol_deltatocumulative_datapoints_processedtootelcol_deltatocumulative_datapointsand remove the metricsotelcol_deltatocumulative_streams_evicted,otelcol_deltatocumulative_datapoints_droppedandotelcol_deltatocumulative_gaps_length.- The
regexattribute was removed fromotelcol.processor.k8sattributes. The extract-patterns function fromotelcol.processor.transformcan be used instead. - The default value of
metrics_flush_intervalinotelcol.connector.servicegraphwas changed from0sto60s. s3_partitioninotelcol.exporter.awss3was replaced bys3_partition_format.
-
(Experimental)
prometheus.write.queuemetric names changed to align better with prometheus standards. (@mattdurham)
- Add
otelcol.receiver.awscloudwatchcomponent to receive logs from AWS CloudWatch and forward them to otherotelcol.*components. (@wildum) - Add
loki.enrichcomponent to enrich logs using labels fromdiscovery.*components. (@v-zhuravlev) - Add string concatenation for secrets type (@ravishankar15)
- Add support for environment variables to OpenTelemetry Collector config. (@jharvey10)
- Replace graph in Alloy UI with a new version that supports modules and data flow visualization. (@wildum)
- Added
--cluster.wait-for-sizeand--cluster.wait-timeoutflags which allow to specify the minimum cluster size required before components that use clustering begin processing traffic to ensure adequate cluster capacity is available. (@thampiotr) - Add
trace_printertobeyla.ebpfcomponent to print trace information in a specific format. (@marctc) - Add support for live debugging and graph in the UI for components imported via remotecfg. (@wildum)
-
Add the ability to set user for Windows Service with silent install (@dehaansa)
-
Add livedebugging support for structured_metadata in
loki.process(@dehaansa) -
(Public Preview) Add a
--windows.priorityflag to the run command, allowing users to set windows process priority for Alloy. (@dehaansa) -
(Experimental) Adding a new
prometheus.operator.scrapeconfigswhich discovers and scrapes ScrapeConfig Kubernetes resources. (@alex-berger) -
Add
rfc3164_default_to_current_yearargument toloki.source.syslog(@dehaansa) -
Add
connection_namesupport forprometheus.exporter.mssql(@bck01215) -
Add livedebugging support for
prometheus.scrape(@ravishankar15, @wildum) -
Have
loki.echolog theentry_timestampandstructured_metadatafor any loki entries received (@dehaansa) -
Bump snmp_exporter and embedded modules in
prometheus.exporter.snmpto v0.28.0 (@v-zhuravlev) -
Update mysqld_exporter to v0.17.2, most notable changes: (@cristiangreco)
- [0.17.1] Add perf_schema quantile columns to collector
- [0.17.1] Fix database quoting problem in collector 'info_schema.tables'
- [0.17.1] Use SUM_LOCK_TIME and SUM_CPU_TIME with mysql >= 8.0.28
- [0.17.1] Fix query on perf_schema.events_statements_summary_by_digest
- [0.17.2] Fix query on events_statements_summary_by_digest for mariadb
-
Added additional backwards compatibility metrics to
prometheus.write.queue. (@mattdurham) -
Add new stdlib functions encoding.to_json (@ravishankar15)
-
Added OpenTelemetry logs and metrics support to Alloy mixin's dashboards and alerts. (@thampiotr)
-
Add support for proxy and headers in
prometheus.write.queue. (@mattdurham) -
Added support for switching namespace between authentication and kv retrieval to support Vault Enterprise (@notedop)
-
(Experimental) Various changes to the experimental component
database_observability.mysql:query_sample: better handling of truncated queries (@cristiangreco)query_sample: add option to use TiDB sql parser (@cristiangreco)query_tables: rename collector fromquery_sampleto better reflect responsibility (@matthewnolf)query_sample: add new collector that replaces previous implementation to collect more detailed sample information (@matthewnolf)query_sample: refactor parsing of truncated queries (@cristiangreco)
-
Add labels validation in
pyroscope.writeto prevent duplicate labels and invalid label names/values. (@marcsanmi) -
Reduced lock contention in
prometheus.scrapecomponent (@thampiotr) -
Support converting otel config which uses a common receiver across pipelines with different names. (@wildum)
-
Reduce CPU usage of the
loki.source.podlogscomponent when pods logs target lots of pods (@QuentinBisson) -
Add error body propagation in
pyroscope.write, for/ingestcalls. (@simonswine) -
Add
tenantlabel to remainingloki_write_.+metrics (@towolf) -
Removed syntax highlighting from the component details UI view to improve rendering performance. (@tpaschalis)
-
A new
grafana/alloy:vX.Y.Z-windowsservercore-ltsc2022Docker image is now published on DockerHub. (@ptodev)
-
Fix deadlocks in
loki.source.filewhen tailing fails (@mblaschke) -
Add missing RBAC permission for ScrapeConfig (@alex-berger)
-
Fixed an issue in the
mimir.rules.kubernetescomponent that would keep the component as unhealthy even when it managed to start after temporary errors (@nicolasvan) -
Allow kafka exporter to attempt to connect even if TLS enabled but cert & key are not specified (@dehaansa)
-
Fixed bug where all resources were not being collected from
prometheus.exporter.azurewhen usingregions(@kgeckhart) -
Fix panic in
loki.source.filewhen the tailer had no time to run before the runner was stopped (@wildum)
-
Upgrading to Prometheus v2.55.1. (@ptodev)
- Added a new
http_headersargument to manydiscoveryandprometheuscomponents. - Added a new
scrape_failure_log_fileargument toprometheus.scrape.
- Added a new
-
Non-breaking changes from the OpenTelemetry Collector v0.122 update: (@wildum)
otelcol.processor.transformhas a newstatementsblock for transformations which don't require a context to be specified explicitly.otelcol.receiver.sysloghas a newon_errorargument to specify the action to take when an error occurs while receiving logs.otelcol.processor.resourcedetectionnow supportsdynatraceas a resource detector.otelcol.receiver.kafkahas a newerror_backoffblock to configure how failed requests are retried.otelcol.receiver.vcenterhas three new metricsvcenter.vm.cpu.time,vcenter.vm.network.broadcast.packet.rateandvcenter.vm.network.multicast.packet.rate.otelcol.exporter.awss3has two new argumentsaclandstorage_class.otelcol.auth.headersheaders can now be populated using Authentication metadata using from_attribute
-
Change the stability of the
beyla.ebpfcomponent from "public preview" to "generally available". (@marctc) -
The ingest API of
pyroscope.receive_httpno longer forwards all received headers, instead only passes through theContent-Typeheader. (@simonswine)
- Set zstd as default compression for
prometheus.write.queue. (@mattdurham)
- Revert the changes to
loki.source.filefrom release v1.7.0. These changes introduced a potential deadlock. (@dehaansa)
- Fixed the parsing of selections, application and network filter blocks for Beyla. (@raffaelroquetto)
- Add the
stat_checkpointercollector inprometheus.exporter.postgres(@dehaansa)
-
Update the
prometheus.exporter.postgrescomponent to correctly support Postgres17 whenstat_bgwritercollector is enabled (@dehaansa) -
Fix
remoteCfglogging and metrics reporting oferrNotModifiedas a failure (@zackman0010)
-
Fixed an issue where the
otelcol.exporter.awss3could not be started with thesumo_icmarshaler. (@wildum) -
Update
jfr-parserdependency to v0.9.3 to fix jfr parsing issues inpyroscope.java. (@korniltsev) -
Fixed an issue where passing targets from some standard library functions was failing with
target::ConvertFromerror. (@thampiotr) -
Fixed an issue where indexing targets as maps (e.g.
target["foo"]) or objects (e.g.target.foo) or using them with certain standard library functions was resulting inexpected object or array, got capsuleerror under some circumstances. This could also lead toforeach evaluation failederrors when using theforeachconfiguration block. (@thampiotr) -
Update
prometheus.write.queueto reduce memory fragmentation and increase sent throughput. (@mattdurham) -
Fixed an issue where the
otelcol.exporter.kafkacomponent would not start if theencodingwas specific to a signal type. (@wildum)
-
Fixed an issue where some exporters such as
prometheus.exporter.snmpcouldn't accept targets from other components with an errorconversion to '*map[string]string' is not supported". (@thampiotr) -
Enable batching of calls to the appender in
prometheus.write.queueto reduce lock contention when scraping, which will lead to reduced scrape duration. (@mattdurham)
-
(Experimental) In
prometheus.write.queuechangedparallelismfrom attribute to a block to allow for dynamic scaling. (@mattdurham) -
Remove
tls_basic_auth_config_pathattribute fromprometheus.exporter.mongodbconfiguration as it does not configure TLS client behavior as previously documented. -
Remove
encodingandencoding_file_extfromotelcol.exporter.awss3component as it was not wired in to the otel component and Alloy does not currently integrate the upstream encoding extensions that this would utilize.
-
Add a
otelcol.receiver.tcplogcomponent to receive OpenTelemetry logs over a TCP connection. (@nosammai) -
(Public preview) Add
otelcol.receiver.filelogcomponent to read otel log entries from files (@dehaansa) -
(Public preview) Add a
otelcol.processor.cumulativetodeltacomponent to convert metrics from cumulative temporality to delta. (@madaraszg-tulip) -
(Experimental) Add a
stage.windowseventblock in theloki.processcomponent. This aims to replace the existingstage.eventlogmessage. (@wildum) -
Add
pyroscope.relabelcomponent to modify or filter profiles using Prometheus relabeling rules. (@marcsanmi) -
(Experimental) A new
foreachblock which starts an Alloy pipeline for each item inside a list. (@wildum, @thampiotr, @ptodev)
-
Upgrade to OpenTelemetry Collector v0.119.0 (@dehaansa):
otelcol.processor.resourcedetection: additional configuration for theec2detector to configure retry behaviorotelcol.processor.resourcedetection: additional configuration for thegcpdetector to collect Managed Instance Group attributesotelcol.processor.resourcedetection: additional configuration for theeksdetector to collect cloud account attributesotelcol.processor.resourcedetection: addkubeadmdetector to collect local cluster attributesotelcol.processor.cumulativetodelta: addmetric_typesfiltering optionsotelcol.exporter.awss3: support configuring sending_queue behaviorotelcol.exporter.otlphttp: support configuringcompression_params, which currently only includeslevelconfigtls: opentelemetry components with tls config now support specifying TLS curve preferencessending_queue: opentelemetry exporters with asending_queuecan now configure the queue to beblocking
-
Add
go_table_fallbackarg topyroscope.ebpf(@korniltsev) -
Memory optimizations in
pyroscope.scrape(@korniltsev) -
Do not drop
__metalabels inpyroscope.scrape. (@korniltsev) -
Add the possibility to export span events as logs in
otelcol.connector.spanlogs. (@steve-hb) -
Add json format support for log export via faro receiver (@ravishankar15)
-
(Experimental) Various changes to the experimental component
database_observability.mysql:connection_info: add namespace to the metric (@cristiangreco)query_sample: better support for table name parsing (@cristiangreco)query_sample: capture schema name for query samples (@cristiangreco)query_sample: fix error handling during result set iteration (@cristiangreco)query_sample: improve parsing of truncated queries (@cristiangreco)query_sample: split out sql parsing logic to a separate file (@cristiangreco)schema_table: add table columns parsing (@cristiagreco)schema_table: correctly quote schema and table name in SHOW CREATE (@cristiangreco)schema_table: fix handling of view table types when detecting schema (@matthewnolf)schema_table: refactor cache config in schema_table collector (@cristiangreco)- Component: add enable/disable collector configurability to
database_observability.mysql. This removes thequery_samples_enabledargument, now configurable via enable/disable collector. (@fridgepoet) - Component: always log
instancelabel key (@cristiangreco) - Component: better error handling for collectors (@cristiangreco)
- Component: use labels for some indexed logs elements (@cristiangreco)
-
Reduce CPU usage of
loki.source.windowseventby up to 85% by updating the bookmark file every 10 seconds instead of after every event and by optimizing the retrieval of the process name. (@wildum) -
Ensure consistent service_name label handling in
pyroscope.receive_httpto match Pyroscope's behavior. (@marcsanmi) -
Improved memory and CPU performance of Prometheus pipelines by changing the underlying implementation of targets (@thampiotr)
-
Add
config_merge_strategyinprometheus.exporter.snmpto optionally merge custom snmp config with embedded config instead of replacing. Useful for providing SNMP auths. (@v-zhuravlev) -
Upgrade
beyla.ebpfto v2.0.4. The full list of changes can be found in the Beyla release notes. (@marctc)
-
Fix log rotation for Windows in
loki.source.fileby refactoring the component to use the runner pkg. This should also reduce CPU consumption when tailing a lot of files in a dynamic environment. (@wildum) -
Add livedebugging support for
prometheus.remote_write(@ravishankar15) -
Add livedebugging support for
otelcol.connector.*components (@wildum) -
Bump snmp_exporter and embedded modules to 0.27.0. Add support for multi-module handling by comma separation and expose argument to increase SNMP polling concurrency for
prometheus.exporter.snmp. (@v-zhuravlev) -
Add support for pushv1.PusherService Connect API in
pyroscope.receive_http. (@simonswine) -
Fixed an issue where
loki.processwould sometimes output live debugging entries out-of-order (@thampiotr) -
Fixed a bug where components could be evaluated concurrently without the full context during a config reload (@wildum)
-
Fixed locks that wouldn't be released in the remotecfg service if some errors occurred during the configuration reload (@spartan0x117)
-
Fix issue with
prometheus.write.queuethat lead to excessive connections. (@mattdurham) -
Fixed a bug where
loki.source.awsfirehoseandloki.source.gcplogcould not be used from within a module. (@tpaschalis) -
Fix an issue where Prometheus metric name validation scheme was set by default to UTF-8. It is now set back to the previous "legacy" scheme. An experimental flag
--feature.prometheus.metric-validation-schemecan be used to switch it toutf-8to experiment with UTF-8 support. (@thampiotr)
- Upgrading to Prometheus v2.54.1. (@ptodev)
-
discovery.dockerhas a newmatch_first_networkattribute for matching the first network if the container has multiple networks defined, thus avoiding collecting duplicate targets. -
discovery.ec2,discovery.kubernetes,discovery.openstack, anddiscovery.ovhcloudadd extra__meta_labels. -
prometheus.remote_writesupports Azure OAuth and Azure SDK authentication. -
discovery.linodehas a newregionattribute, as well as extra__meta_labels. -
A new
scrape_native_histogramsargument forprometheus.scrape. This is enabled by default and can be used to explicitly disable native histogram support. In previous versions of Alloy, native histogram support has also been enabled by default as long asscrape_protocolsstarts withPrometheusProto. -
Change the stability of the
remotecfgfeature from "public preview" to "generally available". (@erikbaranowski)
-
- Resolve issue with Beyla starting. (@rafaelroquetto)
- Upgrade to OpenTelemetry Collector v0.116.0:
otelcol.processor.tailsampling: Change decision precedence when usingand_sub_policyandinvert_match. For more information, see the release notes for Alloy 1.6.
-
Add support for TLS to
prometheus.write.queue. (@mattdurham) -
Add
otelcol.receiver.syslogcomponent to receive otel logs in syslog format (@dehaansa) -
Add support for metrics in
otelcol.exporter.loadbalancing(@madaraszg-tulip) -
Add
add_cloudwatch_timestamptoprometheus.exporter.cloudwatchmetrics. (@captncraig) -
Add support to
prometheus.operator.servicemonitorsto allowendpointslicerole. (@yoyosir) -
Add
otelcol.exporter.splunkhecallowing to export otel data to Splunk HEC (@adlotsof) -
Add
otelcol.receiver.solacecomponent to receive traces from a Solace broker. (@wildum) -
Add
otelcol.exporter.syslogcomponent to export logs in syslog format (@dehaansa) -
(Experimental) Add a
database_observability.mysqlcomponent to collect mysql performance data. (@cristiangreco & @matthewnolf) -
Add
otelcol.receiver.influxdbto convert influx metric into OTEL. (@EHSchmitt4395) -
Add a new
/-/healthyendpoint which returns HTTP 500 if one or more components are unhealthy. (@ptodev)
-
Improved performance by reducing allocation in Prometheus write pipelines by ~30% (@thampiotr)
-
Update
prometheus.write.queueto support v2 for cpu performance. (@mattdurham) -
(Experimental) Add health reporting to
database_observability.mysqlcomponent (@cristiangreco) -
Add second metrics sample to the support bundle to provide delta information (@dehaansa)
-
Add all raw configuration files & a copy of the latest remote config to the support bundle (@dehaansa)
-
Add relevant golang environment variables to the support bundle (@dehaansa)
-
Add support for server authentication to otelcol components. (@aidaleuc)
-
Update mysqld_exporter from v0.15.0 to v0.16.0 (including 2ef168bf6), most notable changes: (@cristiangreco)
- Support MySQL 8.4 replicas syntax
- Fetch lock time and cpu time from performance schema
- Fix fetching tmpTables vs tmpDiskTables from performance_schema
- Skip SPACE_TYPE column for MariaDB >=10.5
- Fixed parsing of timestamps with non-zero padded days
- Fix auto_increment metric collection errors caused by using collation in INFORMATION_SCHEMA searches
- Change processlist query to support ONLY_FULL_GROUP_BY sql_mode
- Add perf_schema quantile columns to collector
-
Live Debugging button should appear in UI only for supported components (@ravishankar15)
-
Add three new stdlib functions to_base64, from_URLbase64 and to_URLbase64 (@ravishankar15)
-
Add
ignore_older_thanoption for local.file_match (@ravishankar15) -
Add livedebugging support for discovery components (@ravishankar15)
-
Add livedebugging support for
discover.relabel(@ravishankar15) -
Performance optimization for live debugging feature (@ravishankar15)
-
Upgrade
github.com/goccy/go-jsonto v0.10.4, which reduces the memory consumption of an Alloy instance by 20MB. If Alloy is running certain otelcol components, this reduction will not apply. (@ptodev) -
improve performance in regexp component: call fmt only if debug is enabled (@r0ka)
-
Update
prometheus.write.queuelibrary for performance increases in cpu. (@mattdurham) -
Update
loki.secretfilterto be compatible with the new[[rules.allowlists]]gitleaks allowlist format (@romain-gaillard) -
Update
async-profilerbinaries forpyroscope.javato 3.0-fa937db (@aleks-p) -
Reduced memory allocation in discovery components by up to 30% (@thampiotr)
-
Fix issue where
alloy_prometheus_relabel_metrics_processedwas not being incremented. (@mattdurham) -
Fixed issue with automemlimit logging bad messages and trying to access cgroup on non-linux builds (@dehaansa)
-
Fixed issue with reloading configuration and prometheus metrics duplication in
prometheus.write.queue. (@mattdurham) -
Updated
prometheus.write.queueto fix issue with TTL comparing different scales of time. (@mattdurham) -
Fixed an issue in the
prometheus.operator.servicemonitors,prometheus.operator.podmonitorsandprometheus.operator.probesto support capitalized actions. (@QuentinBisson) -
Fixed an issue where the
otelcol.processor.intervalcould not be used because the debug metrics were not set to default. (@wildum) -
Fixed an issue where
loki.secretfilterwould crash if the secret was shorter than thepartial_maskvalue. (@romain-gaillard) -
Change the log level in the
eventlogmessagestage of theloki.processcomponent fromwarntodebug. (@wildum) -
Fix a bug in
loki.source.kafkawhere thetopicsargument incorrectly used regex matching instead of exact matches. (@wildum)
-
Change the stability of the
livedebuggingfeature from "experimental" to "generally available". (@wildum) -
Use Go 1.23.3 for builds. (@mattdurham)
-
Upgrade Beyla to v1.9.6. (@wildum)
-
Upgrade to OpenTelemetry Collector v0.116.0:
-
otelcol.receiver.datadog: Return a json reponse instead of "OK" when a trace is received with a newer protocol version. open-telemetry/opentelemetry-collector-contrib#35705 -
otelcol.receiver.datadog: Changes response message for/api/v1/check_run202 response to be JSON and on par with Datadog API spec open-telemetry/opentelemetry-collector-contrib#36029 -
otelcol.receiver.solace: The Solace receiver may unexpectedly terminate on reporting traces when used with a memory limiter processor and under high load. open-telemetry/opentelemetry-collector-contrib#35958 -
otelcol.receiver.solace: Support converting the newMove to Dead Message Queueand newDeletespans generated by Solace Event Broker to OTLP. open-telemetry/opentelemetry-collector-contrib#36071 -
otelcol.exporter.datadog: Stop prefixinghttp_server_duration,http_server_request_sizeandhttp_server_response_sizewithotelcol. open-telemetry/opentelemetry-collector-contrib#36265 These metrics can be from SDKs rather than collector. Stop prefixing them to be consistent with https://opentelemetry.io/docs/collector/internal-telemetry/#lists-of-internal-metrics -
otelcol.receiver.datadog: Add json handling for theapi/v2/seriesendpoint in the datadogreceiver. open-telemetry/opentelemetry-collector-contrib#36218 -
otelcol.processor.span: Add a newkeep_original_nameconfiguration argument to keep the original span name when extracting attributes from the span name. open-telemetry/opentelemetry-collector-contrib#36397 -
pkg/ottl: Respect thedepthoption when flattening slices usingflatten. Thedepthoption is also now required to be at least1. open-telemetry/opentelemetry-collector-contrib#36198 -
otelcol.exporter.loadbalancing: Shutdown exporters during collector shutdown. This fixes a memory leak. open-telemetry/opentelemetry-collector-contrib#36024 -
otelcol.processor.k8sattributes: Newwait_for_metadataandwait_for_metadata_timeoutconfiguration arguments, which block the processor startup until metadata is received from Kubernetes. open-telemetry/opentelemetry-collector-contrib#32556 -
otelcol.processor.k8sattributes: Enable thek8sattr.fieldExtractConfigRegex.disallowfor all Alloy instances, to retain the behavior ofregexargument in theannotationandlabelblocks. When the feature gate is "deprecated" in the upstream Collector, Alloy users will need to use the transform processor instead. open-telemetry/opentelemetry-collector-contrib#25128 -
otelcol.receiver.vcenter: The existing code did not honor TLS settings beyond 'insecure'. All TLS client config should now be honored. open-telemetry/opentelemetry-collector-contrib#36482 -
otelcol.receiver.opencensus: Do not report error message when OpenCensus receiver is shutdown cleanly. open-telemetry/opentelemetry-collector-contrib#36622 -
otelcol.processor.k8sattributes: Fixed parsing of k8s image names to support images with tags and digests. open-telemetry/opentelemetry-collector-contrib#36145 -
otelcol.exporter.loadbalancing: Adding sending_queue, retry_on_failure and timeout settings to loadbalancing exporter configuration. open-telemetry/opentelemetry-collector-contrib#35378 -
otelcol.exporter.loadbalancing: The k8sresolver was triggering exporter churn in the way the change event was handled. open-telemetry/opentelemetry-collector-contrib#35658 -
otelcol.processor.k8sattributes: Override extracted k8s attributes if original value has been empty. open-telemetry/opentelemetry-collector-contrib#36466 -
otelcol.exporter.awss3: Upgrading to adopt aws sdk v2. open-telemetry/opentelemetry-collector-contrib#36698 -
pkg/ottl: GetXML Converter now supports selecting text, CDATA, and attribute (value) content. -
otelcol.exporter.loadbalancing: Adds a an optionalreturn_hostnamesconfiguration argument to the k8s resolver. open-telemetry/opentelemetry-collector-contrib#35411 -
otelcol.exporter.kafka,otelcol.receiver.kafka: Add a newAWS_MSK_IAM_OAUTHBEARERmechanism. This mechanism use the AWS MSK IAM SASL Signer for Go https://github.com/aws/aws-msk-iam-sasl-signer-go. open-telemetry/opentelemetry-collector-contrib#32500 -
Use Go 1.23.5 for builds. (@wildum)
-
-
Logs from underlying clustering library
memberlistare now surfaced with correct level (@thampiotr) -
Allow setting
informer_sync_timeoutin prometheus.operator.* components. (@captncraig) -
For sharding targets during clustering,
loki.source.podlogsnow only takes into account some labels. (@ptodev) -
Improve instrumentation of
pyroscope.relabelcomponent. (@marcsanmi)
-
Fixed an issue in the
pyroscope.writecomponent to prevent TLS connection churn to Pyroscope when thepyroscope.receive_httpclients don't request keepalive (@madaraszg-tulip) -
Fixed an issue in the
pyroscope.writecomponent with multiple endpoints not working correctly for forwarding profiles frompyroscope.receive_http(@madaraszg-tulip) -
Fixed a few race conditions that could lead to a deadlock when using
importstatements, which could lead to a memory leak on/metricsendpoint of an Alloy instance. (@thampiotr) -
Fix a race condition where the ui service was dependent on starting after the remotecfg service, which is not guaranteed. (@dehaansa & @erikbaranowski)
-
Fixed an issue in the
otelcol.exporter.prometheuscomponent that would set series value incorrectly for stale metrics (@YusifAghalar) -
loki.source.podlogs: Fixed a bug which prevented clustering from working and caused duplicate logs to be sent. The bug only happened when noselectorornamespace_selectorblocks were specified in the Alloy configuration. (@ptodev) -
Fixed an issue in the
pyroscope.writecomponent to allow slashes in application names in the same way it is done in the Pyroscope push API (@marcsanmi) -
Fixed a crash when updating the configuration of
remote.http. (@kinolaev) -
Fixed an issue in the
otelcol.processor.attributecomponent where the actionsdeleteandhashcould not be used with thepatternargument. (@wildum) -
Fixed an issue in the
prometheus.exporter.postgrescomponent that would leak goroutines when the target was not reachable (@dehaansa)
-
import.git: The default value forrevisionhas changed fromHEADtomain. (@ptodev) It is no longer allowed to setrevisionto"HEAD","FETCH_HEAD","ORIG_HEAD","MERGE_HEAD", or"CHERRY_PICK_HEAD". -
The Otel update to v0.112.0 has a few breaking changes:
- [
otelcol.processor.deltatocumulative] Changemax_streamsdefault value to9223372036854775807(max int). open-telemetry/opentelemetry-collector-contrib#35048 - [
otelcol.connector.spanmetrics] Changenamespacedefault value totraces.span.metrics. open-telemetry/opentelemetry-collector-contrib#34485 - [
otelcol.exporter.logging] Removed in favor of theotelcol.exporter.debug. open-telemetry/opentelemetry-collector#11337
- [
-
Add support bundle generation via the API endpoint /-/support (@dehaansa)
-
Add the function
path_jointo the stdlib. (@wildum) -
Add
pyroscope.receive_httpcomponent to receive and forward Pyroscope profiles (@marcsanmi) -
Add support to
loki.source.syslogfor the RFC3164 format ("BSD syslog"). (@sushain97) -
Add support to
loki.source.apito be able to extract the tenant from the HTTPX-Scope-OrgIDheader (@QuentinBisson) -
(Experimental) Add a
loki.secretfiltercomponent to redact secrets from collected logs. -
(Experimental) Add a
prometheus.write.queuecomponent to add an alternative toprometheus.remote_writewhich allowing the writing of metrics to a prometheus endpoint. (@mattdurham) -
(Experimental) Add the
array.combine_mapsfunction to the stdlib. (@ptodev, @wildum)
-
The
mimir.rules.kubernetescomponent now supports adding extra label matchers to all queries discovered viaPrometheusRuleCRDs. (@thampiotr) -
The
cluster.use-discovery-v1flag is now deprecated since there were no issues found with the v2 cluster discovery mechanism. (@thampiotr) -
SNMP exporter now supports labels in both
targetandtargetsparameters. (@mattdurham) -
Add support for relative paths to
import.file. This new functionality allows users to useimport.fileblocks in modules imported viaimport.gitand otherimport.file. (@wildum) -
prometheus.exporter.cloudwatch: Thediscoveryblock now has arecently_active_onlyconfiguration attribute to return only metrics which have been active in the last 3 hours. -
Add Prometheus bearer authentication to a
prometheus.write.queuecomponent (@freak12techno) -
Support logs that have a
timestampfield instead of atimefield for theloki.source.azure_event_hubscomponent. (@andriikushch) -
Add
proxy_urltootelcol.exporter.otlphttp. (@wildum) -
Allow setting
informer_sync_timeoutin prometheus.operator.* components. (@captncraig)
-
Fixed a bug in
import.gitwhich caused a"non-fast-forward update"error message. (@ptodev) -
Do not log error on clean shutdown of
loki.source.journal. (@thampiotr) -
prometheus.operator.*components: Fixed a bug which would sometimes cause a "failed to create service discovery refresh metrics" error after a config reload. (@ptodev)
-
Small fix in UI stylesheet to fit more content into visible table area. (@defanator)
-
Changed OTEL alerts in Alloy mixin to use success rate for tracing. (@thampiotr)
-
Support TLS client settings for clustering (@tiagorossig)
-
Add support for
not_modifiedresponse inremotecfg. (@spartan0x117) -
Fix dead link for RelabelConfig in the PodLog documentation page (@TheoBrigitte)
-
Most notable changes coming with the OTel update from v0.108.0 vo v0.112.0 besides the breaking changes: (@wildum)
- [
http config] Add support for lz4 compression. open-telemetry/opentelemetry-collector#9128 - [
otelcol.processor.interval] Add support for gauges and summaries. open-telemetry/opentelemetry-collector-contrib#34803 - [
otelcol.receiver.kafka] Add possibility to tune the fetch sizes. open-telemetry/opentelemetry-collector-contrib#34431 - [
otelcol.processor.tailsampling] Addinvert_matchto boolean attribute. open-telemetry/opentelemetry-collector-contrib#34730 - [
otelcol.receiver.kafka] Add support to decode tootlp_json. open-telemetry/opentelemetry-collector-contrib#33627 - [
otelcol.processor.transform] Add functionsconvert_exponential_histogram_to_histogramandaggregate_on_attribute_value. open-telemetry/opentelemetry-collector-contrib#33824 open-telemetry/opentelemetry-collector-contrib#33423
- [
-
Fix an issue where some
faro.receiverwould drop multiple fields defined inpayload.meta.browser, as fields were defined in the struct. -
pyroscope.scrapeno longer tries to scrape endpoints which are not active targets anymore. (@wildum @mattdurham @dehaansa @ptodev) -
Fixed a bug with
loki.source.podlogsnot starting in large clusters due to short informer sync timeout. (@elburnetto-intapp) -
prometheus.exporter.windows: Fixed bug withexcluderegular expression config arguments which caused missing metrics. (@ptodev)
-
Update windows_exporter from v0.27.2 vo v0.27.3: (@jkroepke)
- Fixes a bug where scraping Windows service crashes alloy
-
Update yet-another-cloudwatch-exporter from v0.60.0 vo v0.61.0: (@morremeyer)
- Fixes a bug where cloudwatch S3 metrics are reported as
0
- Fixes a bug where cloudwatch S3 metrics are reported as
-
Issue 1687 - otelcol.exporter.awss3 fails to configure (@cydergoth)
- Fix parsing of the Level configuration attribute in debug_metrics config block
- Ensure "optional" debug_metrics config block really is optional
-
Fixed an issue with
loki.processwherestage.luhnandstage.timestampwould not apply default configuration settings correctly (@thampiotr) -
Fixed an issue with
loki.processwhere configuration could be reloaded even if there were no changes. (@ptodev, @thampiotr) -
Fix issue where
loki.source.kubernetestook into account all labels, instead of specific logs labels. Resulting in duplication. (@mattdurham)
- Windows installer: Don't quote Alloy's binary path in the Windows Registry. (@jkroepke)
- Add quotes to windows service path to prevent path interception attack. CVE-2024-8975 (@mattdurham)
-
Some debug metrics for
otelcolcomponents have changed. (@thampiotr) For example,otelcol.exporter.otlp'sexporter_sent_spans_ratio_totalmetric is nowotelcol_exporter_sent_spans_total. -
[otelcol.processor.transform] The functions
convert_sum_to_gaugeandconvert_gauge_to_summust now be used in themetriccontextrather than in thedatapointcontext. open-telemetry/opentelemetry-collector-contrib#34567 (@wildum) -
Upgrade Beyla from 1.7.0 to 1.8.2. A complete list of changes can be found on the Beyla releases page: https://github.com/grafana/beyla/releases. (@wildum) It contains a few breaking changes for the component
beyla.ebpf:- renamed metric
process.cpu.statetocpu.mode - renamed metric
beyla_build_infotobeyla_internal_build_info
- renamed metric
- Added Datadog Exporter community component, enabling exporting of otel-formatted Metrics and traces to Datadog. (@polyrain)
- (Experimental) Add an
otelcol.processor.intervalcomponent to aggregate metrics and periodically forward the latest values to the next component in the pipeline.
-
Clustering peer resolution through
--cluster.join-addressesflag has been improved with more consistent behaviour, better error handling and added support for A/AAAA DNS records. If necessary, users can temporarily opt out of this new behaviour with the--cluster.use-discovery-v1, but this can only be used as a temporary measure, since this flag will be disabled in future releases. (@thampiotr) -
Added a new panel to Cluster Overview dashboard to show the number of peers seen by each instance in the cluster. This can help diagnose cluster split brain issues. (@thampiotr)
-
Updated Snowflake exporter with performance improvements for larger environments. Also added a new panel to track deleted tables to the Snowflake mixin. (@Caleb-Hurshman)
-
Add a
otelcol.processor.groupbyattrscomponent to reassociate collected metrics that match specified attributes from opentelemetry. (@kehindesalaam) -
Update windows_exporter to v0.27.2. (@jkroepke) The
smb.enabled_listandsmb_client.enabled_listdoesn't have any effect anymore. All sub-collectors are enabled by default. -
Live debugging of
loki.processwill now also print the timestamp of incoming and outgoing log lines. This is helpful for debuggingstage.timestamp. (@ptodev) -
Add extra validation in
beyla.ebpfto avoid panics when network feature is enabled. (@marctc) -
A new parameter
aws_sdk_version_v2is added for the cloudwatch exporters configuration. It enables the use of aws sdk v2 which has shown to have significant performance benefits. (@kgeckhart, @andriikushch) -
prometheus.exporter.cloudwatchcan now collect metrics from custom namespaces via thecustom_namespaceblock. (@ptodev) -
Add the label
alloy_clusterin the metricalloy_config_hashwhen the flagcluster.nameis set to help differentiate between configs from the same alloy cluster or different alloy clusters. (@wildum) -
Add support for discovering the cgroup path(s) of a process in
process.discovery. (@mahendrapaipuri)
-
Fix a bug where the scrape timeout for a Probe resource was not applied, overwriting the scrape interval instead. (@morremeyer, @stefanandres)
-
Fix a bug where custom components don't always get updated when the config is modified in an imported directory. (@ante012)
-
Fixed an issue which caused loss of context data in Faro exception. (@codecapitano)
-
Fixed an issue where providing multiple hostnames or IP addresses via
--cluster.join-addresseswould only use the first provided value. (@thampiotr) -
Fixed an issue where providing
<hostname>:<port>in--cluster.join-addresseswould only resolve with DNS to a single address, instead of using all the available records. (@thampiotr) -
Fixed an issue where clustering peers resolution via hostname in
--cluster.join-addressesresolves to duplicated IP addresses when using SRV records. (@thampiotr) -
Fixed an issue where the
connection_stringfor theloki.source.azure_event_hubscomponent was displayed in the UI in plaintext. (@MorrisWitthein) -
Fix a bug in
discovery.*components where oldtargetswould continue to be exported to downstream components. This would only happen if the config fordiscovery.*is reloaded in such a way that no new targets were discovered. (@ptodev, @thampiotr) -
Fixed bug in
loki.processwithsamplingstage where all components use samedrop_counter_reason. (@captncraig) -
Fixed an issue (see #1599) where specifying both path and key in the remote.vault
pathconfiguration could result in incorrect URLs. Thepathandkeyarguments have been separated to allow for clear and accurate specification of Vault secrets. (@PatMis16)
-
Renamed standard library functions. Old names are still valid but are marked deprecated. (@wildum)
-
Aliases for the namespaces are deprecated in the Cloudwatch exporter. For example: "s3" is not allowed, "AWS/S3" should be used. Usage of the aliases will generate warnings in the logs. Support for the aliases will be dropped in the upcoming releases. (@kgeckhart, @andriikushch)
-
Update OTel from v0.105.0 vo v0.108.0: (@wildum)
- [
otelcol.receiver.vcenter] New VSAN metrics. open-telemetry/opentelemetry-collector-contrib#33556 - [
otelcol.receiver.kafka] Addsession_timeoutandheartbeat_intervalattributes. open-telemetry/opentelemetry-collector-contrib#33082 - [
otelcol.processor.transform] Addaggregate_on_attributesfunction for metrics. open-telemetry/opentelemetry-collector-contrib#33334 - [
otelcol.receiver.vcenter] Enable metrics by default open-telemetry/opentelemetry-collector-contrib#33607
- [
-
Updated the docker base image to Ubuntu 24.04 (Noble Numbat). (@mattiasa )
- Windows installer: Don't quote Alloy's binary path in the Windows Registry. (@jkroepke)
- Add quotes to windows service path to prevent path interception attack. CVE-2024-8975 (@mattdurham)
-
Changed the cluster startup behaviour, reverting to the previous logic where a failure to resolve cluster join peers results in the node creating its own cluster. This is to facilitate the process of bootstrapping a new cluster following user feedback (@thampiotr)
-
Fix a memory leak which would occur any time
loki.processhad its configuration reloaded. (@ptodev)
- [
otelcol.exporter.otlp,otelcol.exporter.loadbalancing]: Change the default gRPC load balancing strategy. The default value for thebalancer_nameattribute has changed toround_robinopen-telemetry/opentelemetry-collector#10319
-
Update Public preview
remotecfgargument frommetadatatoattributes. (@erikbaranowski) -
The default value of the argument
unmatchedin the blockroutesof the componentbeyla.ebpfwas changed fromunsettoheuristic(@marctc)
-
Added community components support, enabling community members to implement and maintain components. (@wildum)
-
A new
otelcol.exporter.debugcomponent for printing OTel telemetry from otherotelcolcomponents to the console. (@BarunKGP)
-
Added custom metrics capability to oracle exporter. (@EHSchmitt4395)
-
Added a success rate panel on the Prometheus Components dashboard. (@thampiotr)
-
Add namespace field to Faro payload (@cedricziel)
-
Add the
targetsargument to theprometheus.exporter.blackboxcomponent to support passing blackbox targets at runtime. (@wildum) -
Add concurrent metric collection to
prometheus.exporter.snowflaketo speed up collection times (@Caleb-Hurshman) -
Added live debugging support to
otelcol.processor.*components. (@wildum) -
Add automatic system attributes for
versionandostoremotecfg. (@erikbaranowski) -
Added live debugging support to
otelcol.receiver.*components. (@wildum) -
Added live debugging support to
loki.process. (@wildum) -
Added live debugging support to
loki.relabel. (@wildum) -
Added a
namespacelabel to probes scraped by theprometheus.operator.probescomponent to align with the upstream Prometheus Operator setup. (@toontijtgat2) -
(Public preview) Added rate limiting of cluster state changes to reduce the number of unnecessary, intermediate state updates. (@thampiotr)
-
Allow setting the CPU profiling event for Java Async Profiler in
pyroscope.javacomponent (@slbucur) -
Update windows_exporter to v0.26.2. (@jkroepke)
-
mimir.rules.kubernetesis now able to add extra labels to the Prometheus rules. (@psychomantys) -
prometheus.exporter.unixcomponent now exposes hwmon collector config. (@dtrejod) -
Upgrade from OpenTelemetry v0.102.1 to v0.105.0.
- [
otelcol.receiver.*] A newcompression_algorithmsattribute to configure which compression algorithms are allowed by the HTTP server. open-telemetry/opentelemetry-collector#10295 - [
otelcol.exporter.*] Fix potential deadlock in the batch sender. open-telemetry/opentelemetry-collector#10315 - [
otelcol.exporter.*] Fix a bug when the retry and timeout logic was not applied with enabled batching. open-telemetry/opentelemetry-collector#10166 - [
otelcol.exporter.*] Fix a bug where an unstarted batch_sender exporter hangs on shutdown. open-telemetry/opentelemetry-collector#10306 - [
otelcol.exporter.*] Fix small batch due to unfavorable goroutine scheduling in batch sender. open-telemetry/opentelemetry-collector#9952 - [
otelcol.exporter.otlphttp] A newcookiesblock to store cookies from server responses and reuse them in subsequent requests. open-telemetry/opentelemetry-collector#10175 - [
otelcol.exporter.otlp] Fixed a bug where the receiver's http response was not properly translating grpc error codes to http status codes. open-telemetry/opentelemetry-collector#10574 - [
otelcol.processor.tail_sampling] Simple LRU Decision Cache for "keep" decisions. open-telemetry/opentelemetry-collector-contrib#33533 - [
otelcol.processor.tail_sampling] Fix precedence of inverted match in and policy. Previously if the decision from a policy evaluation wasNotSampledorInvertNotSampledit would return aNotSampleddecision regardless, effectively downgrading the result. This was breaking the documented behaviour that inverted decisions should take precedence over all others. open-telemetry/opentelemetry-collector-contrib#33671 - [
otelcol.exporter.kafka,otelcol.receiver.kafka] Add config attribute to disable Kerberos PA-FX-FAST negotiation. open-telemetry/opentelemetry-collector-contrib#26345 - [
OTTL]: Addedkeep_matching_keysfunction to allow dropping all keys from a map that don't match the pattern. open-telemetry/opentelemetry-collector-contrib#32989 - [
OTTL]: Add debug logs to help troubleshoot OTTL statements/conditions open-telemetry/opentelemetry-collector-contrib#33274 - [
OTTL]: Introducingappendfunction for appending items into an existing array. open-telemetry/opentelemetry-collector-contrib#32141 - [
OTTL]: IntroducingUriconverter parsing URI string into SemConv open-telemetry/opentelemetry-collector-contrib#32433 - [
OTTL]: Added a Hex() converter function open-telemetry/opentelemetry-collector-contrib#33450 - [
OTTL]: Added a IsRootSpan() converter function. open-telemetry/opentelemetry-collector-contrib#33729 - [
otelcol.processor.probabilistic_sampler]: Add Proportional and Equalizing sampling modes. open-telemetry/opentelemetry-collector-contrib#31918 - [
otelcol.processor.deltatocumulative]: Bugfix to properly drop samples when at limit. open-telemetry/opentelemetry-collector-contrib#33285 - [
otelcol.receiver.vcenter] Fixes errors in some of the client calls for environments containing multiple datacenters. open-telemetry/opentelemetry-collector-contrib#33735 - [
otelcol.processor.resourcedetection] Fetch CPU info only if related attributes are enabled. open-telemetry/opentelemetry-collector-contrib#33774 - [
otelcol.receiver.vcenter] Adding metrics for CPU readiness, CPU capacity, and network drop rate. open-telemetry/opentelemetry-collector-contrib#33607 - [
otelcol.receiver.vcenter] Drop support for vCenter 6.7. open-telemetry/opentelemetry-collector-contrib#33607 - [
otelcol.processor.attributes] Add an option to extract value from a client address by specifyingclient.addressvalue in thefrom_contextfield. open-telemetry/opentelemetry-collector-contrib#34048 otelcol.connector.spanmetrics: Produce delta temporality span metrics with StartTimeUnixNano and TimeUnixNano values representing an uninterrupted series. open-telemetry/opentelemetry-collector-contrib#31780
- [
-
Upgrade Beyla component v1.6.3 to v1.7.0
- Reporting application process metrics
- New supported protocols: SQL, Redis, Kafka
- Several bugfixes
- Full list of changes: https://github.com/grafana/beyla/releases/tag/v1.7.0
-
Enable instances connected to remotecfg-compatible servers to Register themselves to the remote service. (@tpaschalis)
-
Allow in-memory listener to work for remotecfg-supplied components. (@tpaschalis)
-
Fixed a clustering mode issue where a fatal startup failure of the clustering service would exit the service silently, without also exiting the Alloy process. (@thampiotr)
-
Fix a bug which prevented config reloads to work if a Loki
metricsstage is in the pipeline. Previously, the reload would fail forloki.processwithout an error in the logs and the metrics from themetricsstage would get stuck at the same values. (@ptodev)
-
Fixed an issue with
loki.source.kubernetes_eventsnot starting in large clusters due to short informer sync timeout. (@nrwiersma) -
Updated ckit to fix an issue with armv7 panic on startup when forming a cluster. (@imavroukakis)
-
Fixed a clustering mode issue where a failure to perform static peers discovery did not result in a fatal failure at startup and could lead to potential split-brain issues. (@thampiotr)
- Use Go 1.22.5 for builds. (@mattdurham)
- Fixes the following vulnerabilities (@ptodev):
- Updated OpenTelemetry to v0.102.1. (@mattdurham)
- Components
otelcol.receiver.otlp,otelcol.receiver.zipkin,otelcol.extension.jaeger_remote_sampling, andotelcol.receiver.jaegersettingmax_request_body_sizedefault changed from unlimited size to20MiB. This is due to CVE-2024-36129.
- Components
-
Update Public preview
remotecfgto usealloy-remote-configinstead ofagent-remote-config. The API has been updated to use the termcollectoroveragent. (@erikbaranowski) -
Component
otelcol.receiver.vcenterremovedvcenter.host.network.packet.errors,vcenter.host.network.packet.count, andvcenter.vm.network.packet.count.vcenter.host.network.packet.errorsreplaced byvcenter.host.network.packet.error.rate.vcenter.host.network.packet.countreplaced byvcenter.host.network.packet.rate.vcenter.vm.network.packet.countreplaced byvcenter.vm.network.packet.rate.
-
Add an
otelcol.exporter.kafkacomponent to send OTLP metrics, logs, and traces to Kafka. -
Added
live debuggingto the UI. Live debugging streams data as they flow through components for debugging telemetry data. Individual components must be updated to support live debugging. (@wildum) -
Added live debugging support for
prometheus.relabel. (@wildum) -
(Experimental) Add a
otelcol.processor.deltatocumulativecomponent to convert metrics from delta temporality to cumulative by accumulating samples in memory. (@rfratto) -
(Experimental) Add an
otelcol.receiver.datadogcomponent to receive metrics and traces from Datadog. (@carrieedwards, @jesusvazquez, @alexgreenbank, @fedetorres93) -
Add a
prometheus.exporter.catchpointcomponent to collect metrics from Catchpoint. (@bominrahmani) -
Add the
-t/--testflag toalloy fmtto check if a alloy config file is formatted correctly. (@kavfixnel)
-
(Public preview) Add native histogram support to
otelcol.receiver.prometheus. (@wildum) -
(Public preview) Add metrics to report status of
remotecfgservice. (@captncraig) -
Added
scrape_protocolsoption toprometheus.scrape, which allows to control the preferred order of scrape protocols. (@thampiotr) -
Add support for configuring CPU profile's duration scraped by
pyroscope.scrape. (@hainenber) -
prometheus.exporter.snowflake: Add support for RSA key-pair authentication. (@Caleb-Hurshman) -
Improved filesystem error handling when working with
loki.source.fileandlocal.file_match, which removes some false-positive error log messages on Windows (@thampiotr) -
Updates
processor/probabilistic_samplerto use newFailedClosedfield from OTEL release v0.101.0. (@StefanKurek) -
Updates
receiver/vcenterto use new features and bugfixes introduced in OTEL releases v0.100.0 and v0.101.0. Refer to the v0.100.0 and v0.101.0 release notes for more detailed information. Changes that directly affected the configuration are as follows: (@StefanKurek)- The resource attribute
vcenter.datacenter.namehas been added and enabled by default for all resource types. - The resource attribute
vcenter.virtual_app.inventory_pathhas been added and enabled by default to differentiate between resource pools and virtual apps. - The resource attribute
vcenter.virtual_app.namehas been added and enabled by default to differentiate between resource pools and virtual apps. - The resource attribute
vcenter.vm_template.idhas been added and enabled by default to differentiate between virtual machines and virtual machine templates. - The resource attribute
vcenter.vm_template.namehas been added and enabled by default to differentiate between virtual machines and virtual machine templates. - The metric
vcenter.cluster.memory.usedhas been removed. - The metric
vcenter.vm.network.packet.drop.ratehas been added and enabled by default. - The metric
vcenter.cluster.vm_template.counthas been added and enabled by default.
- The resource attribute
-
Add
yaml_decodeto standard library. (@mattdurham, @djcode) -
Allow override debug metrics level for
otelcol.*components. (@hainenber) -
Add an initial lower limit of 10 seconds for the the
poll_frequencyargument in theremotecfgblock. (@tpaschalis) -
Add a constant jitter to
remotecfgservice's polling. (@tpaschalis) -
Added support for NS records to
discovery.dns. (@djcode) -
Improved clustering use cases for tracking GCP delta metrics in the
prometheus.exporter.gcp(@kgeckhart) -
Add the
targetsargument to theprometheus.exporter.snmpcomponent to support passing SNMP targets at runtime. (@wildum) -
Prefix Faro measurement values with
value_to align with the latest Faro cloud receiver updates. (@codecapitano) -
Add
base64_decodeto standard library. (@hainenber) -
Updated OpenTelemetry Contrib to v0.102.0. (@mattdurham)
otelcol.processor.resourcedetection: Added atagsconfig argument to theazuredetection mechanism. It exposes regex-matched Azure resource tags as OpenTelemetry resource attributes.
-
A new
snmp_contextconfiguration argument forprometheus.exporter.snmpwhich overrides thecontext_nameparameter in the SNMP configuration file. (@ptodev) -
Add extra configuration options for
beyla.ebpfto select Kubernetes objects to monitor. (@marctc)
-
Fixed an issue with
prometheus.scrapein which targets that move from one cluster instance to another could have a staleness marker inserted and result in a gap in metrics (@thampiotr) -
Fix panic when
import.gitis given a revision that does not exist on the remote repo. (@hainenber) -
Fixed an issue with
loki.source.dockerwhere collecting logs from targets configured with multiple networks would result in errors. (@wildum) -
Fixed an issue where converting OpenTelemetry Collector configs with unused telemetry types resulted in those types being explicitly configured with an empty array in
outputblocks, rather than them being omitted entirely. (@rfratto)
-
pyroscope.ebpf,pyroscope.java,pyroscope.scrape,pyroscope.writeanddiscovery.processcomponents are now GA. (@korniltsev) -
prometheus.exporter.snmp: Updating SNMP exporter from v0.24.1 to v0.26.0. (@ptodev, @erikbaranowski) -
prometheus.scrapecomponent'senable_protobuf_negotiationargument is now deprecated and will be removed in a future major release. Usescrape_protocolsinstead and refer toprometheus.scrapereference documentation for further details. (@thampiotr) -
Updated Prometheus dependency to v2.51.2 (@thampiotr)
-
Upgrade Beyla from v1.5.1 to v1.6.3. (@marctc)
-
Fix panic when component ID contains
/inotelcomponent.MustNewType(ID).(@qclaogui) -
Exit Alloy immediately if the port it runs on is not available. This port can be configured with
--server.http.listen-addror using the default listen address127.0.0.1:12345. (@mattdurham) -
Fix a panic in
loki.source.dockerwhen trying to stop a target that was never started. (@wildum) -
Fix error on boot when using IPv6 advertise addresses without explicitly specifying a port. (@matthewpi)
-
Fix an issue where having long component labels (>63 chars) on otelcol.auth components lead to a panic. (@tpaschalis)
-
Update
prometheus.exporter.snowflakewith the latest version of the exporter as of May 28, 2024 (@StefanKurek)- Fixes issue where returned
NULLvalues from database could cause unexpected errors.
- Fixes issue where returned
-
Bubble up SSH key conversion error to facilitate failed
import.git. (@hainenber)
-
(Public preview) Add support for setting GOMEMLIMIT based on cgroup setting. (@mattdurham)
-
(Experimental) A new
otelcol.exporter.awss3component for sending telemetry data to a S3 bucket. (@Imshelledin21) -
(Public preview) Introduce BoringCrypto Docker images. The BoringCrypto image is tagged with the
-boringcryptosuffix and is only available on AMD64 and ARM64 Linux containers. (@rfratto, @mattdurham) -
(Public preview) Introduce
boringcryptorelease assets. BoringCrypto builds are publshed for Linux on AMD64 and ARM64 platforms. (@rfratto, @mattdurham) -
otelcol.exporter.loadbalancing: Add a newaws_cloud_mapresolver. (@ptodev) -
Introduce a
otelcol.receiver.file_statscomponent from the upstream OpenTelemetryfilestatsreceivercomponent. (@rfratto)
-
Update
prometheus.exporter.kafkawith the following functionalities (@wildum):- GSSAPI config
- enable/disable PA_FX_FAST
- set a TLS server name
- show the offset/lag for all consumer group or only the connected ones
- set the minimum number of topics to monitor
- enable/disable auto-creation of requested topics if they don't already exist
- regex to exclude topics / groups
- added metric kafka_broker_info
-
In
prometheus.exporter.kafka, the interpolation table used to compute estimated lag metrics is now pruned onmetadata_refresh_intervalinstead ofprune_interval_seconds. (@wildum) -
Don't restart tailers in
loki.source.kubernetescomponent by above-average time deltas if K8s version is >= 1.29.1 (@hainenber) -
In
mimir.rules.kubernetes, add support for running in a cluster of Alloy instances by electing a single instance as the leader for themimir.rules.kubernetescomponent to avoid conflicts when making calls to the Mimir API. (@56quarters) -
Add the possibility of setting custom labels for the AWS Firehose logs via
X-Amz-Firehose-Common-Attributesheader. (@andriikushch)
-
Fixed issue with defaults for Beyla component not being applied correctly. (marctc)
-
Fix an issue on Windows where uninstalling Alloy did not remove it from the Add/Remove programs list. (@rfratto)
-
Fixed issue where text labels displayed outside of component node's boundary. (@hainenber)
-
Fix a bug where a topic was claimed by the wrong consumer type in
otelcol.receiver.kafka. (@wildum) -
Fix an issue where nested import.git config blocks could conflict if they had the same labels. (@wildum)
-
In
mimir.rules.kubernetes, fix an issue where unrecoverable errors from the Mimir API were retried. (@56quarters) -
Fix an issue where
faro.receiver'sextra_log_labelswith empty value don't map existing value in log line. (@hainenber) -
Fix an issue where
prometheus.remote_writeonly queued data for sending every 15 seconds instead of as soon as data was written to the WAL. (@rfratto) -
Imported code using
sloglogging will now not panic and replay correctly when logged before the logging config block is initialized. (@mattdurham) -
Fix a bug where custom components would not shadow the stdlib. If you have a module whose name conflicts with an stdlib function and if you use this exact function in your config, then you will need to rename your module. (@wildum)
-
Fix an issue where
loki.source.dockerstops collecting logs after a container restart. (@wildum) -
Upgrading
pyroscope/ebpffrom 0.4.6 to 0.4.7 (@korniltsev):- detect libc version properly when libc file name is libc-2.31.so and not libc.so.6
- treat elf files with short build id (8 bytes) properly
-
Update
alloy-mixinto use more specific alert group names (for example,alloy_clusteringinstead ofclustering) to avoid collision with installs ofagent-flow-mixin. (@rfratto) -
Upgrade Beyla from v1.4.1 to v1.5.1. (@marctc)
-
Add a description to Alloy DEB and RPM packages. (@rfratto)
-
Allow
pyroscope.scrapeto scrapealloy.internal:12345. (@hainenber) -
The latest Windows Docker image is now pushed as
nanoserver-1809instead oflatest-nanoserver-1809. The old tag will no longer be updated, and will be removed in a future release. (@rfratto) -
The log level of
finished node evaluationlog lines has been decreased to 'debug'. (@tpaschalis) -
Update post-installation scripts for DEB/RPM packages to ensure
/var/lib/alloyexists before configuring its permissions and ownership. (@rfratto) -
Remove setcap for
cap_net_bind_serviceto allow alloy to run in restricted environments. Modern container runtimes allow binding to unprivileged ports as non-root. (@BlackDex) -
Upgrading from OpenTelemetry v0.96.0 to v0.99.0.
otelcol.processor.batch: Prevent starting unnecessary goroutines. open-telemetry/opentelemetry-collector#9739otelcol.exporter.otlp: Checks for port in the config validation for the otlpexporter. open-telemetry/opentelemetry-collector#9505otelcol.receiver.otlp: Fix bug where the otlp receiver did not properly respond with a retryable error code when possible for http. open-telemetry/opentelemetry-collector#9357otelcol.receiver.vcenter: Fixed the resource attribute model to more accurately support multi-cluster deployments. open-telemetry/opentelemetry-collector-contrib#30879 For more information on impacts please refer to: open-telemetry/opentelemetry-collector-contrib#31113 The main impact is thatvcenter.resource_pool.name,vcenter.resource_pool.inventory_path, andvcenter.cluster.nameare reported with more accuracy on VM metrics.otelcol.receiver.vcenter: Remove thevcenter.cluster.nameresource attribute from Host resources if the Host is standalone (no cluster). open-telemetry/opentelemetry-collector-contrib#32548otelcol.receiver.vcenter: Changes process for collecting VMs & VM perf metrics to be more efficient (one call now for all VMs). open-telemetry/opentelemetry-collector-contrib#31837otelcol.connector.servicegraph: Added a newdatabase_name_attributeconfig argument to allow users to specify a custom attribute name for identifying the database name in span attributes. open-telemetry/opentelemetry-collector-contrib#30726otelcol.connector.servicegraph: Fix 'failed to find dimensions for key' error from race condition in metrics cleanup. open-telemetry/opentelemetry-collector-contrib#31701otelcol.connector.spanmetrics: Addmetrics_expirationoption to enable expiration of metrics if spans are not received within a certain time frame. By default, the expiration is disabled (set to 0). open-telemetry/opentelemetry-collector-contrib#30559otelcol.connector.spanmetrics: Change default value ofmetrics_flush_intervalfrom 15s to 60s. open-telemetry/opentelemetry-collector-contrib#31776otelcol.connector.spanmetrics: Discard counter span metric exemplars after each flush interval to avoid unbounded memory growth. This aligns exemplar discarding for counter span metrics with the existing logic for histogram span metrics. open-telemetry/opentelemetry-collector-contrib#31683otelcol.exporter.loadbalancing: Fix panic when a sub-exporter is shut down while still handling requests. open-telemetry/opentelemetry-collector-contrib#31410otelcol.exporter.loadbalancing: Fix memory leaks on shutdown. open-telemetry/opentelemetry-collector-contrib#31050otelcol.exporter.loadbalancing: Support the timeout period of k8s resolver list watch can be configured. open-telemetry/opentelemetry-collector-contrib#31757otelcol.processor.transform: Change metric unit for metrics extracted withextract_count_metric()to be the default unit (1). open-telemetry/opentelemetry-collector-contrib#31575otelcol.receiver.opencensus: Refactor the receiver to pass lifecycle tests and avoid leaking gRPC connections. open-telemetry/opentelemetry-collector-contrib#31643otelcol.extension.jaeger_remote_sampling: Fix leaking goroutine on shutdown. open-telemetry/opentelemetry-collector-contrib#31157otelcol.receiver.kafka: Fix panic on shutdown. open-telemetry/opentelemetry-collector-contrib#31926otelcol.processor.resourcedetection: Only attempt to detect Kubernetes node resource attributes when they're enabled. open-telemetry/opentelemetry-collector-contrib#31941otelcol.processor.resourcedetection: Fix memory leak on AKS. open-telemetry/opentelemetry-collector-contrib#32574otelcol.processor.resourcedetection: Update to ec2 scraper so that core attributes are not dropped if describeTags returns an error (likely due to permissions). open-telemetry/opentelemetry-collector-contrib#30672
-
Use Go 1.22.3 for builds. (@kminehart)
-
Support for programmable pipelines using a rich expression-based syntax.
-
Over 130 components for processing, transforming, and exporting telemetry data.
-
Native support for Kubernetes and Prometheus Operator without needing to deploy or learn a separate Kubernetes operator.
-
Support for creating and sharing custom components.
-
Support for forming a cluster of Alloy instances for automatic workload distribution.
-
(Public preview) Support for receiving configuration from a server for centralized configuration management.
-
A built-in UI for visualizing and debugging pipelines.