diff --git a/CHANGELOG.md b/CHANGELOG.md index 83fbbd67ce..0dbdeb861a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,16 @@ internal API changes are not present. Main (unreleased) ----------------- +### Breaking changes + +- (_Experimental_) In `prometheus.write.queue` changed `parallelism` from attribute to a block to allow for dynamic scaling. (@mattdurham) + ### Features -- - Add `otelcol.receiver.filelog` component to read otel log entries from files (@dehaansa) +- (_Public preview_) Add `otelcol.receiver.filelog` component to read otel log entries from files (@dehaansa) + +- (_Public preview_) Add a `otelcol.processor.cumulativetodelta` component to convert metrics from + cumulative temporality to delta. (@madaraszg-tulip) - (_Experimental_) Add a `stage.windowsevent` block in the `loki.process` component. This aims to replace the existing `stage.eventlogmessage`. (@wildum) @@ -31,24 +38,29 @@ Main (unreleased) - Add json format support for log export via faro receiver (@ravishankar15) - (_Experimental_) Various changes to the experimental component `database_observability.mysql`: - - Always log `instance` label key (@cristiangreco) - - Improve parsing of truncated queries (@cristiangreco) - - Capture schema name for query samples (@cristiangreco) - - Fix handling of view table types when detecting schema (@matthewnolf) - - Fix error handling during result set iteration (@cristiangreco) - - Better support for table name parsing (@cristiangreco) - - Better error handling for components (@cristiangreco) - - Add namespace to `connection_info` metric (@cristiangreco) - - Added table columns parsing (@cristiagreco) - - Add enable/disable collector configurability to `database_observability.mysql`. This removes the `query_samples_enabled` argument, now configurable via enable/disable collector. (@fridgepoet) - - Refactor cache config in schema_table collector (@cristiangreco) - - Use labels for some indexed logs elements (@cristiangreco) - -- Reduce CPU usage of `loki.source.windowsevent` by up to 85% by updating the bookmark file every 10 seconds instead of after every event and by + - `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) + - `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 the `query_samples_enabled` argument, now configurable via enable/disable collector. (@fridgepoet) + - Component: always log `instance` label key (@cristiangreco) + - Component: better error handling for collectors (@cristiangreco) + - Component: use labels for some indexed logs elements (@cristiangreco) + +- Reduce CPU usage of `loki.source.windowsevent` by 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_http` to match Pyroscope's behavior. (@marcsanmi) +- Improved memory and CPU performance of Prometheus pipelines by changing the underlying implementation of targets (@thampiotr) + +- Add `config_merge_strategy` in `prometheus.exporter.snmp` to optionally merge custom snmp config with embedded config instead of replacing. Useful for providing SNMP auths. (@v-zhuravlev) + ### Bugfixes - Fix log rotation for Windows in `loki.source.file` by 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) @@ -63,10 +75,12 @@ Main (unreleased) - Fixed an issue where `loki.process` would 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) + ### Other changes - Upgrading to Prometheus v2.54.1. (@ptodev) - - `discovery.docker` has a new `match_first_network` attribute for matching the first network + - `discovery.docker` has a new `match_first_network` attribute for matching the first network if the container has multiple networks defined, thus avoiding collecting duplicate targets. - `discovery.ec2`, `discovery.kubernetes`, `discovery.openstack`, and `discovery.ovhcloud` add extra `__meta_` labels. @@ -74,9 +88,11 @@ Main (unreleased) - `discovery.linode` has a new `region` attribute, as well as extra `__meta_` labels. - A new `scrape_native_histograms` argument for `prometheus.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 + In previous versions of Alloy, native histogram support has also been enabled by default as long as `scrape_protocols` starts with `PrometheusProto`. + - Change the stability of the `remotecfg` feature from "public preview" to "generally available". (@erikbaranowski) + v1.6.1 ----------------- diff --git a/docs/sources/introduction/supported-platforms.md b/docs/sources/introduction/supported-platforms.md index b79fde02af..c55e22b2e2 100644 --- a/docs/sources/introduction/supported-platforms.md +++ b/docs/sources/introduction/supported-platforms.md @@ -12,8 +12,9 @@ The following operating systems and hardware architecture are supported. ## Linux -* Minimum version: kernel 2.6.32 or later +* Minimum version: kernel 4.x or later * Architectures: AMD64, ARM64 +* Within the Linux distribution lifecycle ## Windows @@ -27,5 +28,5 @@ The following operating systems and hardware architecture are supported. ## FreeBSD -* Minimum version: FreeBSD 10 or later +* Within the FreeBSD lifecycle * Architectures: AMD64 diff --git a/docs/sources/reference/compatibility/_index.md b/docs/sources/reference/compatibility/_index.md index 588946f1dd..f092a5a29b 100644 --- a/docs/sources/reference/compatibility/_index.md +++ b/docs/sources/reference/compatibility/_index.md @@ -310,6 +310,7 @@ The following components, grouped by namespace, _export_ OpenTelemetry `otelcol. - [otelcol.exporter.syslog](../components/otelcol/otelcol.exporter.syslog) - [otelcol.processor.attributes](../components/otelcol/otelcol.processor.attributes) - [otelcol.processor.batch](../components/otelcol/otelcol.processor.batch) +- [otelcol.processor.cumulativetodelta](../components/otelcol/otelcol.processor.cumulativetodelta) - [otelcol.processor.deltatocumulative](../components/otelcol/otelcol.processor.deltatocumulative) - [otelcol.processor.discovery](../components/otelcol/otelcol.processor.discovery) - [otelcol.processor.filter](../components/otelcol/otelcol.processor.filter) @@ -348,6 +349,7 @@ The following components, grouped by namespace, _consume_ OpenTelemetry `otelcol - [otelcol.connector.spanmetrics](../components/otelcol/otelcol.connector.spanmetrics) - [otelcol.processor.attributes](../components/otelcol/otelcol.processor.attributes) - [otelcol.processor.batch](../components/otelcol/otelcol.processor.batch) +- [otelcol.processor.cumulativetodelta](../components/otelcol/otelcol.processor.cumulativetodelta) - [otelcol.processor.deltatocumulative](../components/otelcol/otelcol.processor.deltatocumulative) - [otelcol.processor.discovery](../components/otelcol/otelcol.processor.discovery) - [otelcol.processor.filter](../components/otelcol/otelcol.processor.filter) diff --git a/docs/sources/reference/components/otelcol/otelcol.exporter.kafka.md b/docs/sources/reference/components/otelcol/otelcol.exporter.kafka.md index 912f4aa07a..cfbcad4c06 100644 --- a/docs/sources/reference/components/otelcol/otelcol.exporter.kafka.md +++ b/docs/sources/reference/components/otelcol/otelcol.exporter.kafka.md @@ -87,7 +87,7 @@ authentication > kerberos | [kerberos][] | Authenticates against metadata | [metadata][] | Configures how to retrieve metadata from Kafka brokers. | no metadata > retry | [retry][] | Configures how to retry metadata retrieval. | no retry_on_failure | [retry_on_failure][] | Configures retry mechanism for failed requests. | no -queue | [queue][] | Configures batching of data before sending. | no +sending_queue | [sending_queue][] | Configures batching of data before sending. | no producer | [producer][] | Kafka producer configuration, | no debug_metrics | [debug_metrics][] | Configures the metrics which this component generates to monitor its state. | no @@ -103,7 +103,7 @@ For example, `authentication > tls` refers to a `tls` block defined inside an `a [metadata]: #metadata-block [retry]: #retry-block [retry_on_failure]: #retry_on_failure-block -[queue]: #queue-block +[sending_queue]: #sending_queue-block [producer]: #producer-block [debug_metrics]: #debug_metrics-block @@ -149,9 +149,9 @@ The `retry_on_failure` block configures how failed requests to Kafka are retried {{< docs/shared lookup="reference/components/otelcol-retry-block.md" source="alloy" version="" >}} -### queue block +### sending_queue block -The `queue` block configures an in-memory buffer of batches before data is sent to the gRPC server. +The `sending_queue` block configures an in-memory buffer of batches before data is sent to the gRPC server. {{< docs/shared lookup="reference/components/otelcol-queue-block.md" source="alloy" version="" >}} @@ -243,4 +243,4 @@ Connecting some components may not be sensible or components may require further Refer to the linked documentation for more details. {{< /admonition >}} - \ No newline at end of file + diff --git a/docs/sources/reference/components/otelcol/otelcol.processor.cumulativetodelta.md b/docs/sources/reference/components/otelcol/otelcol.processor.cumulativetodelta.md new file mode 100644 index 0000000000..43721fd6e7 --- /dev/null +++ b/docs/sources/reference/components/otelcol/otelcol.processor.cumulativetodelta.md @@ -0,0 +1,169 @@ +--- +canonical: https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.cumulativetodelta/ +aliases: + - ../otelcol.processor.cumulativetodelta/ # /docs/alloy/latest/reference/otelcol.processor.cumulativetodelta/ +description: Learn about otelcol.processor.cumulativetodelta +labels: + stage: public-preview +title: otelcol.processor.cumulativetodelta +--- + +# `otelcol.processor.cumulativetodelta` + +{{< docs/shared lookup="stability/public_preview.md" source="alloy" version="" >}} + +`otelcol.processor.cumulativetodelta` accepts metrics from other `otelcol` components and converts metrics with the cumulative temporality to delta. + +{{< admonition type="note" >}} +`otelcol.processor.cumulativetodelta` is a wrapper over the upstream OpenTelemetry Collector `cumulativetodelta` processor. +Bug reports or feature requests will be redirected to the upstream repository, if necessary. +{{< /admonition >}} + +You can specify multiple `otelcol.processor.cumulativetodelta` components by giving them different labels. + +## Usage + +```alloy +otelcol.processor.cumulativetodelta "