Releases: Dynatrace/dynatrace-otel-collector
v0.39.0
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.138.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.138.0
Highlights from the upstream Collector changelog
🛑 Breaking changes 🛑
-
pkg/exporterhelper: Add default values forsending_queue::batchconfiguration. (#13766)
Settingsending_queue::batchto 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 theprint-initial-configcommand. See theservicepackage README for more details. The original command nameprint-initial-configremains an alias, to be retired with the feature flag.
💡 Enhancements 💡
-
all: Addkeep_alives_enabledoption 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 theottl.GetLiteralValuefunction 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 avalueto 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
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.137.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/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 xexporterhelperspanmetricsconnector: 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
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.136.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/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 thecollector.instance.idattribute 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 atailsampling.cached_decisionattribute 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
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.135.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/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 fromk8s.<workload>.labels.<label-key>tok8s.<workload>.label.<label-key>. Same applies for annotations.
💡 Enhancements 💡
exporterhelper: Add newexporter_queue_batch_send_sizeandexporter_queue_batch_send_size_bytesmetrics, showing the size of telemetry batches from the exporter. #12894transformprocessor: Add support for merging histogram buckets. #40280
The transformprocessor now supports merging histogram buckets using themerge_histogram_bucketsfunction.statsdreceiver: Introduce explicit bucket for statsd receiver #41203, #41503k8sclusterreceiver: Add optionnamespacesfor setting a list of namespaces to be observed by the receiver. This supersedes thenamespaceoption which is now deprecated. #40089k8sobjectsreceiver: Adds the instrumentation scope name and version #42290receiver/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
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 inreplace_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 anIndex(target, value)OTTL function which returns the index of the first occurrence ofvalueintarget. (#40351)pkg/stanza: addsanitize_utf8operator to replace invalid UTF-8 characters. (#42028)
v0.35.0
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.133.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/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: Addprofiles_endpointconfiguration option to allow custom endpoint for profiles data export (#13504)
Theprofiles_endpointconfiguration follows the same pattern astraces_endpoint,metrics_endpoint, andlogs_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 newotelcol_receiver_failed_xandotelcol_receiver_requestsmetrics (#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 thereceiverhelper.newReceiverMetricsfeature 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.useCustomProtoEncodingpdata: 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: Respectnum_consumerswhen batching and partitioning are enabled. (#13607)
v0.34.0
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.132.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/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: moveservice.noopTraceProviderfeature 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: Thetelemetry.disableHighCardinalityMetricsfeature 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 interfacequeue_batch.Setting.MergeCtxso 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: AddUUIDv7function 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)
Ifpolls_to_archivesetting is used in conjunction withstoragesetting, 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,unquotejson_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: Introducesinclude_initial_statefor 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)
Useagent::healthcheckto configure the Supervisor's health check endpoint. It supports all of
the configuration fromconfighttp.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: Adddecisionattribute to metrics tracking sampling decisions (#41819)
Possible values for thedecisionattribute aresampled,not_sampledanddropped
🧰 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)- If the user manually sets max_per_data_point, there will be no impact.
- 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
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.131.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.131.0
v0.130.1:
v0.130.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.130.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.130.0
Highlights from the upstream Collector changelog
🛑 Breaking changes 🛑
confighttp: Moveconfighttp.framedSnappyfeature 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: Enableexporter.PersistRequestContextfeature 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: Replacedsigs.k8s.io/yamlwithgo.yaml.in/yamlfor improved support and long-term maintainability. (#13308) -
pkg/ottl: Add OS name and version attributes in theUserAgentfunction 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: Movetext_encodingextension to alpha, adding it to the contrib distribution (#41452) -
pkg/ottl: Add support for combiningscopewith other OTTL contexts. (#39308)
Previously, OTTL paths could only use theinstrumentation_scopecontext when combined with
lower-level contexts likelogormetric. This change allows thescopecontext to be
used interchangeably withinstrumentation_scope, improving flexibility and consistency. -
pkg/ottl: Added a newValuesOTTL 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 newredact_all_typesoption redacts all field types after casting them to string. (#36684) -
filelogreceiver: Add optioninclude_file_record_offsetto insert offset as attribute in log records aslog.file.record.offset(#39684) -
pkg/ottl: Add newKeysconverter to extract all keys from a given map. (#39256) -
pkg/ottl: Added a newParseIntOTTL 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 enablesotel_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 configureservice::telemetry::metrics::readerswith 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 inmetric_batch.gocould
cause thenamefield of some metrics to disappear. This fix ensures that all metric fields are
properly preserved whenmetricRequestobjects are split. -
service: Default internal metrics config now enablesotel_scope_labels (#12939, #13344)
By default, the Collector expor...
v0.32.0
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.129.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.129.0
v0.128.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.128.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.128.0
Highlights from the upstream Collector changelog
🚩 Deprecations 🚩
receiver/hostmetrics: Markhostmetrics.process.onWindowsUseNewGetProcessesfeature 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.(#39503resourcedetectionprocessor: Add additional OS properties to resource detection:os.build.idandos.name(#39941filelogreceiver: The fingerprint of gzip compressed files is created by decompressing and reading the firstfingerprint_sizebytes.(#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(#37957receiver/k8s_cluster: Add onDelete handler to emit the experimental entity delete events(#40278processor/resourcedetection: addhost.interfaceresource attribute tosystemdetector(#39419service: Support settingsamplerandlimitsunderservice::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.PersistRequestContextto 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: Addsystem.paging.faultsmetrics 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.(#40245service: 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: Addk8s.container.nameto list of extracted attributes by the k8sattributes processor. (#596)
Please note that thek8s.container.nameattribute 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 thek8s.container.idresource attribute.
Otherwise, the k8sattributes processor will not be able to correctly associate the correct container.
v0.31.0
This release includes version 0.127.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.127.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.127.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/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 attributesk8s.hpa.scaletargetref.kind,k8s.hpa.scaletargetref.name, andk8s.hpa.scaletargetref.apiversionto thek8s.hparesource. These attributes are disabled by default. (#38768) -
receiver/netflow: Adds additional common EtherTypes fornetwork.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 thek8sattributesprocessorprocessor.
See the documentation for more details. -
exporter/debug: Display resource and scope innormalverbosity (#10515)
🧰 Bug fixes 🧰
Dynatrace distribution changelog:
💡 Enhancements 💡
docs: Update host monitoring dashboard together with docs and configuration example (#585)