Releases: open-telemetry/opentelemetry-collector-contrib
v0.84.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
User Facing Changes
π Breaking changes π
-
jaegerreceiver
: Deprecate remote_sampling config in the jaeger receiver (#24186)
The jaeger receiver will fail to start if remote_sampling config is specified in it. Thereceiver.jaeger.DisableRemoteSampling
feature gate can be set to let the receiver start and treat remote_sampling config as no-op. In a future version this feature gate will be removed and the receiver will always fail when remote_sampling config is specified. -
googlecloudexporter
: remove retry_on_failure from the googlecloud exporter. The exporter itself handles retries, and retrying can cause issues. (#57233) -
vcenterreceiver
: Dimensions performance metrics into metric attributeobject
(#25147)
The following metrics have been effected to include the new metric attribute to properly dimension the data.vcenter.vm.network.throughput
,vcenter.vm.network.usage
,vcenter.vm.network.packet.count
,vcenter.vm.disk.latency.avg
,vcenter.vm.disk.latency.max
,vcenter.host.network.usage
,vcenter.host.network.throughput
,vcenter.host.network.packet.count
,vcenter.host.network.packet.errors
,
vcenter.host.disk.latency.avg
,vcenter.host.disk.latency.max
, andvcenter.host.disk.throughput
. More information on how to migrate can be found at https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/vcenterreceiver#feature-gates
π© Deprecations π©
datadogprocessor
: Deprecation of Datadog processor in favor of Datadog connector (#19740)tanzuobservabilityexporter
: Deprecation of Tanzu Observability (Wavefront) Exporter in favor of native OTLP ingestion. (#24225)
π‘ Enhancements π‘
redisreceiver
: Adding username parameter for connecting to redis (#24408)postgresqlreceiver
: Addedpostgresql.temp_files
metric. (#26080)receiver/azuremonitor
: Added new attrbutes to the metrics like name, type and resource_group. (#24774)clickhouseexporter
: Change writing of metrics data to batch (#24403)signalfxexporter
: Added a mechanism to drop histogram buckets (#25845)journaldreceiver
: add support for identifiers (#20295)journaldreceiver
: add support for dmesg (#20295)cassandraexporter
: Allow custom port for Cassandra connection (#24391)pkg/ottl
: Add converters to covert duration to nanoseconds, microseconds, milliseconds, seconds, minutes or hours (#24686)snmpreceiver
: Support scalar OID resource attributes (#23373)
Add column and scalar OID metrics to resources that have scalar OID attributesgooglemanagedprometheus
: Add aadd_metric_suffixes
option to the googlemanagedprometheus exporter. When set to false, metric suffixes are not added. (#26071)haproxyreceiver
: Add support for HTTP connections (#24440)cmd/telemetrygen
: Add cli flag --status-code for trace generation (#24286)kubeletstatsreceiver
: Add a newuptime
metric for nodes, pods, and containers to track how many seconds have passed since the object started (#25867)opensearchexporter
: implement OpenSearch exporter. (#23611)pkg/ottl
: Add newExtractPatterns
converter that extract regex pattern from string. (#25834, #25856)pkg/ottl
: Add support for Log, Metric and Trace Slices toLen
converter (#25868)lokitranslator
: Added Attributes support to the InstrumentationScope (#24027)lokitranslator
: Public methodLogToLokiEntry
frompkg/loki/translator
now returns normalized (.
replaced by_
) label names (#26093)postgresqlreceiver
: Addedpostgresql.deadlocks
metric. (#25688)postgresqlreceiver
: Addedpostgresql.sequential_scans
metric. (#26096)prometheusreceiver
: The otel_scope_name and otel_scope_version labels are used to populate scope name and version. otel_scope_info is used to populate scope attributes. (#25870)receiver/prometheus
: translate units from prometheus to UCUM (#23208)snmpreceiver
: Add support for SNMP values of type counter64 (#23897)snmpreceiver
: Timeout for SNMP requests can now be configured. (#25885)telemetrygen
: The telemetrygen now supports setting the log's body (#26031)awsxrayexporter
: addexporter.awsxray.skiptimestampvalidation
Alpha feature gate to remove xray timestamp restriction on first 32 bits of trace id (#26041)
π§° Bug fixes π§°
receiver_creator
: Update expr and relocate breakingtype
function totypeOf
(#26038)azuremonitor_logexporter
: The log exporter now supports non-string data for the log record body. (#23422)vcenterreceiver
: Added a vcenter.resource_pool.inventory_path resource attribute to resource pool metrics in order to properly dimension resource pools of the same name. (#25831)loadbalancingexporter
: fix k8s service resolver retaining invalid old endpoints (#24914)prometheusremotewriteexporter
: Retry on 5xx status codes usingcenkalti/backoff
client (#20304)cmd/telemetrygen
: fix the default value of the arg status-code (#25849)
Go API Changes
π Breaking changes π
-
memcachedreceiver
: Removes duplicateTimeout
field. This change has no impact on end users of the component. (#26084) -
podmanreceiver
: Removes duplicateTimeout
field. This change has no impact on end users of the component. (#26083) -
zookeeperreceiver
: Removes duplicateTimeout
field. This change has no impact on end users of the component. (#26082) -
jaegerreceiver
: Deprecate remote_sampling config in the jaeger receiver (#24186)
The jaeger receiver will fail to start if remote_sampling config is specified in it. Thereceiver.jaeger.DisableRemoteSampling
feature gate can be set to let the receiver start and treat remote_sampling config as no-op. In a future version this feature gate will be removed and the receiver will always fail when remote_sampling config is specified. -
pkg/ottl
: use IntGetter argument for Substring function (#25852) -
pkg/stanza
: Remove deprecated 'helper.Encoding' and 'helper.EncodingConfig.Build' (#25846) -
pkg/stanza
: Remove deprecated fileconsumer config structs (#24853)
Includes | - MatchingCriteria - OrderingCriteria - NumericSortRule - AlphabeticalSortRule - TimestampSortRule -
googlecloudexporter
: remove retry_on_failure from the googlecloud exporter. The exporter itself handles retries, and retrying can cause issues. (#57233)
π© Deprecations π©
pkg/stanza
: Deprecate 'helper.EncodingConfig' and 'helper.NewEncodingConfig' (#25846)pkg/stanza
: Deprecate encoding related elements of helper pacakge, in favor of new decoder package (#26019)
Includes the following deprecations | - Decoder - NewDecoder - LookupEncoding - IsNoppkg/stanza
: Deprecate tokenization related elements of helper pacakge, in favor of new tokenize package (#25914)
Includes the following deprecations | - Flusher - FlusherConfig - NewFlusherConfig - Multiline - MultilineConfig - NewMultilineConfig - NewLineStartSplitFunc - NewLineEndSplitFunc - NewNewlineSplitFunc - Splitter - SplitterConfig - NewSplitterConfig - SplitNone
π‘ Enhancements π‘
googlemanagedprometheus
: Add aadd_metric_suffixes
option to the googlemanagedprometheus exporter. When set to false, metric suffixes are not added. (#26071)receiver/prometheus
: translate units from prometheus to UCUM (#23208)
π§° Bug fixes π§°
receiver/influxdb
: add allowable inputs to line protocol precision parameter (#24974)
v0.83.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
User Facing Changes
π Breaking changes π
-
receiver/k8scluster
: Unify predefined and custom node metrics. (#24776)- Update metrics description and units to be consistent
- Remove predefined metrics definitions from metadata.yaml because they are controlled by
node_conditions_to_report
andallocatable_types_to_report
config options.
-
prometheusexporter
: Remove invalid unit translations from the prometheus exporters (#24647) -
receiver/prometheusexec
: Removes the deprecated prometheus_exec receiver (#24740)
π New components π
-
datadogconnector
: This is a new component that computes Datadog APM Stats in the event that trace pipelines are sampled. (#19740)
This component replaces the Datadog processor -
gitproviderreceiver
: Add the skeleton for the new gitproviderreceiver in development with accompanying github scraper. (#22028)
π‘ Enhancements π‘
-
azuredataexplorerexporter
: Add support for managed identity. This enables users to not use Key based authentication (#21924) -
awsemfexporter
: Add awsemf.nodimrollupdefault feature gate to aws emf exporter (#23997)
Enabling the awsemf.nodimrollupdefault will cause the AWS EMF Exporter to use the NoDimensionRollup configuration
setting by default instead of ZeroAndSingleDimensionRollup. -
awss3exporter
: add Sumo Logic Installed Collector marshaler (#23212) -
receiver/collectdreceiver
: Migrate from opencensus to pdata, change collectd, test to match pdata format. (#20760) -
datasetexporter
: Make duration of shutdown procedure configurable to minimise data losses. (#24415) -
datasetexporter
: Make sure serverHost field is correctly and always populated on the DataSet events. For more information and available configuration options, please refer to the plugin readme file. (#20660, #24415) -
datadogreceiver
: add datadog trace and span id (#23057) -
pkg/ottl
: Add support for using addition and subtraction with time and duration (#22009) -
transformprocessor
: Add extract_count_metric OTTL function to transform processor (#22853) -
transformprocessor
: Add extract_sum_metric OTTL function to transform processor (#22853) -
prometheusreceiver
: Don't drop histograms without buckets (#22070) -
pkg/ottl
: Add a new Function Getter to the OTTL package, to allow passing Converters as literal parameters. (#22961)
Currently OTTL provides no way to use any defined Converter within another Editor/Converter.
Although Converters can be passed as a parameter, they are always executed and the result is what is actually passed as the parameter.
This allows OTTL to pass Converters themselves as a parameter so they can be executed within the function. -
resourcedetectionprocessor
: GCP resource detection processor can automatically addgcp.gce.instance.hostname
andgcp.gce.instance.name
attributes. (#24598) -
splunkhecexporter
: Add heartbeat check while startup and new config param, heartbeat/startup (defaults to false). This is different than the healtcheck_startup, as the latter doesn't take token or index into account. (#24411) -
hostmetricsreceiver
: Report logical and physical number of CPUs as metric. (#22099)
Use thesystem.cpu.logical.count::enabled
andsystem.cpu.physical.count::enabled
flags to enable them -
k8sclusterreceiver
: Allows disabling metrics and resource attributes (#24568) -
k8sclusterreceiver
: Reduce memory utilization (#24769) -
k8sattributes
: Added k8s.cluster.uid to k8sattributes processor to add cluster uid (#21974) -
resourcedetectionprocessor
: Collect heroku metadata available instead of exiting early. Log at debug level if metadata is missing to help troubleshooting. (#25059) -
hostmetricsreceiver
: Improved description of the system.cpu.utilization metrics. (#25115) -
cmd/mdatagen
: Avoid reusing the same ResourceBuilder instance for multiple ResourceMetrics (#24762) -
resourcedetectionprocessor
: Add detection of os.description to system detector (#24541) -
filelogreceiver
: Bump 'filelog.allowHeaderMetadataParsing' feature gate to beta (#18198) -
receiver/purefareceiver
: implement the custom labelfa_array_name
to act as a pretty label for metrics received. (#23889, #21248, #22027) -
receiver/prometheusreceiver
: Add configreport-extra-scrape-metrics
to report additional prometheus scraping metrics (#21040)
Emits additional metrics - scrape_body_size_bytes, scrape_sample_limit, scrape_timeout_seconds. scrape_body_size_bytes metric can be used for checking failed scrapes due to body-size-limit. -
receiver/sqlquery
: Set ObservedTimestamp on collected logs (#23776) -
exporter/awss3exporter
: Allow custom endpoints to be configured for exporting spans (#21833) -
cmd/telemetrygen
: Add ability to set custom path to endpoint. (#24551) -
telemetrygen
: Adds batch option to configure whether to batch traces, and size option to configure minimum size in MB of each trace for load testing. (#9597) -
webhookreceiver
: Add an optional config setting to set a required header that all incoming requests must provide (#24270) -
extension/jaegerremotesampling
: gRPC remote source usage in jaegerremotesampling extension propagates HTTP headers if set in gRPC client config (#24414) -
extension/jaegerremotesampling
: gRPC remote source usage in jaegerremotesampling extension supports optional caching via existingreload_interval
config (#24840)
π§° Bug fixes π§°
-
receiver/sshcheck
: Add the SSH endpoint as a resource attribute (#24441) -
awsemfexporter
: Enforce time to live on metric data that is stored for the purpose of cumulative to delta conversions within EMF Exporter (#25058)
This change fixes a bug where the cache used to store metric information for cumulative to delta
conversions was not enforcing its time to live. This could cause excessive memory growth in certain scenarios which could
lead to OOM failures for Collector. To properly fix this issue package global metric caches were removed and replaced
with caches that are unique per emf exporter. A byproduct of this change is that no two emf exporters within an
Collector will share a caches leading to more accurate cumulative to delta conversions. -
awsemfexporter
: Add retain_initial_value_of_delta_metric to translateOTelToGroupedMetric, allowing the initial set of metrics to be published (#24051) -
carbonreceiver
: Fix Carbon receiver obsrecv operations memory leak (#24275)
The carbonreceiver has a memory leak where it will repeatedly open new obsrecv operations but not close them afterwards. Those operations eventually create a burden.The fix is to make sure the receiver only creates an operation per interaction over TCP.
-
datadogexporter
: Populate OTLP resource attributes in Datadog logs. Changes mapping forjvm.loaded_classes
fromprocess.runtime.jvm.classes.loaded
toprocess.runtime.jvm.classes.current_loaded
. (#24674) -
datadogexporter
: Fix the population of Datadogsystem.*
metrics. Ensure the average is within [min, max] in histograms. (#25071)
The minimum and maximum estimation is only used when the minimum and maximum are not available in the OTLP payload or this is a cumulative payload. -
pkg/stanza
: Create a new decoder for each TCP/UDP connection to prevent concurrent write to buffer. (#24980) -
exporter/kafkaexporter
: Fixes a panic when SASL configuration is not present (#24797) -
lokitranslator, lokiexporter
: Fixes a panic that occurred during the promotion of nested attributes containing dots to labels (#25125) -
awsxrayexporter
: Fix X-Ray Segment status code and exception translations. (#24381) -
receiver/haproxy
: Make sure emitted resource metrics have distinct resources by default (#24921)
This is done by enabling and renaming the following resource attributes:- proxy_name -> haproxy.proxy_name
- service_name -> haproxy.service_name
-
receiver/k8sobjects
: Fix bug where duplicate data would be ingested for watch mode if the client connection got reset. (#24806) -
datadogreceiver
: Fixed NPE on failed to decode message path (#24562) -
zipkinreceiver
: Respects zipkin's serialised status tags to be converted to span status (#14965) -
datadogexporter
: Correctly set metrics exporter capabilities to state that it mutates data (#24908)
This could lead to random panics if using more than one metrics exporter. -
processor/resourcedetection
: Do not drop all system attributes ifhost.id
cannot be fetched. (#24669) -
signalfxexporter
: convert vmpage_io* translated metrics to pages (#25064) -
splunkhecreceiver
: aligns success resp body w/ splunk enterprise (#19219)
changes resp from plaintext "ok" to json {"text"οΌ"success", "code"οΌ0}
Go API Changes
π Breaking changes π
exporter/clickhouse
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273)all
: Remove go 1.19 support, bump minimum to go 1.20 and add testing for 1.21 (#8207)solacereceiver
: Move model package to the internal package (#24890)receiver/statsdreceiver
: Move protocol and transport packages to internal (#24892)filterprocessor
: UnexportStrict
andRegexp
(#24845)mdatagen
: Rename the mdatagen sum fieldaggregation
toaggregation_temporality
(#16374)metricstransformprocessor
: Unexport elements of the Go API of the processor (#24846)mezmoexporter
: Unexport theMezmoLogLine
andMezmoLogBody
structs (#24842)pkg/stanza
: Remove deprecated 'fileconsumer.FileAttributes' (#24688)pkg/stanza
: Remove deprecated 'fileconsumer.EmitFunc' (#24688)pkg/stanza
: Remove deprecatedfileconsumer.Finder
...
v0.82.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
π Breaking changes π
-
receiver/awsfirehose
: Change the type ofConfig.AccessKey
to beconfigopaque.String
(#17273) -
receiver/cloudfoundry
: Change the type ofConfig.UAA.Password
to beconfigopaque.String
(#17273) -
exporter/datasetexporter
: Remove temporary client side attribute aggregation and corresponding traces.max_wait and traces.aggregate config options which are now redundant. (#20660)
This pull request removes the following attributes from the DataSet trace events: services,
span_count, error_count. Those attributes were populated on the client side as part of the client
side aggregation code. This client side aggregation was meant as a temporary solution until a
proper solution is implement on the server side. Being a temporary solution meant it had many
edge cases and would only work under specific and limited circumstances (all spans which belong
to a trace are part of the same batch received by the plugin).Corresponding config options (traces.aggregate and traces.max_wait) which are not redundant and
unused have also been removed. -
mysqlreceiver
: removingmysql.locked_connects
metric which is replaced bymysql.connection.errors
(#23211) -
pkg/ottl
: Allow access to the metrics slice in the metric context (#24446)
This is only a breaking change for users using OTTL in custom components. For all Contrib components this is an enhancement. -
pkg/stanza
: Make fileconsumer.PositionalScanner internal (#23999) -
pkg/stanza
: Make fileconsumer.Fingerprint internal (#23998) -
receiver/httpcheck
: Fail fast on endpoint missing scheme (#23020)
Previously, when configured with an endpoint without HTTP/HTTPS scheme like "opentelemetry.io",
the receiver would start correctly, but fail to check the endpoint, producing thehttpcheck.error
metric on every collection interval. After this change, the receiver fails to start, writing
an error log saying that you need to provide a scheme in the endpoint. -
receiver/jmx
: Change the types ofConfig.{Password,KeystorePassword,TruststorePassword}
to beconfigopaque.String
(#17273) -
httpcheckreceiver
: support scraping multiple targets (#18823) -
resourcedetectionprocessor
: Disablehost.id
by default on thesystem
detector. This restores the behavior prior to v0.72.0 when using thesystem
detector together with other detectors that sethost.id
(#21233)
To re-enablehost.id
on thesystem
detector setsystem::resource_attributes::host.id::enabled
totrue
:resourcedetection: detectors: [system] system: resource_attributes: host.id: enabled: true
-
receiver/nsxt
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/podman
: Change the type ofConfig.SSHPassphrase
to beconfigopaque.String
(#17273) -
receiver/postgresql
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
prometheusreciever
: Remove unused buffer_period and buffer_count configuration options (#24258) -
prometheusreceiver
: Add thetrim_metric_suffixes
configuration option to allow enable metric suffix trimming. (#21743, #8950)
When enabled, suffixes for unit and type are trimmed from metric names.
If you previously enabled thepkg.translator.prometheus.NormalizeName
feature gate, you will need to enable this option to have suffixes trimmed. -
receiver/pulsar
: Change the types ofConfig.Authentication.Token.Token
andConfig.Authentication.Athenz.PrivateKey
to beconfigopaque.String
(#17273) -
receiver/rabbitmq
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/redis
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/riak
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/saphana
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/snmp
: Change the types of theConfig.{AuthPassword,PrivacyPassword}
fields to be ofconfigopaque.String
(#17273) -
receiver/snowflake
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/solace
: Change the type ofConfig.Auth.PlainText.Password
to beconfigopaque.String
(#17273) -
spanmetricsconnector
: Histograms will not have exemplars by default (#23872)
Previously spanmetricsconnector would attach every single span as an exemplar to the histogram.
Exemplars are now disabled by default. To enable them setexemplars::enabled=true
-
receiver/vcenter
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273)
π© Deprecations π©
dynatraceexporter
: Add deprecation note to Dynatrace metrics exporter (#23992)pkg/stanza
: Deprecate fileconsumer.EmitFunc in favor of fileconsumer.emit.Callback (#24036)pkg/stanza
: Deprecate filconsumer.Finder and related sortation structs and functions (#24013)servicegraphprocessor
: Service Graph Processor is deprecated in favor of the Service Graph Connector (#19737)
π New components π
exceptionsconnector
: A connector that generate metrics and logs from recorded applications exceptions from spans (#17272)opensearchexporter
: exports OpenTelemetry signals to OpenSearch. (#23611)routingconnector
: A connector version of the routingprocessor (#19738)
π‘ Enhancements π‘
-
lokiexporter, lokitranslator
: Added settingdefault_labels_enabled
. This setting allows to make default labelsexporter
,job
,instance
,level
optional (#22156) -
windowseventlogreceiver
: Addexclude_providers
to the config. One or more event log providers to exclude from processing. (#21491) -
loadbalancingexporter
: Added docs for k8s service resolver. (#24287) -
loadbalancingexporter
: Added kubernetes service resolver to loadbalancingexporter. (#22776) -
opamp supervisor
: Add Capabilities support to Supervisor config. (#21044) -
opamp supervisor
: OpAMP Supervisor config file now supports "tls" settings in the "server" section. (#23848) -
pkg/ottl
: Add newLen
converter that computes the length of strings, slices, and maps. (#23847) -
pkg/stanza
: Add option to skip log tokenization for both tcp and udp receivers. use the 'one_log_per_packet' setting to skip log tokenization if multiline is not used. (#23440) -
redisreceiver
: Adds unit to metrics where this was missing. (#23573)
Affected metrics can be found below.- redis.role
- redis.cmd.calls
- redis.clients.connected
- redis.clients.blocked
- redis.keys.expired
- redis.keys.evicted
- redis.connections.received
- redis.connections.rejected
- redis.memory.fragmentation_ratio
- redis.rdb.changes_since_last_save
- redis.commands.processed
- redis.keyspace.hits
- redis.keyspace.misses
- redis.slaves.connected
- redis.db.keys
- redis.db.expires
-
elasticsearchexporter
: Add span duration in span store. (#14538) -
exporter/datasetexporter
: Rename 'observed_timestamp' field on the DataSet event to 'sca:observedTimestamp' and ensure the value is nanoseconds since epoch, update serializing and handling of body / message field to ensure it's consistent with other DataSet integrations and allow user to disable exporting scope information with each event by setting 'export_scope_info_on_event' logs config option to false. (#20660, #23826) -
exporter/datasetexporter
: Correctly map LogRecord severity to DataSet severity, remove redundant DataSet event message field prefix (OtelExporter - Log -) and remove redundant DataSet event fields (flags, flags.is_sampled). (#20660, #23672) -
journaldreceiver
: fail if unsufficient permissions for journalctl command (#20906) -
pkg/ottl
: Adds support for using boolean expressions with durations (#22713) -
pkg/ottl
: Adds support for using boolean expressions with time objects (#22008) -
pkg/ottl
: Add newDuration
converter to convert string to a Golang time.duration (#22015) -
kafkareceiver
: Added support for json-encoded logs for the kafkareceiver (#20734) -
resourcedetectionprocessor
: Support GCP Cloud Run Jobs in resource detection processor. (#23681) -
googlemanagedprometheusexporter
: GMP exporter now automatically adds target_info and otel_scope_info metrics. (#24372) -
googlemanagedprometheusexporter
: GMP exporter supports filtering resource attributes to metric labels. (#21654) -
hostmetricsreceiver
: Remove the need to set environment variables with hostmetricsreceiver (#23861) -
experimentalmetricmetadata
: Introduce experimental entity event data types (#23565) -
influxdbexporter
: limit size of write payload (#24001) -
k8sclusterreceiver
: Change k8s.clusterresourcequota metrics to use mdatagen (#4367) -
k8sclusterreceiver
: Change k8s.cronjob.active_jobs to use mdatagen (#10553) -
k8sclusterreceiver
: Change k8s.daemonset metrics to use mdatagen (#10553) -
k8sclusterreceiver
: Refactor k8s.job metrics to use mdatagen (#10553) -
k8sclusterreceiver
: Change k8s.replicaset metrics to use mdatagen (#10553) -
k8sclusterreceiver
: Update k8s.replicationcontroller metrics to use mdatagen (#10553) -
k8sattrprocessor
: Add k8sattr.rfc3339 feature gate to allow RFC3339 format for k8s.pod.start_time timestamp value. (#24016)
Timestamp value before and after.
2023-07-10 12:34:39.740638 -0700 PDT m=+0.020184946
,2023-07-10T12:39:53.112485-07:00
-
k8sclusterreceiver
: k8sclusterreceiver - Begin emitting entity events as logs (#24400) -
k8sclustereceiver
: Report entity state periodically (#24413) -
exporter/kafka
: Added support...
v0.81.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.81.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
v0.81.0
π Breaking changes π
-
clickhouseexporter
: Add scopeName and scopeVersion column to span table. (#21214) -
clickhouseexporter
: add log scope columns to span table. (#20280) -
receiver/aerospike
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/bigip
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/couchdb
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/elasticsearch
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/mongodb
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
receiver/mongodbatlas
: Change the types ofConfig.PrivateKey
andConfig.Alerts.Secret
to beconfigopaque.String
(#17273) -
receiver/mysql
: Change the type ofConfig.Password
to beconfigopaque.String
(#17273) -
dockerstatsreceiver
: Add non populated metricscontainer.memory.anon
andcontainer.memory.file
that are only available when the host uses cgroups v2. (#21097)
Metriccontainer.memory.file
was added to fulfil the lack ofcontainer.memory.total_cache
metric in case that the
cgroup version mounted in the host is v2 instead of v1.Now there is documentation of which metrics are available depending cgroups version being used on the host.
π© Deprecations π©
mysqlreceiver
: setmysql.locked_connects
as optional in order to remove it in next release (#14138, #23274)
π‘ Enhancements π‘
-
mdatagen
: Adds a parent field to metadata.yaml for subcomponents. (#23636) -
sqlqueryreceiver
: Add support of Start and End Timestamp Column in Metric Configuration. (#18925, #14146) -
postgresqlreceiver
: Adds unit to metrics where this was missing. (#23571)
Affected metrics can be found below.- postgresql.bgwriter.maxwritten
- postgresql.table.count
-
mdatagen
: Adds validation to mdatagen to ensure that all required fields are present, and their content is valid. (#23783) -
filelogreceiver
: Add support for tracking the current file in filelogreceiver (#22998) -
exporter/datasetexporter
: Add more details to User-Agent header for DataSet HTTP requests (#20660) -
dockerstatsreceiver
: Addcontainer.image.id
andcontainer.command_line
optional resource attributes (#21092) -
googlecloudexporter
: Adds an experimental, opt-in write ahead log for GCP metrics exporter. (#23679) -
pkg/ottl
: Adds newTime
converter to convert a string to a Golang time struct based on a supplied format (#22007) -
hostmetricsreceiver
: Add new Windows-exclusive process.handles metric. (#21379) -
websocketprocessor
: Rename websocketprocessor to remoteobserverprocessor (#23856) -
resourcedetectionprocessor
: Adds a way to configure the list of added resource attributes by the processor (#21482)
Users can now configure what resource attributes are gathered by specific detectors.
Example configuration:resourcedetection: detectors: [system, ec2] system: resource_attributes: host.name: enabled: true host.id: enabled: false ec2: resource_attributes: host.name: enabled: false host.id: enabled: true
For example, this config makes
host.name
being set bysystem
detector, andhost.id
byec2
detector.
Moreover:- Existing behavior remains unaffected as all attributes are currently enabled by default.
- The default attributes 'enabled' values are defined in
metadata.yaml
. - Future releases will introduce changes to resource_attributes
enabled
values. - Users can tailor resource detection process to their needs and environment.
-
spanmetricsconnector
: Added disabling options for histogram metrics and option to exclude default labels from all metrics. In some cases users want to optionally disable part of metrics because they generate too much data or are not needed. (#16344) -
statsdreceiver
: All receivers are setting receiver name and version when sending data. This change introduces the same behaviour to the statsd receiver. (#23563) -
zookeeperreceiver
: Adds an additional health check metric based off of the response from the zookeeper ruok 4lw command. (#21481) -
k8sclusterreceiver
: Switch k8s.pod and k8s.container metrics to use pdata. (#23441)
π§° Bug fixes π§°
k8sclusterreceiver
: Add back all other vendor-specific node conditions, and report them even if missing, as well as all allocatable node metrics if present, to the list of Kubernetes node metrics available, which went missing during the pdata translation (#23839)k8sclusterreceiver
: Add explicitlyk8s.node.allocatable_pods
to the list of Kubernetes node metrics available, which went missing during the pdata translation (#23839)awsecscontainermetricsreceiver
: Fix possible panics in awsecscontainermetrics receiver (#23644)elasticsearchexporter
: use mapping.dedup and mapping.dedot configuration values (#19419)receiver/kafkametricsreceiver
: Updates certain metrics in kafkametricsreceiver to function as non-monotonic sums. (#4327)
Update the metrics type in KafkaMetricsReceiver from "gauge" to "nonmonotonic sum". Changes metrics are, kafka.brokers, kafka.topic.partitions, kafka.partition.replicas, kafka.partition.replicas_in_sync, kafka.consumer_group.members.clickhouseexporter
: Fix clickhouse exporter create database fail (#23664)spanmetricsconnector
: set timestamp correctly for metrics with delta temporality (#7128)vcenterreceiver
: Fixed a bug in which the vCenter receiver was incorrectly emitting the "used" attribute twice under the vcenter.datastore.disk.usage metric instead of "used" and "available". (#23654)mongodbreceiver
: Fix missing version in mongodb creating panics during scrapes (#23859)postgresqlreceiver
: fixed an issue where postgresql receiver was emitting the same attribute value "toast_hit" twice under postgresql.blocks_read metric. (#23657)windowseventlogreceiver
: Fix buffer overflow when ingesting large raw Events (#23677)pkg/stanza
: adding octet counting event breaking for syslog parser (#23577)
v0.80.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
v0.80.0
π Breaking changes π
-
redisreceiver
: Updates metric unit from no unit to Bytes. (#23454)
Affected metrics can be found below.- redis.clients.max_input_buffer
- redis.clients.max_output_buffer
- redis.replication.backlog_first_byte_offset
- redis.replication.offset
-
elasticsearchreceiver
: Bump 'receiver.elasticsearch.emitNodeVersionAttr' to stable (#16847)
All node metrics are now enriched with the node version resource attribute. -
nginxreceiver
: Bump 'receiver.nginx.emitConnectionsCurrentAsSum' featuregate to beta (enabled by default) (#4326) -
servicegraphprocessor
: Change metric names to match the spec (#18743, #16578)
Latency metrictraces_service_graph_request_duration_seconds
are deprecated in favor of server and client metrics |traces_service_graph_server_request_seconds
andtraces_service_graph_client_request_seconds
| respectively. Use the feature gateprocessor.servicegraph.legacyLatencyMetricNames
to enable the old metric names. -
prometheusreceiver, prometheusexporter, prometheusremotewrite
: Disablepkg.translator.prometheus.NormalizeName
feature gate by default (#23208)
The feature gatepkg.translator.prometheus.NormalizeName
was enabled prematurely while translation
on the prometheus receiver was incomplete. To address this, the feature gate has been reverted back to alpha status.
This will remain the case until the translation on the receiver side aligns with the translation on the exporter side,
or until it is replaced with a configuration option or completely removed. To maintain the current behavior, you can
enable the feature gate using the--feature-gates=pkg.translator.prometheus.NormalizeName
command argument.
However, please note that the translation in the prometheus receiver is a subject to future changes.
π© Deprecations π©
-
mysqlreceiver
: deprecatemysql.locked_connects
in favor ofmysql.connection.errors
(#14138) -
sumologicexporter
: deprecating options which are going to be removed (#23059)
The following options are going to be deprecated and removed in the future:metric_format: {carbon2, graphite}
(leaving onlyprometheus
)metadata_attributes: [<regex>]
graphite_template: <template>
source_category: <template>
source_name: <template>
source_host: <template>
π New components π
websocketprocessor
: Implementation of websocket processor (#19633)
π‘ Enhancements π‘
-
aerospikereceiver
: Adds unit to metrics where this was missing. (#23572)
Affected metrics can be found below.- aerospike.node.query.tracked
-
awsemfexporter
: Add exponential histogram support. (#22626) -
awsxrayexporter
: Adding translation support for span links for the aws x-ray exporter (#20353) -
bearertokenauthextension
: Extension now implements configauth.ServerAuthenticator (#22737) -
datadogexporter
: Addtraces::compute_stats_by_span_kind
andtraces::peer_service_aggregation
configuration flags (#23240)
Configtraces::compute_stats_by_span_kind
enables an additional stats computation check on span kind. | Configtraces::peer_service_aggregation
enablespeer.service
aggregation in the exporter. -
resourcedetectionprocessor
: use opentelemetry-go library forhost.id
detection in thesystem
detector (#18533) -
mysqlreceiver
: addaborted
,aborted_clients
andlocked
values toerror
property formysql.connection.errors
metric (#14138) -
datasetexporter
: Allow include Logs resource info export to DataSet based on new export_resource_info_on_event configuration. Fix timestamp handling. (#20660) -
k8sattributesprocessor
: Store only necessary ReplicaSet data (#23226) -
k8sattributesprocessor
: Store only necessary Pod data (#23226) -
dockerstatsreceiver
: Add container.uptime metric, indicating time elapsed since the start of the container. (#22037) -
influxdbexporter
: Add configurable span dimensions (#23230) -
receiver/k8s_cluster
: Do not store unused data in the k8s API cache to reduce RAM usage (#23433) -
lokiexporter
: Addedflags
field from plog.LogRecord into Loki entry (#21650) -
pkg/ottl
: Add newIsString
andIsMap
functions to facilitate type checking. (#22750)
Especially useful for checking log body type before parsing. -
pkg/ottl
: AddsStandardFuncs
andStandardConverters
to facilitate function map generation. (#23190)
This change means that new functions added to ottlfuncs get automatically added to Cotnrib components that use OTTL -
pkg/ottl
: Change replacement functions to accept a path expression as a replacement (#22787)
The following replacement functions now accept a path expression as a replacement:- replace_match
- replace_pattern
- replace_all_matches
- replace_all_patterns
-
sapmexporter
: sapm exporter now supportscompression
config option to specify either gzip or zstd compression to use. (#23257) -
sapmreceiver
: sapm receiver now accepts requests in compressed with zstd. (#23257) -
exporter/signalfx
: Do not drop container.cpu.time metric in the default translations so it can be enabled in the include_metrics config. (#23403) -
sqlqueryreceiver
: Add support for logs (#20284) -
exporter/datadog
: Adds metric otel.datadog_exporter.runtime_metrics.running to track when the Datadog Exporter receives a payload containing runtime metrics. (#23138) -
k8sclusterreceiver
: Switch k8s.deployment metrics to use pdata. (#23416) -
k8sclusterreceiver
: Switch k8s.hpa metrics to use pdata. (#18250) -
k8sclusterreceiver
: Switch k8s.namespace metrics to use pdata. (#23437) -
k8sclusterreceiver
: Switch k8s.node metrics to use pdata. (#23438) -
k8sclusterreceiver
: Switch k8s.rq metrics to use pdata. (#23419) -
k8sclusterreceiver
: Switch k8s.ss metrics to use pdata. (#23420) -
testbed
: AddWithAgentExePath
, which allows setting the path of the Collector executable. (#23258) -
carbonreceiver, wavefrontreceiver
: Remove use of opencensus model in carbonreceiver and wavefrontreceiver (#20759, #20761) -
webhookeventreceiver
: Mark the component as Alpha and add tocomponent.go
(#18101) -
webhookeventreceiver
: first pass implementing the components internals. (#18101)
π§° Bug fixes π§°
datadogreceiver
: add client context to the traces received by datadogreceiver (#22991)otel-collector
: Fix cri-o log format time layout (#23027)receiver/hostmetricsreceiver
: Fix not sendingprocess.cpu.utilization
whenprocess.cpu.time
is disabled. (#23450)receiver/kafkametricsreceiver
: Updates certain metrics in kafkametricsreceiver to function as non-monotonic sums. (#4327)
Update the metric type in KafkaMetricsReceiver from "gauge" to "nonmonotonic sum".processor/hostmetrics
: Fix issue where receiver fails to read parent-process information for some processes on Windows (#14679)receiver/skywalking
: Fix the issue whereParentSpanId
is lost when crossing segments. (#21799)iisreceiver
: Removes error message on every scrape where no items are present in the queue. (#14575)k8sclusterreceiver
: Fix empty k8s.namespace.name attribute in k8s.namespace.phase metric (#23452)splunkhecexporter
: Apply multi-metric merge at the level of the whole batch rather than within events emitted for one metric. (#23365)
v0.79.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
π Breaking changes π
attributesprocessor
: Enable SHA-256 as hashing algorithm by default for attributesprocessor hashing action (#4759)windowseventlogreceiver
: Emit raw Windows events as strings instead of byte arrays (#22704)receiver/httpcheck
: Removed the defaultendpoint
value ofhttp://localhost:80
. Theendpoint
property is now required. (#22995)pkg/ottl
: RemovesStandardTypeGetter
in favor ofStandardStringGetter
,StandardIntGetter
,StandardFloatGetter
, andStandardPMapGetter
, which handle converting pcommon.Values of the proper type. (#22763)
This is only a breaking change for users using OTTL in custom components. For all Contrib components this is an enhancement.postgresqlreceiver
: Remove resource attribute feature gates (#22479)
π© Deprecations π©
dockerstatsreceiver
: cpu.container.percent metric will be deprecated in v0.79.0 in favor of container.cpu.utilization (#21807)
This starts the process of phasing out incorrect metric name:container.cpu.utilization
and replacing it with the names adhering to the semantic conventions:container.cpu.percent
At this stage, the new metric is added, but is disabled by default.
See the "Deprecations" section of the Docker Stats receiver's README for details.
π‘ Enhancements π‘
-
receiver/azuremonitorreceiver
: Retrieve metric values with all dimension keys in filter (#21715) -
apachesparkreceiver
: Changes required to move the Apache Spark receiver to Alpha stability (#21046) -
journaldreceiver
: add support for grep (#20295) -
mysqlreceiver
: add mysql.uptime metric (#14138) -
googlecloudspannerreceiver
: Adding a new config option to allow truncation of query text to 1024 characters. (#22072) -
vcenterreceiver
: Adds VM memory utilisation metric (#20917) -
receivers
: Addinginitial_delay
to receivers to control when scraping interval starts (#23030)
The updated receivers are:active_directory_ds
aerospike
apache
apachespark
azuremonitor
couchdb
chrony
docker_stats
elasticsearch
expvar
filestats
flinkmetrics
googlecloudspanner
haproxy
httpcheck
iis
memcached
mongodb
mysql
nginx
oracledb
podman_stats
postgresql
rabbitmq
riak
snowflake
sqlquery
sqlserver
sshcheck
vcenter
windowsperfcounters
zookeeper
-
oracledbreceiver
: Add a simpler alternative configuration option (#22087) -
exporter/datadog
: Upgrade opentelemetry-mapping-go to v0.3.0 and use pkg/otlp/logs for logs translation (#23137) -
pkg/ottl
: Addbody.string
accessor to ottllog (#22786) -
pkg/ottl
: Allow indexing map and slice log bodies (#17396, #22068) -
pkg/ottl
: Add hash converters/functions for OTTL (#22725) -
solacereceiver
: Updated solacereceiver to handle new features of Solace PubSub+ 10.4.1 (#22809) -
splunkhecreceiver
: Support different strategies for splitting payloads when receiving a request with the Splunk HEC receiver. (#22788) -
exporter/splunk_hec
: Apply compression to Splunk HEC payload unconditionally if it's enabled in the config. (#22969, #22018)
The compression used to be enabled only if the payload size was greater than 1.5KB which significantly
complicated the logic and made it hard to test. This change makes the compression unconditionally applied to
the payload if it's enabled in the config. The benchmarking shows improvements in the throughput and CPU usage for
large payloads and expected degradation for small payloads which is acceptable given that it's not a common case. -
awsxrayexporter
: Support 2 new aws service name attributes for populating X-Ray segment name (#22835)
π§° Bug fixes π§°
-
jmxreceiver
: Fixed the issue where the JMX receiver's subprocess wasn't canceled upon shutdown, resulting in a rogue java process. (#23051) -
internal/filter/filterlog
: fix filtering non-string body by bodies property (#22736)
Affectsfilterprocessor
andattributesprocessor
. -
prometheusreceiver
: Remove sd_file validations from config.go in Prometheus Receiver to avoid failing Collector with error as this behaviour is incompatible with the Prometheus. (#21509) -
filelogreceiver
: Fix issue where empty files would not be skipped, resulting in extraneous errors. (#22815) -
servicegraphprocessor
: consume traces even metric count is equal to 0 (#23028) -
fileexporter
: Fixes broken lines when rotation is set. (#22747) -
receiver/purefareceiver
: Ensure that all endpoints beyond volumes and hosts are beeing scraped. (#14886) -
exporter/datadog
:tls::insecure_skip_verify
is now honored when exporting traces. (#22772) -
exporter/splunk_hec
: Make sure themax_event_size
option is used to drop events larger thanmax_event_size
instead of using it for batch size. (#18066) -
httpcheckreceiver
: Update default collection interval to match documented value (#23019) -
azuredataexplorerexporter
: Update underlying SDK to perform retries on init on machines with flaky networks. (#22771) -
flink metrics receiver
: Fixed error when failing to read job manager metrics (#23143) -
apache receiver
: reverted default collection time back to 10s from 1m (#23030) -
postgresqlreceiver
: Fix race condition when capturing errors from multiple requests simultaneously (#23026) -
prometheusreceiver
: The prometheus receiver now sets a full, versioned user agent. (#21910) -
awscloudwatchreceiver
: Fixes a bug where the AWS CloudWatch receiver does the log stream filtering (using prefix) incorrectly. (#22123)
An additional request was being made with a single log stream prefix definition.
This request was made with the stream name set to "".
This results in logs collection from all log streams in the log group. -
spanmetricsconnector
: Fix initialization of the default histogram buckets when theseconds
unit is provided. (#21797) -
splunkhecreceiver
: Fix reusing the same splunkhecreiver between logs and metrics (#22848)
v0.78.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
π Breaking changes π
-
receiver/chrony
: Update emitted Scope name to "otelcol/chronyreceiver" (#21382) -
elasticsearchreceiver
: Enable 'elasticsearch.node.version' resource attribute on node metrics, by default (#16847) -
receiver/filestats
: Update emitted Scope name to "otelcol/filestatsreceiver" (#21382) -
receiver/mongodbatlas
: Update emitted Scope name to "otelcol/mongodbatlasreceiver" (#21382) -
receivers
: Updating receivers that run intervals to use standard interval by default (#22138) -
datadog receiver
: Updating datadog translations to align more closely to semantic convention (#21210, #21525)service.name
is moved from assigned from span attributes to resource attributes- Moved from using datadog's
span.Resouce
tospan.Name
to set span name - Exported traces are now grouped by
service.name
by default
-
nginxreceiver
: Add featuregate to emit 'nginx.connections_current' as a non-monotonic sum (#4326) -
pkg/ottl
: Updates theInt
converter to use a newIntLikeGetter
which will error if the value cannot be converted to an int. (#22059)
Affected components: transformprocessor, filterprocessor, routingprocessor, tailsamplingprocessor, countconnector. It is HIGHLY recommended to use each component's error_mode configuration option to handle errors returned byInt
. -
dockerstatsreceiver
: Remove container.memory.total_swap and container.memory.swap metrics as they are not reported by the docker API (#21190)
π New components π
apachesparkreceiver
: adds the apachesparkreceiver metric receiver (#21046)awscloudwatchmetricsreceiver
: Added AWS CloudWatch metrics receiver using GetMetricData API call (#15667)syslogexporter
: Add syslogexporter for sending logs to syslog server (#17982)filereceiver
: This change enables the file receiver. (#14638)datasetexporter
: Enable Datasetexporter ininternal/components
(#20660)splunkenterprisereceiver
: Wireframe for the splunk enterprise monitoring receiver (#12667)WebSocket processor
: Add WebSocket processor skeleton (#19633)
π‘ Enhancements π‘
jmxreceiver
: Add the JMX metrics gatherer version 1.26.0-alpha to the supported jars hash list (#22042)receivercreator
: add logs and traces support to receivercreator (#19205, #19206)pkg/ottl
: Add Log function (#18076)awsemfexporter
: Added atags
field to the config of the exporter to set tags for a Cloudwatch Log Group (#19406)tailsamplingprocessor
: Add OTTL Condition policy for tailsampling processor. (#20294)pkg/ottl
: Add a uuid function to ottl (#20301)oracledbreceiver
: Adds support forconsistent gets
anddb block gets
metrics. Disabled by default. (#21215)pkg/batchperresourceattr
: Mark as not mutating as it does defensive copying. (#21885)cumulativetodelta
: Makes handling of the first observed point configurable. Defaults to auto based on start time. (#20770)elasticsearchexporter
: Add dynamic indexing option to elasticsearchexporter (#5854)receiver/kafkareceiver
: Support configuration of initial offset strategy to allow consuming form latest or earliest offset (#14976)fileexporter
: provide additional documentation for the working setup of the file exporter. (#20279)internal/filter
: AddLog
,UUID
, andParseJSON
converters to filterottl standard functions (#21970)pkg/stanza
: aggregate the latter part of the split-log due to triggering the size limit (#21241)exporter/datadog
: Map Docker stats receiver metrics to Datadog container metrics. (#22149)
This change enables the use of the Containers (Overview) dashboard.dockerstatsreceiver
: docker container'spids_stats
metrics are reported when available (#21041)datasetexporter
: Add support for exporting logs and traces. (#20660)datasetexporter
: Mark component as alpha and upgrade to the latestdataset-go
v0.0.8. (#20660)k8sattributesprocessor
: Support adding attributek8s.deployment.uid
. (#14003)kafkareceiver
: Addtext
unmarshaler, which will decode the kafka message as text and insert it as the body of a log record. (#20734)cmd/mdatagen
: Allow setting resource_attributes without introducing the metrics builder. (#21516)receiver/mongodbatlasreceiver
: Allow collection of MongoDB Atlas Access Logs as a new feature of the MongoDBAtlas receiver. (#21182)sshcheckreceiver
: Promote sshcheckreceiver to alpha (#21488)pkg/ottl
: AddFloatLikeGetter
andFloatGetter
to facilitate float retrival for functions. (#21896)pkg/ottl
: Add access to get and set span kind using a string (#21773)processor/routingprocessor
: Instrument the routing processor with non-routed spans/metricpoints/logrecords counters (OTel SDK). (#21476)skywalkingreceiver
: Refactoring the code structure/directory for the following metrics receiver implementation (#20315)exporter/splunkhec
: Improve performance and reduce memory consumption. (#22018)processor/transform
: Add access to the Log function (#22014)
π§° Bug fixes π§°
-
statsdreceiver
: Handles StatsD server not running when shutting down to avoid NPE (#22004) -
exporter/elasticsearch
: Fix elasticsearch exporter not exporting span events (#18479) -
tests
: switch math/rand to crypto/rand (#20341) -
dockerstats
: Only one label/envVar was added even if multiple ones were specified by ContainerLabelsToMetricLabels or EnvVarsToMetricLabels (#21113) -
pkg/ottl
: Fix the factory name for the limit function (#21920) -
awsxrayexporter
: Fix a panic that can occur with string-valued DynamoDB attributes. (#22707) -
processor/filter
: Fix issue where the OTTL functionHasAttributeKeyOnDatapoint
was not usable. (#22057) -
pkg/ottl
: Allow using capture groups inreplace_all_patterns
when replacing map keys (#22094) -
confmap/provider/s3provider
: Fix typo in s3 confmap provider regex pattern (#22146)
Fix regex pattern for s3 confmap provider. This typo allows for using different domains
from what is expected. -
confmap/provider/s3provider
: Properly handle bucket names containing dot characters (#22054)
Properly handle bucket names containing dot characters, according to
https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html -
receiver/dockerstats
: Fixcontainer.memory.usage.total
andcontainer.memory.percent
calculation. (#21097)
The fix updates the way to calculate the metrics to be consistent withMEM USAGE`` and
MEM %showed by the
stats` docker CLI command. It also support v1 and v2 of cgroups.
Expect to see an increase of these metrics if currently running the receiver in a cgroups v1 environment.
As well as see a decrease in these values if running on cgroups v2 environment. -
exporter/splunkhec
: Fix a bug causing incorrect data in the partial error returned by the exporter (#21720)
v0.77.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
v0.77.0
π Breaking changes π
dotnetdiagnosticsreceiver
: Removing component which has been unmaintained for over 6 months (#13218)cmd/mdatagen
: Don't exposeresource_attributes
user config section if it's empty. (#21519)pkg/ottl
: Reimplement all OTTL function factories to implement theottl.Factory
interface. (#14712)
Theottl.Factory
interface allows making factories extendable and defines
canonical names for the functions across components using the OTTL.
π New components π
datasetexporter
: Add new DataSet exporter. (#20660)
π‘ Enhancements π‘
receiver/azuremonitorreceiver
: Providing an option to include resource tags and location as metric attributes (#21173)mdatagen
: Support stability level per signal (#21153)filestatsreceiver
: Promote filestats receiver to alpha, add to the otelcontribcol tests. (#21257)mdatagen
: Add support for slice and map attributes. (#18272)receiver/mongodbatlasreceiver
: emit "mongodb_atlas.cluster.name
" attribute which is thename of the cluster as defined in Atlas. This attribute is disabled by default, if you want to emit it, you'll need to explicitly enable it. (#21154)pkg/ottl
: Allow using Converters as constant boolean expressions (#20911)
This means you don't need to add== true
afterIsMatch
in OTTL conditions.pkg/ottl
: Add support for complex indexing of Paths and Converters to allow accessing nested items. (#20754)
All components using OTTL can take advantage of this feature.signalfxexporter
: Expose dimension_client configuration for dimension/metadata updates (#21512)pkg/stanza
: Add "unquote" operator (#10282)
π§° Bug fixes π§°
snowflakereceiver
: Wiring snowflakereceiver component by adding it to components.go (#21381)pkg/stanza
: Fix errors in loop evaluating file attributes on windows if the file path contains a Junction (#21088)clickhouseexporter
: Fix insert metrics with duplicate scope data (#21082)transformprocessor
: Fixed a scenario where replace_all_patterns would wipe out non-string values on key name change. (#21109)influxdbexporter
: handle empty attribute values emitted by hostmetricsreceiver with logger.Debug instead of PermanentError (#21474)receiver/k8scluster
: Make sure the k8scluster receiver is watching for v2 and v2beta2 HorizontalPodAutoscalers for Kubernetes 1.26 (#20480)splunkhecexporter
: Enforce marshaling json with sorted keys by alphabetical order to produce identical hashes when merging events. (#21486)googlecloudspannerreceiver
: Changing type of USED_BYTES from INT to FLOAT (#21500)receiver/mongodbatlasreceiver
: Disk Usage & Utilization metrics are now being reported correctly. (#21180)receiver/mongodbatlasreceiver
: Reduce the likelihood that mongodbatlas log receivers will emit empty logs, causing unnecessary events to propagate through a pipeline. (#14170)datadogexporter
: Use literal 'host' resource attribute on OTLP payloads when present as the host value to avoid double tagging. (#21507)receiver/nsx
: Remove incorrectly exposed resource attributes from the user configuration interface. (#21523)signalfxexporter
: disk.utilization and disk.summary_utilization now matches the df command by only counting non-root usage. disk.utilization = (used/(used + free)) * 100 (#20656)
v0.76.3
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
v0.76.3
π Breaking changes π
-
prometheusreceiver, prometheusexporter, prometheusremotewrite
: Enable pkg.translator.prometheus.NormalizeName by default (#20518)
Enabling normalization by default changes the emitted metrics for components that rely on
the prometheus translation package. This feature can still be disabled via the following
--feature-gates=-pkg.translator.prometheus.NormalizeName
-
cumulativetodeltaprocessor
: Removes stableprocessor.cumulativetodeltaprocessor.EnableHistogramSupport
feature gate. Setting this gate will cause an error. (#20717) -
exporter/lokiexporter
: Remove deprecated Loki exporters parameters. (#15653, #15365)
The support oflabels.{attributes/resource}
,labels.record
,tenant
, | andformat
configuration parameters are dropped in favor of attribute hints way of configuring the exporter. -
solacereceiver
: Changed the type of the max_unacknowledged configuration option from uint32 to int32 (#20666)
π© Deprecations π©
dotnetdiagnosticsreceiver
: add deprecation notice (#20740)
π New components π
lokireceiver
: Added implementation of the Loki receiver component (#18635)receiver/azuremonitorreceiver
: New component for scraping Azure Monitor metrics (#18899)cassandra_exporter
: Cassandra exporter implementation (#17910)lokireceiver
: Mark loki receiver as Alpha (#18635)filestatsreceiver
: Initial implementation of the new filestatsreceiver component. (#19729)
π‘ Enhancements π‘
-
jmxreceiver
: Add the JMX metrics gatherer version 1.24.0-alpha to the supported jars hash list (#20551) -
jmxreceiver
: Add the JMX metrics gatherer version 1.25.0-alpha to the supported jars hash list (#21052) -
jmxreceiver
: Add the JMX metrics gatherer version 1.25.1-alpha to the supported jars hash list (#21103) -
exporter/awsxray
: Add opt-in telemetry for X-Ray receiver/exporter (#19415) -
awsemfexporter
: Add support AWS Embedded Metric Format Version 0 (#20314) -
splunkhecexporter
: Set the default value of the idle connection timeout to 10s, rather than 30s by default (#20543) -
coralogixexporter
: Allow users to use only Coralogix domain to configure exporter (#20719) -
datadogexporter
: Ensure that container tags are set globally on the payload so that they can be picked up as primary tags in the app (APM). (#20923) -
datadogexporter
: Reduce log level of retriable errors to Debug level (#20755) -
datadogexporter
: Support OTel semconv 1.17.0 in Datadog OTLP trace ingestion. (#20923) -
datadogexporter
: Use minimum and maximum values from cumulative Histograms. Values are used only when we can assume they are from the last time window or otherwise to clamp estimates. (#20872) -
journaldreceiver
: add support formatches
configuration (#20295) -
fileexporter
: Add periodic flushing (#18251)
Adding flushing to the file exporter eases the analysis
of the output the exporter generates. -
pkg/stanza
: Add and option to pause reading a file and attempt to resend the current batch of logs if it encounters an error from downstream components. (#20511)
Add aretry_on_failure
config option (disabled by default) that can be used to slow down reading logs instead of
dropping logs if downstream components return a non-permanent error. The configuration has the following options:enabled
: Enable or disable the retry mechanism. Default isfalse
.initial_interval
: The initial interval to wait before retrying. Default is1s
.max_interval
: The maximum interval to wait before retrying. Default is30s
.max_elapsed_time
: The maximum amount of time to wait before giving up. Default is5m
.
-
k8sattributesprocessor
: Allow getting k8s.container.name, container.image.name and container.image.tag by container.id. (#19468)
The container.id resource attribute can be set automatically in most SDKs by means of API. -
instanaexporter
: Preserve resource attributes in converted spans (#20454) -
splunkhecexporter
: Apply a new configmaxEventSize
on our events, it would break down the events based on this. This basically implements HEC'smaxEventSize
on our exporter. It is implemented on uncompressed data. (#20290) -
splunkhecreceiver
: Make Splunk HEC receiver Health endpoint mimic the real one (#20871) -
receiver/mongodbatlasreceiver
: emit "mongodb_atlas.user.alias
" attribute which is the user-friendly hostname of the cluster node as displayed in the Atlas portal. This attribute is disabled by default, if you want to emit it, you'll need to explicitly enable it. (#18881) -
prometheusreceiver
: All receivers are setting receiver name and version when sending data. This change introduces the same behaviour to the prometheus receiver. (#20902) -
splunkhecexporter
: Adding an option in splunkhecexporter to enable heartbeat. A heartbeat is a metadata event about the current environment and build information. If heartbeat is enabled, splunkhecexporter will periodically send heartbeat to the destination in given time intervals from configurations. (#20225) -
vcenterreceiver
: Adds VM CPU usage and utilization metrics (#20895) -
awss3exporter
: Add implementation of AWS S3 exporter (#2835)
π§° Bug fixes π§°
servicegraphprocessor
: Only create client virtual nodes when server spans are orphans (#19764)datadogexporter
: Re-add support for span links (span links are added as metadata to the converted span), which were erroneously removed from previous release. (#20923)datadogexporter
: Fix issue in hostname detection. (#20923)
In the latest release, feature gate (exporter.datadog.hostname.preview) was graduated to Stable. The behaviour was set to the behaviour of the feature gate disabled, instead of enabled. The behaviour is now set to the behaviour of the feature gate enabled.azuremonitorexporter
: Ensure that metric attributes are exported to Azure Monitor (#19407)pkg/stanza
: fix eventData format for Windows events (#20547)fluentforwardreceiver
: Fixed performance issue. (#20721)receiver/k8scluster
: Use newer v2 HorizontalPodAutoscaler for Kubernetes 1.26 (#20480)
v2beta2 HorizontalPodAutoscaler is no longer available starting in Kubernetes 1.26pkg/stanza
: fix flaky test (#20877)pkg/stanza
: Fix issue where recombine operator would never flush. (#20451)
1.Make the forceFlushTimeout compare with timeSinceFirstEntry not timeSinceLastEntry 2.set the period of ticker to 1/5 forceFlushTimeoutspanmetricsconnector
: fix spanmetrics connector to support adding exemplar to metric (#20771)mongodbreceiver
: Fixes scraper errorUnauthorized
by not calling index stats on an internal local MongoDB database. (#21114)receiver/mongodbatlasreceiver
: Ensure that Process metrics are emitted with only the correct subset of attributes. (#21155)splunkhecexporter
: Do not send data to a Splunk backend if no data is present in the batch. Previously compressed batches would not correctly detect data was not present in the batch. (#20290)filelogreceiver
: Fix issue where first few lines of a file could be ignored when another file had recently contained the same beginning. (#20745)filelogreceiver
: stanza panic when trace_flags is an empty string (#20924)hostmetricsreceiver/processscraper
: fixing the processmetrics tests to support testing collection in darwin (#19141)
Darwin only supports some of the processmetrics + using Cmdline to get the Executable Path, which caused tests to fail.awsxrayexporter
: Fixed DynamoDB table name from being set as an empty string when reading from attributes (#19204)
v0.76.2
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.