Skip to content

v0.104.0

Compare
Choose a tag to compare
@github-actions github-actions released this 01 Jul 23:16
· 1660 commits to main since this release
v0.104.0
38f97b6

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.

⚠️ The Core repository's release includes 2 very important breaking changes.

  1. The otlpreceiver now uses localhost by default instead of 0.0.0.0. This may break the receiver in containerized environments like Kubernetes. If you depend on 0.0.0.0 disable the component.UseLocalHostAsDefaultHost feature gate or explicitly set the endpoint to 0.0.0.0. This change also affects contrib components which are listed in the release notes below.
  2. Expansion of BASH-style environment variables, such as $FOO is no longer supported by default. If you depend on this syntax, disable the confmap.unifyEnvVarExpansion feature gate, but know that the feature will be removed in the future in favor of ${env:FOO}.

End User Changelog

🛑 Breaking changes 🛑

  • sumologicexporter: removed compress_encoding (#33604)

  • exporter/clickhouse: Change behavior of how default database is read from the config (#33693)
    Changed the default database to default.
    The final database will prioritize endpoint, unless database is set to a value not equal to default.
    If neither are specified then it defaults to the default database.
    Possible breaking change if someone has the DSN configured in combination with database config option.

  • exporter/clickhouse: Add async_insert config option to enable inserting asynchronously by default. (#33614)
    Adds async_insert config option to enable inserting asynchronously by default.
    To preserve the previous behavior, set async_insert to false in your config.
    When enabled, the exporter will insert asynchronously, which can improve performance for high-throughput deployments.
    The async_insert option can be set to true or false to enable or disable async inserts, respectively. The default value is true.
    Keep in mind this setting is added since the exporter now sets it to default.
    Async insert and its related settings can still be defined in endpoint and connection_params, which take priority over the new config option.

  • clickhouseexporter: Add AggregationTemporality column to histogram and exponential histogram tables. Rename AggTemp column to AggregationTemporality in sum table. (#33424)
    It's a breaking change. users who upgrade to the latest version need to alter the Clickhouse table:

    ALTER TABLE otel_metrics_exponential_histogram ADD COLUMN AggregationTemporality Int32 CODEC(ZSTD(1));
    ALTER TABLE otel_metrics_histogram ADD COLUMN AggregationTemporality Int32 CODEC(ZSTD(1));
    ALTER TABLE otel_metrics_sum RENAME COLUMN AggTemp TO AggregationTemporality;
  • exporter/clickhouse: Remove deprecated ttl_days config option, use ttl instead. (#33648)

  • vcenterreceiver: Drops support for vCenter 6.7 (#33607)

  • all: Promote component.UseLocalHostAsDefaultHost feature gate to beta. This changes default endpoints from 0.0.0.0 to localhost (#30702)
    This change affects the following components:

    • extension/awsproxy
    • extension/health_check
    • extension/health_checkv2
    • extension/jaegerremotesampling
    • internal/aws/proxy
    • processor/remotetap
    • receiver/awsfirehose
    • receiver/awsxray
    • receiver/influxdb
    • receiver/jaeger
    • receiver/loki
    • receiver/opencensus
    • receiver/sapm
    • receiver/signalfx
    • receiver/skywalking
    • receiver/splunk_hec
    • receiver/zipkin
    • receiver/zookeeper
  • receiver/mongodb: Graduate receiver.mongodb.removeDatabaseAttr feature gate to stable (#24972)

🚩 Deprecations 🚩

  • exporter/elasticsearch: Deprecate the "dedot" configuration. (#33772)
    dedot has been deprecated, and will always be enabled in ECS mode and disabled for other modes in future
  • exporter/elasticsearch: Deprecate the "dedup" configuration. (#33773)
    dedup has been deprecated, and will always be enabled in future.

🚀 New components 🚀

  • otelarrow: OTel-Arrow exporter and receiver are marked alpha, added to otelcontribcol (#26491)

💡 Enhancements 💡

  • exporter/elasticsearch: Add initial support for metrics (#33513)

  • elasticsearchexporter: Add translation for k8s.deployment.name resource attribute (#33622)

  • k8sattributesprocessor: Add support for exposing k8s.pod.ip as a resource attribute (#32960)

  • geoipprocessor: Add MaxMind geoip provider for GeoIP2-City and GeoLite2-City databases. (#32663)

  • vcenterreceiver: Adds vCenter CPU readiness metric for VMs. (#33607)

  • awsemfexporter: AWS EMF Exporter to add AppSignals metadata flag into the user-agent (#32998)

  • receiver/mongodb: Ensure support of 6.0 and 7.0 MongoDB versions with integration tests (#32716)

  • sumologicexporter: added timeout validation (#33151)

  • clickhouseexporter: Updated the default logs table to a more optimized schema (#33611)
    Simplified data types, improved partitioning and time range queries.

  • datadogconnector: Add a feature gate connector.datadogconnector.NativeIngest that enables datadog connector to use the new native OTel API in APM stats computation. (#33297)
    The feature gate connector.datadogconnector.NativeIngest is disabled by default.

  • datadogexporter: Adds Kubernetes DD tags to keep when mapping resource attributes (#33728)
    See DataDog/opentelemetry-mapping-go#334 for details.

  • exporter/elasticsearch: Add data stream routing (#33794, #33756)
    data_stream.dataset and data_stream.namespace in attributes will be respected when config *_dynamic_index.enabled is true.

  • exporter/elasticsearch: Encode metrics resource attributes in ECS mapping mode (#33823)

  • elasticsearchexporter: Preserve host.name resource attribute in ECS mode (#33670)

  • servicegraphprocessor: Added a new configuration option enable_virtual_node_label to allow users to identify which node is the virtual node in each edge of the service graph. (#31889)

  • pkg/stanza: Switch JSON parser used by json_parser to github.com/goccy/go-json (#33784)

  • k8sobserver: Add support for k8s.ingress endpoint. (#32971)

  • statsdreceiver: Optimize statsdreceiver to reduce object allocations (#33683)

  • routingprocessor: Use mdatagen to define the component's telemetry (#33526)

  • loadbalancerexporter: Refactors how the load balancing exporter splits metrics (#32513)
    All splitting is behaviorally, the same. However, the resource routingID now uses the internal/exp/metrics/identity package to generate the load balancing key, instead of bespoke code. This means that when upgrading to this version your routes for specific metric groupings could change. However, this will be stable and all future metrics will follow the new routing

  • receiver/mongodbreceiver: Add server.address and server.port resource attributes to MongoDB receiver. (#32810, #32350)
    The new resource attributes are added to the MongoDB receiver to distinguish metrics coming from different MongoDB instances.

    • server.address: The address of the MongoDB host, enabled by default.
    • server.port: The port of the MongoDB host, disabled by default.
  • observerextension: Expose host and port in endpoint's environment (#33571)

  • rabbitmqexporter: Promote rabbitmqexporter to alpha. (#33331)

  • pkg/ottl: Add a schema_url field to access the SchemaURL in resources and scopes on all signals (#30229)

  • solacereceiver: Renamed some SemConv fields to support latest semantic conventions for messaging spans (version 1.25.0) (#33499)

  • sqlserverreceiver: Enable more perf counter metrics when directly connecting to SQL Server (#33420)
    This enables the following metrics by default on non Windows-based systems:
    sqlserver.batch.request.rate
    sqlserver.batch.sql_compilation.rate
    sqlserver.batch.sql_recompilation.rate
    sqlserver.page.buffer_cache.hit_ratio
    sqlserver.user.connection.count

  • extension/googleclientauth: Add Google-signed ID token support (#33185)
    Update github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauth to v0.48.0.
    With this update, extension/googleclientauth now supports Google-signed ID token as auth header.

  • vcenterreceiver: Adds vCenter CPU capacity and network drop rate metrics to hosts. (#33607)

🧰 Bug fixes 🧰

  • resourcedetectionprocessor: Fetch CPU info only if related attributes are enabled (#33774)

  • datasetexporter: Upgrade dataset-go to v0.19.0 and fix found issues (#33498, #32533, #33675)
    Upgrade dataset-go library from v0.18.0 to v0.19.0.
    Enable skipped integration test and adjust the test so it is passing again.
    Do not validate configuration, let the framework run the validation.

  • datasetexporter: Upgrade dataset-go to v0.20.0 (#33812)
    Upgrade dataset-go library from v0.19.0 to v0.20.0.
    Make number of outgoing connections configurable.

  • datadogexporter: Fix panics on invalid sized trace & span IDs (#33566)
    See DataDog/opentelemetry-mapping-go#340 for details.

  • datadogexporter: Ignore metric datapoints with no recorded value flag (#33728)
    This flag is not supported by Datadog, so we just ignore these datapoints. See DataDog/opentelemetry-mapping-go#330 for details.

  • tailsamplingprocessor: Fix precedence of inverted match in and policy (#33671)
    Previously if the decision from a policy evaluation was NotSampled or InvertNotSampled it would return a NotSampled decision regardless, effectively downgrading the result.

    This was breaking the documented behaviour that inverted decisions should take precedence over all others.

  • otelarrowreceiver: Ensure consume operations are not canceled at stream EOF. (#33570)

  • vcenterreceiver: Fixes errors in some of the client calls for environments containing multiple datacenters. (#33734)

API Changelog

🛑 Breaking changes 🛑

  • exporter/clickhouse: Unexport extra configuration methods. (#33647)
  • exporter/clickhouse: Change internal config type for create_schema to use a bool instead of *bool (#33694)
  • pkg/ottl: Changed ScopeContext, InstrumentationResourceContext, TransformContext interfaces to make SchemaURL accessible in resources and scopes on all signals (#30229)

💡 Enhancements 💡

  • pkg/ottl: Add ByteSliceLikeGetter interface (#31929)