Skip to content

Releases: Dynatrace/dynatrace-otel-collector

v0.39.0

22 Oct 10:53
78203cd

Choose a tag to compare

v0.39.0

This release includes version 0.138.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.138.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • pkg/exporterhelper: Add default values for sending_queue::batch configuration. (#13766)
    Setting sending_queue::batch to an empty value now results in the same setup as the default batch processor configuration.

  • all: Add unified print-config command with mode support (redacted, unredacted), json support (unstable), and validation support. (#11775)
    This replaces the print-initial-config command. See the service package README for more details. The original command name print-initial-config remains an alias, to be retired with the feature flag.

💡 Enhancements 💡

  • all: Add keep_alives_enabled option to ServerConfig to control HTTP keep-alives for all components that create an HTTP server. (#13783)

  • pkg/ottl: Add support for literal getters (#40222)
    This enhancement introduces the ottl.GetLiteralValue function to OTTL, enabling compile-time optimization for getters that
    contain literal values. When a getter is identified as containing a literal value, OTTL functions can now access that value
    at build time rather than runtime, improving performance for common use cases like pattern matching with static strings.

  • receiver/hostmetrics: Add metrics, Linux scraper, and tests to hostmetricsreceiver's nfsscraper (#40134)

  • receiver/k8s_cluster: Fix for k8sclusterreceiver to handle empty containerID in ContainerStatus (#43147)

  • pkg/ottl: Add XXH3 Converter function to converts a value to a XXH3 hash/digest (#42792)

  • pkg/sampling: Note that pkg/sampling implements the new OpenTelemetry specification (#43396)

  • processor/resourcedetection: Add Openstack Nova resource detector to gather Openstack instance metadata as resource attributes (#39117)
    The Openstack Nova resource detector has been added to gather metadata such as host name, ID, cloud provider, region, and availability zone as resource attributes, enhancing the observability of Openstack environments.

  • processor/resourcedetection: Add Azure availability zone to resourcedetectionprocessor (#40983)

  • receiver/hostmetrics: Add metrics, Linux scraper, and tests to hostmetricsreceiver's nfsscraper (#40134)

  • receiver/syslog: Promote Syslog receiver to beta stability (#28551)

🧰 Bug fixes 🧰

  • all: Fix zstd decoder data corruption due to decoder pooling for all components that create an HTTP server. (#13954)
  • receiver/k8s_cluster: Fix for k8sclusterreceiver to handle empty containerID in ContainerStatus (#43147)

Dynatrace distribution changelog:

🚀 New components 🚀

  • extension/k8sleaderelector: Add k8sleaderelector extension to the collector distribution (#681)

v0.38.0

13 Oct 06:15
87f6158

Choose a tag to compare

v0.38.0

This release includes version 0.137.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.137.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • pkg/exporterhelper: Remove all experimental symbols in exporterhelper (#11143)
    They have all been moved to xexporterhelper
  • spanmetricsconnector: Exclude all resource attributes in spanmetrics (#42103)
    This change aligns with the ServiceGraph implementation and may introduce a breaking change:
    Users utilizing Prometheus remote write will not experience a breaking change.
    Users using OTLP/HTTP may encounter a breaking change.
    The change is currently guarded by the feature gate connector.spanmetrics.excludeResourceMetrics and is disabled by default.
    It will be enabled by default in the next release.
  • spanmetricsconnector: Change default duration metrics unit from ms to s (#42462)
    This change introduces a breaking change, which is now guarded by the feature gate connector.spanmetrics.useSecondAsDefaultMetricsUnit.
    Currently, the feature gate is disabled by default, so the unit will remain ms. After one release cycle, the unit will switch to s and the feature gate will also be enabled by default.

💡 Enhancements 💡

  • all: Changelog entries will now have their component field checked against a list of valid components. (#13924)
    This will ensure a more standardized changelog format which makes it easier to parse.
  • pkg/pdata: Mark featuregate pdata.useCustomProtoEncoding as stable (#13883)
  • pkg/ottl: Create ctxprofilecommon for common attribute handling in various profiling sub messages (#42107)
  • all: Mark configoptional as stable (#13403)
  • all: Mark configauth module as 1.0 (#9476)
  • redactionprocessor: Add support for URL sanitization in the redaction processor. (#41535)
  • receiver/k8seventsreceiver: Added support for Leader Election into k8seventsreceiver using k8sleaderelector extension. (#42266)
  • receiver/k8sobjectsreceiver: Switch to standby mode when leader lease is lost instead of shutdown (#42706)
  • processor/resourcedetection: Add support for DigitalOcean in resourcedetectionprocessor (#42803)
  • processor/resourcedetection: Add support for upcloud in resourcedetectionprocessor (#42801)
  • hostmetricsreceiver: Add useMemAvailable feature gate to use the MemAvailable kernel's statistic to compute the "used" memory usage (#42221)
  • tailsamplingprocessor: Add support for extensions that implement sampling policies. (#31582)
    Extension support for tailsamplingprocessor is still in development and the interfaces may change at any time.

🧰 Bug fixes 🧰

  • receiver/k8seventsreceiver: Prevent potential panic in the events receiver by safely checking that informer objects are *corev1.Event before handling them. (#43014)
  • processor/k8sattributes: Use podUID instead podName to determine which pods should be deleted from cache (#42978)
  • statsdreceiver: Fix a data race in statsdreceiver on shutdown (#42878)

🚩 Deprecations 🚩

  • all: service/telemetry.TracesConfig is deprecated (#13904)
    This type alias has been added to otelconftelemetry.TracesConfig,
    where the otelconf-based telemetry implementation now lives.

🚀 New components 🚀

  • resourcedetectionprocessor: Added Oracle Cloud resource detection support to resourcedetectionprocessor, enabling automatic population of Oracle Cloud-specific resource attributes. (#35091)
    This update allows the OpenTelemetry Collector to detect and annotate telemetry with Oracle Cloud resource metadata when running in Oracle Cloud environments.
    Includes new unit tests and documentation.

v0.37.0

25 Sep 07:23
6ebc6f1

Choose a tag to compare

v0.37.0

This release includes version 0.136.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.136.0:

Highlights from the upstream Collector changelog

💡 Enhancements 💡

  • processor/k8sattributesprocessor: Add support for k8s.cronjob.uid attribute in k8sattributesprocessor (#42557)

  • opampsupervisor: Add support for client initiated OpAMP heartbeats in the supervisor. (#42533)

  • processor/resourcedetection: Add support for linode cloud in resourcedetectionprocessor (#42543)

  • processor/resourcedetectionprocessor: Add support for Scaleway host image attributes in the resourcedetectionprocessor (#42682)

  • processor/resourcedetectionprocessor: Add support for Vultr cloud provider in the resourcedetectionprocessor (#42569)

  • spanmetricsconnector: Supports adding the collector.instance.id attribute to data points generated by the spanmetrics connector. (#40400)
    This feature currently in alpha stage, user should enable it by feature-gate --feature-gates=+connector.spanmetrics.includeCollectorInstanceID

  • processor/resourcedetectionprocessor: Add support for Scaleway cloud provider in the resourcedetectionprocessor (#42664)

  • tailsamplingprocessor: Set a tailsampling.cached_decision attribute on traces that were sampled by the decision cache. (#42535)

  • receiver/k8scluster: Add experimental metric for container status reason (#32457)

  • xpdata: Add Serialization and Deserialization of AnyValue (#12826)

  • debugexporter: add support for batching (#13791)
    The default queue size is 1

  • configtls: Add early validation for TLS server configurations to fail fast when certificates are missing instead of failing at runtime. (#13130, #13245)

🧰 Bug fixes 🧰

  • exporter/loadbalancing: Drop resources if the service routing key does not exist (#41550)
  • processor/redaction: Support redaction of scope level atrributes (#42659)
  • otelcol: Fix a potential deadlock during collector shutdown. (#13740)
  • otlpexporter: fix the validation of unix socket endpoints (#13826)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • exporter/loadbalancingexporter: Add load balancing exporter, including configuration example and tests. (#636)

v0.36.0

16 Sep 13:21
880e3d5

Choose a tag to compare

v0.36.0

This release includes version 0.135.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.135.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • k8sattributesprocessor: Introduce allowLabelsAnnotationsSingular feature gate to use singular format for k8s label and annotation resource attributes #39774
    The feature gate, when enabled, will change the default resource attribute key format from k8s.<workload>.labels.<label-key> to k8s.<workload>.label.<label-key>. Same applies for annotations.

💡 Enhancements 💡

  • exporterhelper: Add new exporter_queue_batch_send_size and exporter_queue_batch_send_size_bytes metrics, showing the size of telemetry batches from the exporter. #12894
  • transformprocessor: Add support for merging histogram buckets. #40280
    The transformprocessor now supports merging histogram buckets using the merge_histogram_buckets function.
  • statsdreceiver: Introduce explicit bucket for statsd receiver #41203, #41503
  • k8sclusterreceiver: Add option namespaces for setting a list of namespaces to be observed by the receiver. This supersedes the namespace option which is now deprecated. #40089
  • k8sobjectsreceiver: Adds the instrumentation scope name and version #42290
  • receiver/kubeletstats: Introduce k8s.pod.volume.usage metric. #40476

Dynatrace distribution changelog:

💡 Enhancements 💡

  • k8seventsreceiver: Add the k8sevents receiver to the Dynatrace distribution of the OTel collector (#658)

v0.35.1

03 Sep 08:57
2256a4c

Choose a tag to compare

v0.35.1

This release includes version 0.134.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.134.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • pkg/ottl: Keep the original map and continue processing keys if an error is encountered when calling an optional replacement function in replace_all_patterns. (#42359)

🧰 Bug fixes 🧰

  • k8sattributesprocessor: Allow service.namespace to be used in rules and fix docs (#40859)
  • tailsamplingprocessor: Fix a race condition in the tailsampling processor that could cause traces to be dropped prematurely. (#41656)

💡 Enhancements 💡

  • k8sclusterreceiver: Add optional experimental k8s.container.status.state metric (#32457, #32457)
  • filelogreceiver: Move filelog.decompressFingerprint feature gate to beta stage (#42189)
  • tailsamplingprocessor: Optimize telemetry collection in tailsamplingprocessor (#41888)
  • tailsamplingprocessor: Add a new option to block on num traces overflow. (#41546)
  • prometheusreceiver: Remove temporary fix for metric name validation, fix upstream resolved (#42004)
  • prometheusreceiver: Fixes a bug where static configuration labels were dropped when using the Prometheus receiver. Previously, labels defined in the static config were not being applied to the metrics. (#41727)
  • pkg/ottl: Avoid multiple copies of the Map in replace_all_patterns. (#42359)
  • pkg/ottl: Remove unnecessary Value initialization when setting an attribute/body (#42335, #42362)
  • pkg/ottl: Add an Index(target, value) OTTL function which returns the index of the first occurrence of value in target. (#40351)
  • pkg/stanza: add sanitize_utf8 operator to replace invalid UTF-8 characters. (#42028)

v0.35.0

02 Sep 10:47
36908dc

Choose a tag to compare

v0.35.0

This release includes version 0.133.0 and 0.134.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.133.0:

v0.134.0:

Highlights from the upstream Collector changelog

🧰 Bug fixes 🧰

  • exporterhelper: Prevent uncontrolled goroutines in batcher due to a incorrect worker pool behaviour. (#13689)
  • service: Ensure the insecure configuration is accounted for when normalizing the endpoint. (#13691)
  • batchprocessor: Fix UB in batch processor when trying to read bytes size after adding request to pipeline (#13698)
    This bug only happens if detailed metrics are enabled and also an async (sending queue enabled) exporter that mutates data is configured.
  • pdata: Correctly parse OTLP payloads containing non-packed repeated primitive fields (#13727, #13730)
    This bug prevented the Collector from ingesting most Histogram, ExponentialHistogram,
    and Profile payloads.

💡 Enhancements 💡

  • otlphttpexporter: Add profiles_endpoint configuration option to allow custom endpoint for profiles data export (#13504)
    The profiles_endpoint configuration follows the same pattern as traces_endpoint, metrics_endpoint, and logs_endpoint.
    When specified, profiles data will be sent to the custom URL instead of the default {endpoint}/v1development/profiles.
  • receiverhelper: New feature flag to make receiverhelper distinguish internal vs. downstream errors using new otelcol_receiver_failed_x and otelcol_receiver_requests metrics (#12207, #12802)
    This is a breaking change for the semantics of the otelcol_receiver_refused_metric_points, otelcol_receiver_refused_log_records and otelcol_receiver_refused_spans metrics.
    These new metrics and semantics are enabled through the receiverhelper.newReceiverMetrics feature gate.
  • debugexporter: Add support for entity references in debug exporter output (#13324)
  • pdata: Add support for local memory pooling for data objects. (#13678)
    This is still an early experimental (alpha) feature. Do not recommended to be used production. To enable use "--featuregate=+pdata.useProtoPooling"
  • pdata: Optimize CopyTo messages to avoid any copy when same source and destination (#13680)
  • pdata: Fix unnecessary allocation of a new state when adding new values to pcommon.Map (#13634)
  • service: Implement refcounting for pipeline data owned memory. (#13631)
    This feature is protected by --featuregate=+pdata.useProtoPooling.
  • service: Add a debug-level log message when a consumer returns an error. (#13357)
  • xpdata: Optimize xpdata/context for persistent queue when only one value for key (#13636)
  • otlpreceiver: Log the listening addresses of the receiver, rather than the configured endpoints. (#13654)
  • pdata: Use the newly added proto marshaler/unmarshaler for the official proto Marshaler/Unmarshaler (#13637)
    If any problems observed with this consider to disable the featuregate --feature-gates=-pdata.useCustomProtoEncoding
  • pdata: Add custom grpc/encoding that replaces proto and calls into the custom marshal/unmarshal logic in pdata. (#13631)
    This change should not affect other gRPC calls since it fallbacks to the default grpc/proto encoding if requests are not pdata/otlp requests.
  • pdata: Avoid copying the pcommon.Map when same origin (#13731)
    This is a very large improvement if using OTTL with map functions since it will avoid a map copy.
  • exporterhelper: Respect num_consumers when batching and partitioning are enabled. (#13607)

v0.34.0

18 Aug 13:23
7bd3d30

Choose a tag to compare

v0.34.0

This release includes version 0.132.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.132.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • componentstatus: Change the signature of the componentstatus.NewEvent to accept multiple options. (#13210)
    Changes the signature of the component.NewEvent to accept multiple EventBuilderOption,
    like the new WithAttributes constructor.

🚩 Deprecations 🚩

  • service: move service.noopTraceProvider feature gate to deprecated stage (#13492)
    The functionality of the feature gate is available via configuration with the following telemetry settings:

    service:
      telemetry:
        traces:
          level: none
    
  • service: The telemetry.disableHighCardinalityMetrics feature gate is deprecated (#13537)
    The feature gate is now deprecated since metric views can be configured.
    The feature gate will be removed in v0.134.0.

    The metric attributes removed by this feature gate are no longer emitted
    by the Collector by default, but if needed, you can achieve the same
    functionality by configuring the following metric views:

    service:
      telemetry:
        metrics:
          level: detailed
          views:
            - selector:
                meter_name: "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
              stream:
                attribute_keys:
                  excluded: ["net.sock.peer.addr", "net.sock.peer.port", "net.sock.peer.name"]
            - selector:
                meter_name: "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
              stream:
                attribute_keys:
                  excluded: ["net.host.name", "net.host.port"]

    Note that this requires setting service::telemetry::metrics::level: detailed.
    If you have a strong use case for using views in combination with a different
    level, please show your interest in
    open-telemetry/opentelemetry-collector#10769.

💡 Enhancements 💡

  • exporterhelper: Provide an interface queue_batch.Setting.MergeCtx so users can control how context values are preserved or combined (#13320)
    By supplying a custom mergeCtx function, users can control how context values are preserved or combined.
    The default behavior is to preserve no context values.

  • pdata: Avoid unnecessary buffer copy when JSON marshal fails. (#13598)

  • pipeline: Mark module as stable (#12831)

  • pdata: Generate Logs/Traces/Metrics/Profiles and p[log|trace|metric|profile]ExportResponse with pdatagen. (#13597)
    This change brings consistency on how these structs are written and remove JSON marshaling/unmarshaling hand written logic.

  • confighttp: Add option to configure ForceAttemptHTTP2 to support HTTP/1 specific transport settings. (#13426)

  • pdata: Avoid unnecessary buffer copy when JSON marshal fails. (#13598)

  • processorhelper: Add processor internal duration metric. (#13231)

  • pdata: Improve RemoveIf for slices to not reference anymore the removed memory (#13522)

  • pkg/ottl: Add OTTL support for sample submessage of OTel Profiling signal. (#40161)

  • internal/common: Add a priority queue implementation to the common package. (#41755)

  • redactionprocessor: Add database sanitization capability to the redaction processor. (#41647)

  • pkg/ottl: Add UUIDv7 function to generate v7 UUIDs. (#41268)

  • filelogreceiver: Add a new setting, polls_to_archive, to control the number of poll cycles to store on disk, rather than being discarded. (#32727)
    If polls_to_archive setting is used in conjunction with storage setting, file offsets older than three poll cycles are stored on disk rather than being discarded.
    This feature enables the receiver to remember file for a longer period and also aims to use limited amount of memory.

  • pkg/stanza: Add support for batch processing in most operators (#39575)
    The following operators now support batching: add, assign_keys, copy, flatten, move,
    regex_replace, remove, retain, unquote json_parser, json_array_parser, key_value_parser,
    regex_parser, scope_name, severity, timestamp, trace_parser, uri_parser.

    The following operators do not support batching yet: container, csv_parser, filter,
    recombine, router, syslog.

  • k8sobjectsreceiver: Introduces include_initial_state for watch mode, so the existing state of watched objects emitted as log events. (#41536)

  • cmd/opampsupervisor: The Supervisor can now be configured to expose a health check endpoint (#40529)
    Use agent::healthcheck to configure the Supervisor's health check endpoint. It supports all of
    the configuration from confighttp.ServerConfig.
    The health check endpoint is checking the following conditions:

    • The persistent state is not nil: this should cover the existence of the instance ID, among other things.
    • The config state is not nil: this should cover the existence of the merged config.
  • processor/transform: Introduce convert_summary_quantile_val_to_gauge() function (#33850)

  • tailsamplingprocessor: Add decision attribute to metrics tracking sampling decisions (#41819)
    Possible values for the decision attribute are sampled, not_sampled and dropped

🧰 Bug fixes 🧰

  • pdata: Fix null pointer access when copying into a slice with larger cap but smaller len. (#13523)

  • confighttp: Fix middleware configuration field name from "middleware" to "middlewares" for consistency with configgrpc (#13444)

  • memorylimiterextension, memorylimiterprocessor: Memory limiter extension and processor shutdown don't throw an error if the component was not started first. (#9687)
    The components would throw an error if they were shut down before being started.
    With this change, they will no longer return an error, conforming to the lifecycle of components expected.

  • confighttp: Reuse zstd Reader objects (#11824)

  • statsdreceiver: Fixes a bug when storing k8s.pod.ip in the metrics. Previously otelcol IP was used instead of the client IP. (#41361, #41362)

  • spanmetricsconnector: Adds a default maximum number of exemplars within the metric export interval. (#41679)

    1. If the user manually sets max_per_data_point, there will be no impact.
    2. If the user does not set max_per_data_point, the default value will take effect, with max_per_data_point = 5.

Dynatrace distribution changelog:

💡 Enhancements 💡

  • config_examples: Add Dynatrace Operator metadata object processing to k8s enrichment config example #615
    This extends the config example for the k8sattributesprocessor and related transformprocessor statements
    to add pod metadata added by the Dynatrace Operator to the resource attributes in exported telemetry. See
    https://docs.dynatrace.com/docs/shortlink/k8s-metadata-telemetry-enrichment on how to configure this operator feature.

v0.33.0

05 Aug 07:55
c71ccac

Choose a tag to compare

v0.33.0

This release includes version 0.131.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.131.0:

v0.130.1:

v0.130.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • confighttp: Move confighttp.framedSnappy feature gate to beta. (#10584)
  • exporter/otlp: Remove deprecated batcher config from OTLP, use queuebatch (#13339)
  • kubeletstats: Move receiver.kubeletstats.enableCPUUsageMetrics feature gate to stable (#39650)

🚩 Deprecations 🚩

  • spanmetricsconnector: Mark dimensions_cache_size as deprecated following the upstream guidelines (#41101)

💡 Enhancements 💡

  • exporter/debug: Move to alpha stability except profiles (#13487)

  • exporterhelper: Enable exporter.PersistRequestContext feature gate by default. (#13437)
    Request context is now preserved by default when using persistent queues.
    Note that Auth extensions context is not propagated through the persistent queue.

  • pdata: Use pdatagen to generate marshalJSON without using gogo proto jsonpb. (#13450)

  • otlpreceiver: Remove usage of gogo proto which uses reflect.Value.MethodByName. Removes one source of disabling DCE. (#12747)

  • exporterhelper: Fix metrics split logic to consider metrics description into the size. (#13418)

  • service: New pipeline instrumentation now differentiates internal failures from downstream errors (#13234)
    With the telemetry.newPipelineTelemetry feature gate enabled, the "received" and "produced"
    metrics related to a component now distinguish between two types of errors:

    • "outcome = failure" indicates that the component returned an internal error;
    • "outcome = refused" indicates that the component successfully emitted data, but returned an
      error coming from a downstream component processing that data.
  • pdata: Remove usage of text/template from pdata, improves DCE. (#12747)

  • exporterhelper: Enable items and bytes sizers for persistent queue (#12881)

  • exporterhelper: Refactor persistent storage size backup to always record it. (#12890)

  • exporterhelper: Add support to configure a different Sizer for the batcher than the queue (#13313)

  • yaml: Replaced sigs.k8s.io/yaml with go.yaml.in/yaml for improved support and long-term maintainability. (#13308)

  • pkg/ottl: Add OS name and version attributes in the UserAgent function output. (#35458)

  • httpcheckreceiver: Add TLS certificate checking capability for HTTPS endpoints. (#35968)
    The receiver can collect TLS certificate metrics including time remaining until expiry, issuer, common name, and SANs.
    If the HttpCheckTLSCertRemaining metric is enabled and the endpoint is HTTPS, it will collect the certificate metrics.

  • processor/k8sattributes: Support extracting labels and annotations from k8s StatefulSets (#37957)

  • text_encoding: Move text_encoding extension to alpha, adding it to the contrib distribution (#41452)

  • pkg/ottl: Add support for combining scope with other OTTL contexts. (#39308)
    Previously, OTTL paths could only use the instrumentation_scope context when combined with
    lower-level contexts like log or metric. This change allows the scope context to be
    used interchangeably with instrumentation_scope, improving flexibility and consistency.

  • pkg/ottl: Added a new Values OTTL Function. (#41243)

  • pkg/ottl: Allow optional KeyPath in OTTL SliceToMap function. (#41390)

  • receiver/prometheus: Add retry logic for connection refused errors so the collector doesn't crash at startup. (#40982)
    This change adds retry logic for connection refused errors. The target allocator could be
    busy starting up the receiver and the first connection attempt may fail.

  • receiver/prometheus: Add support for otel_scope_schema_url label mapping to OpenTelemetry ScopeMetrics schema URL field (#41488)

  • redactionprocessor: The new redact_all_types option redacts all field types after casting them to string. (#36684)

  • filelogreceiver: Add option include_file_record_offset to insert offset as attribute in log records as log.file.record.offset (#39684)

  • pkg/ottl: Add new Keys converter to extract all keys from a given map. (#39256)

  • pkg/ottl: Added a new ParseInt OTTL Function. (#40758)

  • transformprocessor: Add profiles support to transformprocessor. (#39009)

🧰 Bug fixes 🧰

  • exporterhelper: Prevents the exporter for being stuck when telemetry data is bigger than batch.max_size (#12893)

  • mdatagen: Fix import paths for mdatagen component (#13069)

  • otlpreceiver: Error handler correctly fallbacks to content type (#13414)

  • pdata/pprofiles: Fix profiles JSON unmarshal logic for originalPayload. The bytes have to be base64 encoded. (#13483)

  • service: Downgrade dependency of prometheus exporter in OTel Go SDK (#13429)
    This fixes the bug where collector's internal metrics are emitted with an unexpected suffix in their names when users configure the service::telemetry::metrics::readers with Prometheus

  • service: Revert Default internal metrics config now enables otel_scope_ labels (#12939, #13344)
    Reverting change temporarily due to prometheus exporter downgrade. This unfortunately re-introduces the bug that instrumentation scope attributes cause errors in Prometheus exporter. See http://github.com/open-telemetry/opentelemetry-collector/issues/12939 for details.

  • service: Fixes bug where internal metrics are emitted with an unexpected suffix in their names when users configure service::telemetry::metrics::readers with Prometheus. (#13449)
    See more details on open-telemetry/opentelemetry-go#7039

  • exporterhelper: Fix exporter.PersistRequestContext feature gate (#13342)

  • exporterhelper: Preserve all metrics metadata when batch splitting. (#13236)
    Previously, when large batches of metrics were processed, the splitting logic in metric_batch.go could
    cause the name field of some metrics to disappear. This fix ensures that all metric fields are
    properly preserved when metricRequest objects are split.

  • service: Default internal metrics config now enables otel_scope_ labels (#12939, #13344)
    By default, the Collector expor...

Read more

v0.32.0

15 Jul 20:51
8b78e73

Choose a tag to compare

v0.32.0

This release includes version 0.129.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.129.0:

v0.128.0:

Highlights from the upstream Collector changelog

🚩 Deprecations 🚩

  • receiver/hostmetrics: Mark hostmetrics.process.onWindowsUseNewGetProcesses feature gate as stable (#32947)
  • resourcedetectionprocessor: Promote the processor.resourcedetection.removeGCPFaasID feature gate to beta. (#40601)
    The faas.id attribute is replaced by the faas.instance attribute. | This disables detection of the faas.id resource attribute by default. | Re-enable by disabling the processor.resourcedetection.removeGCPFaasID feature gate.
  • prometheusreceiver: Promote the receiver.prometheusreceiver.RemoveLegacyResourceAttributes featuregate to stable (#40572)
    It has been beta since v0.126.0

💡 Enhancements 💡

  • resourcedetectionprocessor: Add the option to retrieve resource attributes from the K8s API server and EC2 api when the IMDS service is not available.(#39503
  • resourcedetectionprocessor: Add additional OS properties to resource detection: os.build.id and os.name(#39941
  • filelogreceiver: The fingerprint of gzip compressed files is created by decompressing and reading the first fingerprint_size bytes.(#37772
    This feature can be enabled via the following feature gate --feature-gates=filelog.decompressFingerprint. This can cause existing gzip files to be re-ingested because of changes in how fingerprints are computed.
  • processor/k8sattributes: Support extracting labels and annotations from k8s Deployments(#37957
  • receiver/k8s_cluster: Add onDelete handler to emit the experimental entity delete events(#40278
  • processor/resourcedetection: add host.interface resource attribute to system detector(#39419
  • service: Support setting sampler and limits under service::telemetry::traces (#13201)
    This allows users to enable sampling and set span limits on internal Collector traces using the
    OpenTelemetry SDK declarative configuration.
  • exporterhelper: Preserve request span context and client information in the persistent queue. (#11740, #13220, #13232)
    It allows internal collector spans and client information to propagate through the persistent queue used by
    the exporters. The same way as it's done for the in-memory queue.
    Currently, it is behind the exporter.PersistRequestContext feature gate, which can be enabled by adding
    --feature-gates=exporter.PersistRequestContext to the collector command line. An exporter buffer stored by
    a previous version of the collector (or by a collector with the feature gate disabled) can be read by a newer
    collector with the feature enabled. However, the reverse is not supported: a buffer stored by a newer collector with
    the feature enabled cannot be read by an older collector (or by a collector with the feature gate disabled).
  • receiver/hostmetrics: Add system.paging.faults metrics on Windows (#40468)
  • netflowreceiver: Add TCP flags attribute to netflow receiver. (#40487)
  • processor/transform: Introduce optional metric name suffix setup for metric conversion functions (#33850)
    The affected functions are: convert_summary_count_val_to_sum(), convert_summary_sum_val_to_sum(), extract_count_metric(), extract_sum_metric()

🧰 Bug fixes 🧰

  • prometheusrecevier: Add feature gate to allow enabling and disabling the Prometheus created timestamp zero ingestion feature flag.(#40245
  • service: Only allocate one set of internal log sampling counters (#13014)
    The case where logs are only exported to stdout was fixed in v0.126.0;
    this new fix also covers the case where logs are exported through OTLP.
  • prometheusreceiver: Fix invalid metric name validation error in scrape start from target allocator. (#35459, #40788)
    Prometheus made setting metric_name_validation_scheme, metric_name_escaping_scheme mandatory mandatory, use sane defaults.
  • hostmetricsreceiver: Minor fix to the handling of conntrack errors (#40175)
  • k8sattributesprocessor: Make sure getIdentifiersFromAssoc() can handle container.id (#40745)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • k8sattributesprocessor: Add k8s.container.name to list of extracted attributes by the k8sattributes processor. (#596)
    Please note that the k8s.container.name attribute will only be added if the pod from which the incoming
    signal has been received contains only one container, or if the ingested signal contains the k8s.container.id resource attribute.
    Otherwise, the k8sattributes processor will not be able to correctly associate the correct container.

v0.31.0

12 Jun 13:50
2fec851

Choose a tag to compare

This release includes version 0.127.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.127.0:

Highlights from the upstream Collector changelog

💡 Enhancements 💡

  • processor/tailsampling: Add first policy match decision to tailsampling processor (#36795)

  • receiver/k8sclusterreceiver: Added new resource attributes k8s.hpa.scaletargetref.kind, k8s.hpa.scaletargetref.name, and k8s.hpa.scaletargetref.apiversion to the k8s.hpa resource. These attributes are disabled by default. (#38768)

  • receiver/netflow: Adds additional common EtherTypes for network.type. (#40219)

  • k8sattributesprocessor: Add option to configure automatic service resource attributes (#37114)
    Implements Service Attributes.

    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: { metadata: ["service.namespace", "service.name", "service.version", "service.instance.id"] }
    configuration to the k8sattributesprocessor processor.
    See the documentation for more details.

  • exporter/debug: Display resource and scope in normal verbosity (#10515)

🧰 Bug fixes 🧰

  • filelogreceiver: Introduce utf8-raw encoding to avoid replacing invalid bytes with \uFFFD when reading UTF-8 input. (#39653)
  • spanmetricsconnector: Fix bug causing span metrics calls count to be always 0 when using delta temporality (#40139)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • docs: Update host monitoring dashboard together with docs and configuration example (#585)