Skip to content

Latest commit

 

History

History
1492 lines (1041 loc) · 108 KB

CHANGELOG.md

File metadata and controls

1492 lines (1041 loc) · 108 KB

Changelog

v0.28.1

This release includes versions v0.124.0 and v0.124.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.124.0:

v0.124.1:

🛑 Breaking changes 🛑

  • processor/transform: Fix Basic Config style to properly handle cache access. (#38926) The Transform processor now requires only one configuration style per processor's configuration, which means Advanced Config and Basic Config cannot be used together anymore.
Highlights from the upstream Collector changelog

💡 Enhancements 💡

  • exporterhelper: Add support for bytes-based batching for profiles in the exporterhelper package. (#3262)

  • otelcol: Enhance config validation using command to capture all validation errors that prevents the collector from starting. (#8721)

  • exporterhelper: Link batcher context to all batched request's span contexts. (#12212, #8122)

  • k8sattributesprocessor: Add option to configure automatic resource attributes - with annotation prefix (#38825) Implements Specify resource attributes using Kubernetes annotations.

    If you are using the file log receiver, you can now create the same resource attributes as traces (via OTLP) received from an application instrumented with the OpenTelemetry Operator - simply by adding the extract: { otel_annotations: true } configuration to the k8sattributesprocessor processor. See the documentation for more details.

  • ottlprofile: Add OTTL support for profiles. (#36104)

  • pkg/stanza: Use buffer pool for the read buffers to limit allocations" (#39373)

  • spanmetricsconnector: Initialise new calls_total metrics at 0 (#38537)

  • pkg/stanza: Remove unnecessary slice allocation to track errors (even nil) (#39367)

🧰 Bug fixes 🧰

  • confighttp: Ensure http authentication server failures are handled by the provided error handler (#12666)
  • pkg/ottl: Fix OTTL context inference order to prioritize the scope context over resource. (#39155)
  • pkg/ottl: Fix so replace_all_patterns can replace keys using optional function (#32896) When using the replace_all_patterns with key and optional function on the replacement, the value was being replaced with the key. This change fixes that and now the key is replaced as intended.
  • connector/spanmetrics: This change proposes 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. (#35994)
  • receiver/kubeletstats: support user defined CA path for service account using the configtls option ca_file (#39291)
  • receiver/filelog: Remove printing to console the names of files which are read by File Log receiver (#39414)

v0.27.0

This release includes version v0.123.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.123.0:

🛑 Breaking changes 🛑

  • service/telemetry: Mark telemetry.disableAddressFieldForInternalTelemetry as beta, usage of deprecated service::telemetry::address are ignored (#12756) To restore the previous behavior disable telemetry.disableAddressFieldForInternalTelemetry feature gate.
  • exporterbatch: Remove deprecated fields min_size_items and max_size_items from batch config. (#12684)
  • k8sattributesprocessor: Remove stable feature gate k8sattr.rfc3339 (#38810)
Highlights from the upstream Collector changelog

🚩 Deprecations 🚩

  • otlpexporter: Mark BatcherConfig as deprecated, use sending_queue::batch instead (#12726)
  • exporterhelper: Deprecate blocking in favor of block_on_overflow. (#12710)
  • exporterhelper: Deprecate configuring exporter batching separately. Use sending_queue::batch instead. (#12772) Moving the batching configuration to sending_queue::batch requires setting sending_queue::sizer to items which means that sending_queue::queue_size needs to be also increased by the average batch size number (roughly x5000 for the default batching configuration). See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#configuration

💡 Enhancements 💡

  • exporterhelper: Add support to configure batching in the sending queue. (#12746)

  • exporterhelper: Add support for wait_for_result, remove disabled_queue (#12742) This has a side effect for users of the experimental BatchConfig with the queue disabled, since not this is | uses only NumCPU() consumers.

  • exporterhelper: Allow exporter memory queue to use different type of sizers. (#12708)

  • service: Add "telemetry.newPipelineTelemetry" feature gate to inject component-identifying attributes in internal telemetry (#12217) With the feature gate enabled, all internal telemetry (metrics/traces/logs) will include some of the following instrumentation scope attributes:

    • otelcol.component.kind
    • otelcol.component.id
    • otelcol.pipeline.id
    • otelcol.signal
    • otelcol.signal.output

    These attributes are defined in the Pipeline Component Telemetry RFC, and identify the component instance from which the telemetry originates. They are added automatically without changes to component code.

    These attributes were already included in internal logs as regular log attributes, starting from v0.120.0. For consistency with other signals, they have been switched to scope attributes (with the exception of logs emitted to standard output), and are now enabled by the feature gate.

    Please make sure that the exporter / backend endpoint you use has support for instrumentation scope attributes before using this feature. If the internal telemetry is exported to another Collector, a transform processor could be used to turn them into other kinds of attributes if necessary.

  • exporterhelper: Enable support to do batching using bytes sizer (#12751)

  • service: Add config key to set metric views used for internal telemetry (#10769) The service::telemetry::metrics::views config key can now be used to explicitly set the list of metric views used for internal telemetry, mirroring meter_provider::views in the SDK config. This can be used to disable specific internal metrics, among other uses.

    This key will cause an error if used alongside other features which would normally implicitly create views, such as:

    • not setting service::telemetry::metrics::level to detailed;
    • enabling the telemetry.disableHighCardinalityMetrics feature flag.
  • spanmetricsconnector: Add instrumentation scope to span metrics connector. (#23662) This change adds the instrumentation scope to the span metrics connector, which allows users to specify the instrumentation scope for the connector. Now, the connector has a new configuration option:

    • include_instrumentation_scope: A list of instrumentation scope names to include from the traces.

    The instrumentation scope name is the name of the instrumentation library that collected the span.

  • hostmetricsreceiver: Reduced the cost of retrieving number of threads and parent process ID on Windows. Disable the featuregate hostmetrics.process.onWindowsUseNewGetProcesses to fallback to the previous implementation. (#32947, #38589)

  • hostmetricsreceiver: Reduced the CPU cost of collecting the process.handles metric on Windows. (#38886) Instead of using WMI to retrieve the number of opened handles by each process the scraper now uses the GetProcessHandleCount Win32 API which results in reduced CPU usage when the metric process.handles is enabled.

  • pkg/ottl: Enhance the Decode OTTL function to support all flavors of Base64 (#38854)

  • resourcedetection: Adding the os.version resource attribute to system resourcedetection processor (#38087)

  • pkg/stanza: Add retries when calls to retrieve Windows event via EvtNext fail with error RPC_S_INVALID_BOUND (1734). (#38149) Whenever large events were read in by the Windows event log receiver, via the stanza input operator, the collector would fail with error RPC_S_INVALID_BOUND (1734). Now the operator tries to workaround this issue by reducing the number of events read on each attempt.

  • pkg/ottl: Fix the ottl.ParserCollection to properly infer the OTTL context when using the ParseConditions function. (#38755)

🧰 Bug fixes 🧰

  • exporterhelper: Fix order of starting between queue and batch. (#12705)

v0.26.0

This release includes version v0.122.1/v0.122.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.122.1:

v0.122.0:

🛑 Breaking changes 🛑

  • service: Batch processor telemetry is no longer emitted at "basic" verbosity level (#7890) According to the guidelines, basic-level telemetry should be reserved for core Collector APIs. Components such as the batch processor should emit telemetry starting from the "normal" level (which is also the default level).

    Migration: If your Collector telemetry was set to level: basic and you want to keep seeing batch processor-related metrics, consider switching to level: normal instead.

  • deltatocumulative: remove legacy and clean up existing collector self-monitoring metrics (#38079) renamed:

    • otelcol_deltatocumulative.datapoints.processed to otelcol_deltatocumulative_datapoints
    • otelcol_deltatocumulative.datapoints.dropped to otelcol_deltatocumulative_datapoints{error="..."}
    • otelcol_deltatocumulative.max_stale to otelcol_deltatocumulative_max_stale
    • otelcol_deltatocumulative.streams.limit to otelcol_deltatocumulative_streams_limit
    • otelcol_deltatocumulative.streams.tracked to otelcol_deltatocumulative_streams_tracked removed (already unused):
    • otelcol_deltatocumulative.datapoints.linear
    • otelcol_deltatocumulative.streams.tracked.linear
    • otelcol_deltatocumulative.streams.evicted
    • otelcol_deltatocumulative.gaps.length
  • auth, authtest: Remove deprecated modules extension/auth and extension/auth/authtest (#12543) Use extension/extensionauth and extension/extensionauth/extensionauthtest instead.

  • extensionauth: Remove deprecated methods from the Func types. (#12547)

  • pkg/ottl: Add support for parsing OTTL conditions to the ottl.ParserCollection. (#37904) The ottl.WithParserCollectionContext option now requires the converters to be configured using the ottl.WithStatementConverter and ottl.WithConditionConverter options.

Highlights from the upstream Collector changelog

🚩 Deprecations 🚩

  • exporterhelper: Deprecate per signal converter in favor of generic version (#12631)

  • extensionauth: Deprecate extensionauth.NewClient and extensionauth.NewServer. (#12574)

    • Manually implement the interfaces instead.
  • configauth: Deprecate configauth.Authenticator.GetClientAuthenticator. (#12574)

    • Use the per-protocol methods instead.

🚀 New components 🚀

  • receiverhelper: Split receiverhelper into a separate module (#12514)

💡 Enhancements 💡

  • service: Add service.AllowNoPipelines feature gate to allow starting the Collector without pipelines. (#12613) This can be used to start with only extensions.

  • mdatagen: Delete generated_status.go if the component type doesn't require it. (#12346)

  • service: include component id/type in start error (#10426)

  • mdatagen: Add deprecation date and migration guide fields as part of component metadata (#12359)

  • confmap: Introduce a new feature flag to allow for merging lists instead of discarding the existing ones. (#8394, #8754, #10370) You can enable this option via the command line by running following command: otelcol --config=main.yaml --config=extra_config.yaml --feature-gates=-confmap.enableMergeAppendOption

  • zpagesextension: Add expvar handler to zpages extension. (#11081)

  • hostmetricsreceiver: Added the system.linux.memory.dirty and system.memory.page_size metrics. (#38672)

  • pkg/ottl: Enhance flatten() editor to resolve attribute key conflicts by adding a number suffix to the conflicting keys. (#35793)

  • pkg/ottl: Add IsValidLuhn() checksum verification function (#37880)

  • pkg/ottl: Add ability to compare maps in Boolean Expressions (#38611)

  • pkg/ottl: Add Murmur3Hashand Murmur3Hash128 functions to convert the target string to Murmur3 hash in hexadecimal string format (#34077)

  • receiver/prometheus: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646)

  • processor/redaction: Support hashing instead of masking values via 'hash_function' parameter (#35830)

  • pkg/stanza: Add 'regex_replace' operator (#37443)

  • jaegerreceiver: Remove dependency on jaeger/cmd/agent (#38655)

  • resourceprocessor: Add support for profile signal type (#35979)

  • pkg/stanza: Prevent data loss in Stanza-based receivers on ungraceful shutdown of the collector (#35456) Enable the stanza.synchronousLogEmitter feature gate to unlock this feature. See the documentation for more information.

  • cmd/mdatagen: Add supportsSignal func for Metadata type in mdatagen. (#12640)

  • receiver: Mark module as stable (#12513)

  • pdata/pcommon: Introduce Equal() method for comparison equality to Value, ByteSlice, Float64Slice, Int32Slice, Int64Slice, StringSlice, Uint64Slice, Map and Slice (#12594)

  • pdata: Add iterator All method to pdata slices and map types. (#11982)

  • receiver/prometheus: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646)

🧰 Bug fixes 🧰

  • confmap: Ensure slices with defaults containing struct values are correctly set. (#12661) This reverts the changes made in open-telemetry/opentelemetry-collector#11882.

  • confmap: Maintain nil values when marshaling or unmarshaling nil slices (#11882) Previously, nil slices were converted to empty lists, which are semantically different than a nil slice. This change makes this conversion more consistent when encoding or decoding config, and these values are now maintained.

  • service: do not attempt to register process metrics if they are disabled (#12098)

  • filelogreceiver: Extend container parser log file path pattern to include rotated files. (#35137)

  • attributesprocessor: Validate metrics configuration parameters before processing (#36077)

  • pkg/ottl: Fix limitation of map literals within slice literals not being handled correctly (#37405)

Dynatrace distribution changelog:

🚀 New components 🚀

  • receiver/netflow: Include the netflow receiver in the distribution (#489)

🧰 Bug fixes 🧰

  • linux packages: Ensure Linux package scripts work in chrooted environments without Systemd running

0.25.0

This release includes version 0.121.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.121.0:

🛑 Breaking changes 🛑

  • confighttp: Make the client config options max_idle_conns, max_idle_conns_per_host, max_conns_per_host, and idle_conn_timeout integers (#9478) All four options can be set to 0 where they were previously set to null
  • processor/k8sattributes: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to stable (#25128)
Highlights from the upstream Collector changelog

🚩 Deprecations 🚩

  • exporterhelper: Deprecate min_size_items and max_size_items in favor of min_size and max_size. (#12486)
  • prometheusreceiver: Deprecate metric start time adjustment in the prometheus receiver. It is being replaced by the metricstarttime processor. (#37186) Start time adjustment is still enabled by default. To disable it, enable the | receiver.prometheusreceiver.RemoveStartTimeAdjustment feature gate.

💡 Enhancements 💡

  • mdatagen: Add converter and provider module classes (#12467)

  • pipeline: output pipeline name with signal as signal[/name] format in logs. (#12410)

  • memorylimiterprocessor: Add support to configure min GC intervals for soft and hard limits. (#12450)

  • otlpexporter: Update the stability level for logs, it has been as stable as traces and metrics for some time. (#12423)

  • service: Create a new subcommand to dump the initial configuration after resolving/merging. (#11479) To use the print-initial-config subcommand, invoke the Collector with the subcommand and corresponding feature gate: otelcol print-initial-config --feature-gates=otelcol.printInitialConfig --config=config.yaml. Note that the feature gate enabling this flag is currently in alpha stability, and the subcommand may be changed in the future.

  • memorylimiterprocessor: Add support for profiles. (#12453)

  • otelcol: Converters are now available in the components command. (#11900, #12385)

  • confmap: Surface YAML parsing errors when they happen at the top-level. (#12180) This adds context to some instances of the error "retrieved value (type=string) cannot be used as a Conf", which typically happens because of invalid YAML documents

  • exporterhelper: Stabilize exporter.UsePullingBasedExporterQueueBatcher and remove old batch sender (#12425)

  • mdatagen: Update metadata schema with new fields without enforcing them (#12359)

  • telemetrygen: Support --service for all signal types, rather than just traces (#38044)

  • resourcedetectionprocessor: Introduce retry logic for failed resource detection. (#34761)

  • pkg/ottl: Support dynamic indexing of math expressions in maps and slices (#37644)

  • pkg/stanza: Add entry's timestamp and attributes to errors logs from log transformers processors (#37285) When a log transformer processor fails to process an log entry it will include entry's timestamp and attributes in its own logs. With this information the user can more easily identify the log file and find the entry that's having issues.

  • resourcedetectionprocessor: Add k8s.cluster.uid to kubeadm detector (#38207)

  • telemetrygen: Add support for aggregation-temporality flag in telemetrygen. Supported values (delta or cumulative) (#38073)

  • pkg/ottl: Add event_index to the available paths of the span event context (#35778)

  • pkg/ottl: Introduce Weekday() converter function (#38126)

  • prometheusreceiver: Make use of creation timestamp from prometheus (#36473)

  • redactionprocessor: Introduce 'blocked_key_patterns' parameter (#35830)

  • resourcedetectionprocessor: Add a feature flag to allow the processor (and collector) to fail if resource detection fails (#37961) This feature can be enabled via the following feature gate --feature-gates=processor.resourcedetection.propagateerrors

🧰 Bug fixes 🧰

  • service: Fix crash at startup when converting from v0.2.0 to v0.3.0 (#12438)
  • service: fix bug in parsing service::telemetry configuration (#12437)
  • exporterhelper: Fix bug where the error logged when conversion of data fails is always nil (#12510)
  • mdatagen: Adds back missing import for filter when emitting resource attributes (#12455)
  • redactionprocessor: Fix redaction processor to redact span event attributes (#36633)
  • pkg/ottl: Change the ottlmetric context to properly display the TransformContext value in debug logs (#38103)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • resourcedetectionprocessor: Added configuration example and integration test for the new Dynatrace Resource Detection processor component. (#475)

v0.24.0

This release includes version 0.120.0/0.120.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.120.1:

v0.120.0:

🛑 Breaking changes 🛑

  • all: Added support for go1.24, bumped minimum version to 1.23 #12370

  • mdatagen: Removing deprecated generated funcs and a few test funcs as well. #12304

  • service: Align component logger attributes with those defined in RFC #12217 See Pipeline Component Telemetry RFC

  • receiver/hostmetrics: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate #34763

  • tailsamplingprocessor: Fix the decision timer metric to capture longer latencies beyond 50ms. #37722 This changes the unit of the decision timer metric from microseconds to milliseconds.

  • receiver/prometheus: Prometheus receiver now uses scrapers in Prometheus 3.0. (#36873) There are a number of breaking changes in Prometheus 3.0. Learn more about those changes and migration guide on https://prometheus.io/docs/prometheus/latest/migration/. The Prometheus receiver now uses the UTF-8 validation scheme by default, which means that metric and label names can change after upgrading to this release, as mentioned in the Prometheus 3.0 migration guide. This can have an effect on the OTel resources created by the Prometheus receiver in particular, if previously the service_name label has been present in the metrics returned by a Prometheus scrape target. Now, this label will be delivered as service.name and can thus override the value of the related OTel resource which has been determined by the job label. To keep the previous behavior, the legacy validation scheme can be set, in the prometheus config, either globally, or on a per-scrape basis:

    Globally:

    receivers:
      prometheus:
        metric_name_validation_scheme: legacy
        config:
          scrape_configs:
          - job_name: opentelemetry-collector

    Per Scrape:

    receivers:
      prometheus:
        config:
          scrape_configs:
          - job_name: job1
            metric_name_validation_scheme: utf8
          - job_name: opentelemetry-collector
            metric_name_validation_scheme: legacy
Highlights from the upstream Collector changelog

💡 Enhancements 💡

  • otlpreceiver: Update stability for logs #12335

  • exporterhelper: Implement sync disabled queue used when batching is enabled. #12245

  • exporterhelper: Enable the new pull-based batcher in exporterhelper #12291

  • exporterhelper: Update queue size after the element is done exported #12399 After this change the active queue size will include elements in the process of being exported.

  • otelcol: Add featuregate command to display information about available features #11998 The featuregate command allows users to view detailed information about feature gates including their status, stage, and description.

  • processor/transformprocessor: Add support for global conditions and error mode overrides. #29017 Global conditions are now available for context-inferred structured configurations, allowing the use of fully qualified paths. Additionally, a new configuration key called error_mode has been added to the context statements group. This key determines how the processor reacts to errors that occur while processing that specific group of statements. When provided, it overrides the top-level error mode, offering more granular control over error handling.

  • pkg/stanza: Allow users to configure initial buffer size #37786

  • k8sclusterreceiver: Adds new descriptive attributes/metadata to the k8s.namespace and the container entity emitted from k8sclusterreceiver. #37580

    • Adds the following attributes to k8s.namespace entity:
      • k8s.namespace.phase: The phase of a namespace indicates where the namespace is in its lifecycle. E.g. 'active', 'terminating'
      • k8s.namespace.creation_timestamp: The time when the namespace object was created.
    • Adds the following attributes to container entity:
      • container.creation_timestamp: The time when the container was started. Only available if container is either in 'running' or 'terminated' state.
  • pkg/ottl: Introduce ToLowerCase converter function #32942

  • pkg/ottl: Introduce ToSnakeCase converter function #32942

  • pkg/ottl: Introduce ToUpperCase converter function #32942

  • resourcedetectionprocessor: add the Dynatrace detector to the resource detection processor #37577

  • processor/redaction: Introduce 'allowed_values' parameter for allowed values of attributes #35840

  • syslogreceiver: Support setting on_error config for syslog receiver. #36906

  • processor/tailsampling: Adds support for optionally recording the policy (and any composite policy) associated with an inclusive tail processor sampling decision. This functionality is disabled by default, you can enable it by passing the following feature flag to the collector: +processor.tailsamplingprocessor.recordpolicy #35180

  • tailsamplingprocessor: makes the numeric_attribute more flexible and allows to set only min_value or max_value, without the need to set both #37328 This is useful to have simple configurations like these:

    {
      type: numeric_attribute,
      numeric_attribute: {
        key: http.status_code,
        min_value: 400
      }
    }
    
  • receiver/zipkinreceiver: Remove zipkinreceiver dependency on Jaeger #37795

🧰 Bug fixes 🧰

  • memorylimiter: Logger no longer attributes to single signal, pipeline, or component. #12217
  • otlpreceiver: Logger no longer attributes to random signal when receiving multiple signals. #12217
  • exporterhelper: Fix undefined behavior access to request after send to next component. This causes random memory access. #12281
  • exporterhelper: Fix default batcher to correctly call all done callbacks exactly once #12247
  • otlpreceiver: Fix OTLP http receiver to correctly set Retry-After #12367
  • otlphttpexporter: Fix parsing logic for Retry-After in OTLP http protocol. #12366 The value of Retry-After field can be either an HTTP-date or delay-seconds and the current logic only parsed delay-seconds.
  • cmd/builder: Ensure unique aliases for modules with same suffix #12201
  • k8sattributes: Fix bug where Filters.Labels failed with when the exists or not-exists operations were used. #37913
  • prometheusreceiver: Start time metric adjuster now handles reset points correctly #37717

v0.23.0

This release includes version 0.119.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.119.0:

🛑 Breaking changes 🛑

  • exporterhelper: Change queue to embed the async consumers. (#12242)
  • cmd/mdatagen: Allow passing OTel Metric SDK options to the generated SetupTelemetry function. (#12166)
  • exporterhelper: Rename exporter span signal specific attributes (e.g. "sent_spans" / "send_failed_span") to "items.sent" / "items.failed". (#12165)
  • cmd/mdatagen: Remove dead field telemetry::level (#12144)
  • exporterhelper: Change exporter ID to be a Span level attribute instead on each event. (#12164) This does not have an impact on the level of information emitted, but on the structure of the Span.
  • cmd/mdatagen: Remove level field from metrics definition (#12145) This mechanism will be added back once a new views mechanism is implemented.
Highlights from the upstream Collector changelog

💡 Enhancements 💡

  • configtls: Allow users to mention their preferred curve types for ECDHE handshake (#12174)

  • otelcol: Adds support for listing config providers in components command's output (#11570)

  • pdata/pprofile: Add new helper method FromAttributeIndices to build a pcommon.Map out of AttributeIndices. (#12176)

  • component: Allow component.ValidateConfig to recurse through all fields in a config object (#11524)

  • component: Show path to invalid config in errors returned from component.ValidateConfig (#12108)

  • processor/transformprocessor: Add support for flat configuration style. (#29017) The flat configuration style allows users to configure statements by providing a list of statements instead of a structured configuration map. The statement's context is expressed by adding the context's name prefix to path names, which are used to infer and to select the appropriate context for the statement.

  • resourcedetectionprocessor: Expose additional configuration parameters for the AWS metadata client used by the EC2 detector (#35936) In some cases, you might need to change the behavior of the AWS metadata client from the standard retryer

    By default, the client retries 3 times with a max backoff delay of 20s.

    We offer a limited set of options to override those defaults specifically, such that you can set the client to retry 10 times, for up to 5 minutes, for example:

    processors:
      resourcedetection/ec2:
        detectors: ["ec2"]
        ec2:
          max_attempts: 10
          max_backoff: 5m
  • cumulativetodeltaprocessor: Add metric type filter for cumulativetodelta processor (#33673)

  • resourcedetectionprocessor: Add fail_on_missing_metadata option on EC2 detector (#35936) If the EC2 metadata endpoint is unavailable, the EC2 detector by default ignores the error. By setting fail_on_missing_metadata to true on the detector, the user will now trigger an error explicitly, which will stop the collector from starting.

  • resourcedetectionprocessor: The gcp resource detector will now detect resource attributes identifying a GCE instance's managed instance group. (#36142)

  • jaegerreceiver: Log the endpoints of different servers started by jaegerreceiver (#36961) This change logs the endpoints of different servers started by jaegerreceiver. It simplifies debugging by ensuring log messages match configuration settings.

  • receiver/hostmetrics: Added support for tracking process.uptime (#36667)

  • processor/transformprocessor: Replace parser collection implementations with ottl.ParserCollection and add initial support for expressing statement's context via path names. (#29017)

  • prometheusreceiver: Add receiver.prometheusreceiver.UseCollectorStartTimeFallback featuregate for the start time metric adjuster to use the collector start time as an approximation of process start time as a fallback. (#36364)

  • tailsamplingprocessor: Reworked the consume traces, sampling decision, and policy loading paths to improve performance and readability (#37560)

🧰 Bug fixes 🧰

  • exporterhelper: Fix bug that the exporter with new batcher may have been marked as non mutation. (#12239) Only affects users that manually turned on exporter.UsePullingBasedExporterQueueBatcher featuregate.

  • confighttp: confighttp.ToServer now sets ErrorLog with a default logger backed by Zap (#11820)

    This change ensures that the http.Server's ErrorLog is correctly set using Zap's logger at the error level, addressing the issue of error logs being printed using a different logger.

  • exporterhelper: Fix context propagation for DisabledBatcher (#12231)

  • mdatagen: Fix bug where Histograms were marked as not supporting temporaly aggregation (#12168)

  • exporterhelper: Fix MergeSplit issue that ignores the initial message size. (#12257)

  • filelogreceiver: Fix issue where flushed tokens could be truncated. (#35042)

  • k8sattributesprocessor: Wait for the other informers to complete their initial sync before starting the pod informers (#37056)

  • pkg/stanza: Fix default source identifier in recombine operator (#37210) Its defualt value is now aligned with the semantic conventions: attributes["log.file.path"]

  • tailsamplingprocessor: Fixed sampling decision metrics otelcol_processor_tail_sampling_sampling_trace_dropped_too_early and otelcol_processor_tail_sampling_sampling_policy_evaluation_error_total, these were sometimes overcounted. (#37212) As a result of this change non-zero values of otelcol_processor_tail_sampling_sampling_trace_dropped_too_early and otelcol_processor_tail_sampling_sampling_policy_evaluation_error_total metrics will be lower. Before this fix, errors got counted several times depending on the amount of traces being processed that tick and where in the batch the error happened. Zero values are unaffected.


v0.22.0

This release includes version 0.118.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.118.0:

🛑 Breaking changes 🛑

Highlights from the upstream Collector changelog

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

💡 Enhancements 💡

  • release: Add builds for ppc64le and s390x architectures (#424)

v0.21.0

This release includes version v0.117.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.117.0:

🛑 Breaking changes 🛑

Highlights from the upstream Collector changelog

💡 Enhancements 💡

🧰 Bug fixes 🧰


v0.116.0:

🛑 Breaking changes 🛑

Highlights from the upstream Collector changelog

💡 Enhancements 💡

🧰 Bug fixes 🧰


v0.20.0

This release includes version 0.115.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.115.0:

🛑 Breaking changes 🛑

  • otelcol: Change all logged timestamps to ISO8601. (#10543) This makes log timestamps human-readable (as opposed to epoch seconds in scientific notation), but may break users trying to parse logged lines in the old format.
  • k8sattributesprocessor: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to Beta. (#25128) Disable the k8sattr.fieldExtractConfigRegex.disallow feature gate to get the old behavior.
Highlights from the upstream Collector changelog

💡 Enhancements 💡

  • statsdreceiver: Adapt statsd receiver example config to remove filtering of histogram metrics (#385)
  • tailsamplingprocessor: Adds decision cache for non-sampled trace IDs (#31583)

🧰 Bug fixes 🧰

  • service: ensure OTLP emitted logs respect severity (#11718)
  • processor/k8sattribute: fixes parsing of k8s image names to support images with tags and digests. (#36131)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • statsdreceiver: Adapt statsd receiver example config to remove filtering of histogram metrics (#385)

v0.19.0

This release includes version 0.114.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.114.0:

🛑 Breaking changes 🛑

Highlights from the upstream Collector changelog

💡 Enhancements 💡

🧰 Bug fixes 🧰

v0.18.0

This release includes version 0.113.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.113.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

💡 Enhancements 💡

  • transformprocessor: Extend the user data filtering example with a statement for masking the client.address attribute. (#356)
  • transformprocessor: Extend the credit card and IBAN filtering example with log body filtering (#357)
  • docs: Add a note about k8s enrichment of collector internal telemetry (#364)

v0.17.0

This release includes version 0.112.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.112.0:

Highlights from the upstream Collector changelog

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

💡 Enhancements 💡

  • redactionprocessor: Add example config for redacting credit card numbers. (#337)
  • transformprocessor: Add example for DT API Token filtering using the redaction and transform processor. (#346)
  • transformprocessor: Introduce masking example of credit card numbers. (#340)
  • transformprocessor: Introduce masking and redaction example of international IBANs. (#343)
  • transformprocessor: Add config example for redacting user related data with transform processor (#342)

🧰 Bug fixes 🧰

  • installer: Move the documentation key in the linux service file to the correct section (#334)

v0.16.0

This release includes version 0.111.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.111.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • service/telemetry: Change default metrics address to "localhost:8888" instead of ":8888" (#11251) This behavior can be disabled by disabling the feature gate 'telemetry.UseLocalHostAsDefaultMetricsAddress'.
  • config: Move component.UseLocalHostAsDefaultHost feature gate to stable and therefore remove the ability to disable it. (#35569)

🚩 Deprecations 🚩

  • service/telemetry: Deprecate service::telemetry::metrics::address in favor of service::telemetry::metrics::readers. (#11205)
  • processorhelper: Deprecate BuildProcessorMetricName as it's no longer needed since introduction of mdatagen (#11328)

💡 Enhancements 💡

  • confighttp: Snappy compression to lazy read for memory efficiency (#11177)
  • httpsprovider: Mark the httpsprovider as stable. (#11191)
  • httpprovider: Mark the httpprovider as stable. (#11191)
  • yamlprovider: Mark the yamlprovider as stable. (#11192)
  • confmap: Allow using any YAML structure as a string when loading configuration including time.Time formats (#10659) Previously, fields with time.Time formats could not be used as strings in configurations
  • receiver/statsd: Add support for aggregating on Host/IP. (#23809)
  • hostmetricsreceiver: Add ability to mute all errors (mainly due to access rights) coming from process scraper of the hostmetricsreceiver (#20435)
  • pkg/ottl: Add InsertXML Converter (#35436)
  • pkg/ottl: Add GetXML Converter (#35462)
  • pkg/ottl: Add ToKeyValueString Converter (#35334)
  • pkg/ottl: Add RemoveXML Converter (#35301)

🧰 Bug fixes 🧰

  • processorhelper: Fix data race condition, concurrent writes to the err variable, causes UB (Undefined Behavior) (#11350)
  • cmd/builder: re-adds function to properly set and view version number of OpenTelemetry Collector Builder (ocb) binaries (#11208)
  • pdata: Unmarshal Span and SpanLink flags from JSON (#11267)

v0.15.0

This release includes version 0.110.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.110.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • processorhelper: Update incoming/outgoing metrics to a single metric with a otel.signal attributes. (#11144) The following metrics were added in the previous version

    • otelcol_processor_incoming_spans
    • otelcol_processor_outgoing_spans
    • otelcol_processor_incoming_metric_points
    • otelcol_processor_outgoing_metric_points
    • otelcol_processor_incoming_log_records
    • otelcol_processor_outgoing_log_records

    They are being replaced with the following to more closely align with OTEP 259:

    • otelcol_processor_incoming_items
    • otelcol_processor_outgoing_items
  • processorhelper: Remove deprecated [Traces|Metrics|Logs]Inserted funcs (#11151)

  • config: Mark UseLocalHostAsDefaultHostfeatureGate as stable (#11235)

  • pkg/stanza: Move filelog.container.removeOriginalTimeField feature gate to beta (#33389)

    • Disable the filelog.container.removeOriginalTimeField feature gate to get the old behavior.
  • resourcedetectionprocessor: Move processor.resourcedetection.hostCPUSteppingAsString feature gate to stable. (#31136)

  • resourcedetectionprocessor: Remove processor.resourcedetection.hostCPUModelAndFamilyAsString feature gate. (#29025)

🚩 Deprecations 🚩

  • processorhelper: deprecate accepted/refused/dropped metrics (#11201) The following metrics are being deprecated as they were only used in a single processor:
    • otelcol_processor_accepted_log_records
    • otelcol_processor_accepted_metric_points
    • otelcol_processor_accepted_spans
    • otelcol_processor_dropped_log_records
    • otelcol_processor_dropped_metric_points
    • otelcol_processor_dropped_spans
    • otelcol_processor_refused_log_records
    • otelcol_processor_refused_metric_points
    • otelcol_processor_refused_spans
  • hostmetricsreceiver: Set the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to stable. (#34763)

💡 Enhancements 💡

  • mdatagen: Add stability field to telemetry metrics, allowing the generated description to include a stability string. (#11160)
  • confmap/provider/envprovider: Support default values when env var is empty (#5228)
  • service/telemetry: Mark useOtelWithSDKConfigurationForInternalTelemetry as stable (#7532)
  • mdatagen: mdatagen validateMetrics() support validate metrics in telemetry.metric (#10925)
  • mdatagen: Use cobra for the command, add version flag (#11196)
  • processor/transform: Add custom function to the transform processor to convert exponential histograms to explicit histograms. (#33827)
  • pkg/ottl: Improved JSON unmarshaling performance by 10-20% by switching dependencies. (#35130)
  • pkg/ottl: Added support for locale in the Time converter (#32978)
  • transformprocessor: Remove unnecessary data copy when transform sum to/from gauge (#35177)
  • tailsamplingprocessor: Fix the behavior for numeric tag filters with inverse_match set to true. (#34296)

🧰 Bug fixes 🧰

  • service: Ensure process telemetry is registered when internal telemetry is configured with readers instead of an address. (#11093)
  • mdatagen: Fix incorrect generation of metric tests with boolean attributes. (#11169)
  • otelcol: Fix the Windows Event Log configuration when running the Collector as a Windows service. (#5297, #11051)
  • confmap: Fix loading config of a component from a different source. (#11154) This issue only affected loading the whole component config, loading parts of a component config from a different source was working correctly.
  • pkg/stanza: Do not get formatted message for Windows events without an event provider. (#35135) Attempting to get the formatted message for Windows events without an event provider can result in an error being logged. | This change ensures that the formatted message is not retrieved for such events.
  • prometheusreceiver: Fix the retrieval of scrape configurations by also considering scrape config files (#34786)
  • redactionprocessor: Fix panic when using the redaction processor in a logs pipeline (#35331)

0.14.0

This release includes version 0.109.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.109.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • spanmetricsconnector: Improve consistency between metrics generated by spanmetricsconnector. Added traces.span.metrics as default namespace (#33227, #32818) Default namespace for the generated metrics is traces.span.metrics now. | The deprecated metrics are: calls, duration and events. | The feature flag connector.spanmetrics.legacyLatencyMetricNames was added to revert the behavior.
  • pkg/ottl: Remove tracing from OTTL due to performance concerns (#34910)

💡 Enhancements 💡

  • pkg/ottl: Added Decode() converter function (#32493)
  • pkg/ottl: Add Sort function to sort array to ascending order or descending order (#34200)
  • transformprocessor: Support aggregating metrics based on their attribute values and substituting the values with a new value. (#16224)
  • redactionprocessor: Add support for logs and metrics (#34479)

🧰 Bug fixes 🧰

  • hostmetricsreceiver: In filesystem scraper, do not prefix partitions when using the environment variable HOST_PROC_MOUNTINFO (#35043)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • eecprovider: Add informational headers to EEC provider requests (#280)
  • docs: Added Dynatrace dashboards that can be used to inspect the collectors internal telemetry (#274)

v0.13.0

This release includes version 0.108.0/0.108.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.108.0:

v0.108.1:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

🚀 New components 🚀

  • redactionprocessor: Added the redaction processor to the Dynatrace collector distro. (#275)

v0.12.0

This release includes version 0.107.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.107.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • confmap: Set the confmap.unifyEnvVarExpansion feature gate to Stable. Expansion of $FOO env vars is no longer supported. Use ${FOO} or ${env:FOO} instead. (open-telemetry/opentelemetry-collector#10508)
  • filelogreceiver: Check for unsupported fractional seconds directive when converting strptime time layout to native format (open-telemetry/opentelemetry-collector-contrib#34390)
  • fluentforwardreceiver: Update the scope name for telemetry produced by the fluentforwardreceiver from otelcol/fluentforwardreceiver to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver (open-telemetry/opentelemetry-collector-contrib#34534)
  • hostmetricsreceiver: Update the scope name for telemetry produced by the hostmetrics receiver's scrapers from otelcol/hostmetricsreceiver/* to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/* (open-telemetry/opentelemetry-collector-contrib#34526)
  • prometheusreceiver: Update the scope name for telemetry produced by the prometheusreceiver from otelcol/prometheusreceiver to `github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver (open-telemetry/opentelemetry-collector-contrib#34589)
  • statsdreceiver: Update the scope name for telemetry produced by the statsdreceiver from otelcol/statsdreceiver to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver (open-telemetry/opentelemetry-collector-contrib#34547)
  • k8sattributesprocessor: Update the scope name for telemetry produced by the k8sattributesprocessor from otelcol/k8sattributes to github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • filterprocessor: Update the scope name for telemetry produced by the filterprocessor from otelcol/filter to github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • probabilisticsamplerprocessor: Update the scope name for telemetry produced by the probabilisticsamplerprocessor from otelcol/probabilisticsampler to github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • tailsamplingprocessor: Update the scope name for telemetry produced by the tailsamplingprocessor from otelcol/tailsampling to github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor (open-telemetry/opentelemetry-collector-contrib#34550)

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

🧰 Bug fixes 🧰

  • release: Add missing dependency to /bin/sh to the RPM linux package (#264)

v0.11.0

This release includes version 0.106.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.106.1:

v0.106.0:

Highlights from the upstream Collector changelog

🚩 Deprecations 🚩

  • k8sattributesprocessor: Deprecate extract.annotations.regex and extract.labels.regex config fields in favor of the ExtractPatterns function in the transform processor. The FieldExtractConfig.Regex parameter will be removed in version v0.111.0. (open-telemetry/opentelemetry-collector-contrib#25128) Deprecating of FieldExtractConfig.Regex parameter means that it is recommended to use the ExtractPatterns function from the transform processor instead. To convert your current configuration please check the ExtractPatterns function documentation. You should use the pattern parameter of ExtractPatterns instead of using the FieldExtractConfig.Regex parameter.

💡 Enhancements 💡


Dynatrace distribution changelog:

💡 Enhancements 💡

  • release: Add version number to all release artifacts (#245) All collector distribution artifacts now include the version number in their filename.

  • release: Release as Linux service for multiple Linux distros (#241) The collector distribution is now available as linux packages (.rpm and .deb).

v0.10.0

This release includes version 0.105.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.105.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

🧰 Bug fixes 🧰

  • confmap: Fixes issue where confmap could not escape $$ when confmap.unifyEnvVarExpansion is enabled. (#10560)
  • otlpreceiver: Fixes a bug where the otlp receiver's http response was not properly translating grpc error codes to http status codes. (#10574)
  • service/telemetry: Add ability to set service.name for spans emitted by the Collector (#10489)
  • internal/localhostgate: Correctly log info message when component.UseLocalHostAsDefaultHost is enabled (#8510)
  • exporterhelper: Fix incorrect deduplication of otelcol_exporter_queue_size and otelcol_exporter_queue_capacity metrics if multiple exporters are used. (#10444)
  • prometheusreceiver: Fix hash computation to include non exported fields like regex in scrape configuration for TargetAllocator (#29313)
  • syslogreceiver: Allow to define max_octets for octet counting RFC5424 syslog parser (#33182)

💡 Enhancements 💡

  • pkg/ottl: Added Hex() converter function (#31929)
  • pkg/ottl: Add IsRootSpan() converter function. (#32918) Converter IsRootSpan() returns true if the span in the corresponding context is root, that means its parent_span_id equals to hexadecimal representation of zero. In all other scenarios function returns false.
  • pkg/ottl: Emit traces for statement sequence executions to troubleshoot OTTL statements/conditions (#33433)
  • receiver/filelog: Add filelog.container.removeOriginalTimeField feature-flag for removing original time field (#33946)
  • statsdreceiver: Allow configuring summary percentiles (#33701)

Dynatrace distribution changelog:

🚀 New components 🚀

  • statsdreceiver: Add statsd receiver to manifest (#229)
  • zipkinreceiver: Added the zipkin receiver to the Dynatrace collector distro (#225)

v0.9.0

This release includes version 0.104.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.104.0:

Warning

This release includes two important breaking changes:

  1. The otlpreceiver, jaegerreceiver and healthcheckextension will now use localhost by default instead of 0.0.0.0. This may break the receivers when the sender is not running on the same host, particularly in containerized environments like Kubernetes. If you depend on 0.0.0.0 disable the component.UseLocalHostAsDefaultHost feature gate or explicitly set the endpoint to 0.0.0.0. For more details, check out the OTel blog post.
  2. Expansion of BASH-style environment variables, such as $FOO will no longer be supported by default. If you depend on this syntax, disable the confmap.unifyEnvVarExpansion feature gate, but know that the feature will be removed in the future in favor of ${env:FOO}.
Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • pkg/ottl: Changed ScopeContext, InstrumentationResourceContext, TransformContext interfaces to make SchemaURL accessible in resources and scopes on all signals (#30229)
  • filter: Remove deprecated filter.CombinedFilter (#10348)
  • otelcol: By default, otelcol.NewCommand and otelcol.NewCommandMustSetProvider will set the DefaultScheme to env. #10435)
  • otelcol: The otelcol.NewCommand now requires at least one provider be set. (#10436)

🚩 Deprecations 🚩

  • otelcol: The otelcol.NewCommandMustSetProvider is deprecated. Use otelcol.NewCommand instead. (#10436)

💡 Enhancements 💡

  • k8sattributesprocessor: Add support for exposing k8s.pod.ip as a resource attribute (#32960)
  • debugexporter: In normal verbosity, display one line of text for each telemetry record (log, data point, span) (#7806)
  • debugexporter: Add option use_internal_logger (#10226)
  • debugexporter: Print Span.TraceState() when present. (#10421)

🧰 Bug fixes 🧰

  • resourcedetectionprocessor: Fetch CPU info only if related attributes are enabled (#33774)
  • tailsamplingprocessor: Fix precedence of inverted match in and policy (#33671) Previously if the decision from a policy evaluation was NotSampled or InvertNotSampled it would return a NotSampled decision regardless, effectively downgrading the result. This was breaking the documented behaviour that inverted decisions should take precedence over all others.
  • otlpexporter: Update validation to support both dns:// and dns:/// (#10449)
  • service: Fixed a bug that caused otel-collector to fail to start with ipv6 metrics endpoint service telemetry. (#10011)

v0.8.0

This release includes version 0.103.0 of the upstream Collector components.

NOTE: This release is in line with the upstream distributions of the Collector version 0.103.1, which is based on the same 0.103.0 upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.103.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • exporter/debug: Disable sampling by default (#9921). To restore the behavior that was previously the default, set sampling_thereafter to 500.

🚩 Deprecations 🚩

  • healthcheckextension: Remove incorrect logic behind check_collector_pipeline config (#33469). This logic incorrectly set the pipeline to OK after waiting for enough callbacks from the opencensus library to be called. As this was broken, I'm removing it to remove the dependency on opencensus as well. Improvements will be available via healthcheckv2 extension.

🧰 Bug fixes 🧰

  • filelogreceiver: Container parser should add k8s metadata as resource attributes and not as log record attributes (#33341)
  • prometheusreceiver: Fall back to scrape config job/instance labels for aggregated metrics without instance/job labels (#32555)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • examples: Added an example for using the syslog receiver, as well as integration tests for the added example. (#136)

v0.7.0

This release includes version 0.102.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

0.102.1:

0.102.0:

Highlights from the upstream Collector changelog

This release addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) fully

🛑 Breaking changes 🛑

  • envprovider: Restricts Environment Variable names. Environment variable names must now be ASCII only and start with a letter or an underscore, and can only contain underscores, letters, or numbers. (#9531)
  • confighttp: Apply MaxRequestBodySize to the result of a decompressed body (#10289) When using compressed payloads, the Collector would verify only the size of the compressed payload. This change applies the same restriction to the decompressed content. As a security measure, a limit of 20 MiB was added, which makes this a breaking change. For most clients, this shouldn't be a problem, but if you often have payloads that decompress to more than 20 MiB, you might want to either configure your client to send smaller batches (recommended), or increase the limit using the MaxRequestBodySize option.
  • k8sattributesprocessor: Move k8sattr.rfc3339 feature gate to stable. (#33304)

🧰 Bug fixes 🧰

  • batchprocessor: ensure attributes are set on cardinality metadata metric (#9674)
  • batchprocessor: Fixing processor_batch_metadata_cardinality which was broken in v0.101.0 (#10231)
  • batchprocessor: respect telemetry level for all metrics (#10234)
  • configrpc: Use own compressors for zstd (#10323) Before this change, the zstd compressor we used didn't respect the max message size. This addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) on configgrpc.

v0.6.0

This release includes version 0.101.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.101.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • filelog, journald, tcp, udp, syslog, windowseventlog receivers: The internal logger has been changed from zap.SugaredLogger to zap.Logger. (#32177) This should not have any meaningful impact on most users but the logging format for some logs may have changed.

💡 Enhancements 💡

  • filelogreceiver: Add container operator parser (#31959)
  • resourcedetectionprocessor: Support GCP Bare Metal Solution in resource detection processor. (#32985)
  • processor/transform: Allow common where clause (#27830)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • Add section to list which container registries are available to pull images from (#188)
  • Use chloggen to generate changelog entries (#191)