github open-telemetry/opentelemetry-collector-contrib v0.121.0

one day ago

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

End user changelog

🛑 Breaking changes 🛑

  • telemetrygen: Update attribute of generated traces from net.peer.ip to net.sock.peer.addr to bring it in line with new semconv. (#38043)

  • awss3exporter: Replaced the s3_partition option with s3_partition_format to provide more flexibility to users. (#37915, #37503)
    Users can provide custom file partitions using strftime formatting.
    The default value of year=%Y/month=%m/day=%d/hour=%H/minute=%M matches the older pattern (with s3_partition: minute)

    If users do not provide a value for s3_prefix, the exporter will not create a / folder in the bucket.

  • elasticsearchexporter: drop support for metrics for none, raw, and bodymap mapping modes (#37928)
    Metrics support is in development, and was added for "ecs" and "otel" mapping modes.
    Support was unintentionally added for the other mapping modes, defaulting to the same
    behaviour as "ecs" mode. While metrics support is still in development, drop support
    from these mapping modes and require users to use the intended mapping modes.

  • awscontainerinsightreceiver: Remove high cardinality attribute Timestamp from metrics generated by awscontainerinsightreceiver (#35861)

  • failoverconnector: Refactors the failover logic and changes the retry mechanism to sample data points (#38064)

  • processor/k8sattributes: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to stable (#25128)

  • signalfxexporter: Remove the deprecated configuration option translation_rules (#35332)
    Please use processors to handle desired metric transformations instead. Find migration guidance in the
    translation rules migration guide.

  • signaltometricsconnector: get OTTL function is removed and expressions are now parsed using ParseValueExpression (#38098)

🚩 Deprecations 🚩

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

🚀 New components 🚀

  • windowsservicereceiver: Adding a wireframe for a new receiver: windowsservicereceiver (#31377)
  • azureblobexporter: Add new exporter for sending telemetry to Azure Storage Blob (#35717)
  • kafkatopicsobserver: Adding implementation and tests of the component's logic. (#37665)

💡 Enhancements 💡

  • coralogixexporter: Add support for profiles to the Coralogix exporter. (#38011)
    This change adds support for profiles to the Coralogix exporter.
    It allows users to export profiles to Coralogix.

  • coralogixexporter: Add new batching capabilities to the Coralogix exporter. (#38081)
    This change adds a new batching capabilities to the Coralogix exporter.
    This change is triggered by open-telemetry/opentelemetry-collector#8122.

    The new batching capabilities are disabled by default.
    To enable them, you need to set the following configuration:

    exporters:
      coralogix:
        batcher:
          enabled: true # Enable batching
          flush_timeout: 3s # Flush timeout
          min_size_items: 8888 # Minimum number of items to flush
          max_size_items: 10000 # Maximum number of items to batch
  • awsfirehosereceiver: Add cloud.provider, aws.log.group.names and aws.log.stream.names resource attributes to logs and set scope name and version of logs and metrics ingested by awsfirehosereceiver. (#37968)

  • googlecloudpubsubexporter: Add support for exporting ordered messages to GCP Pub/Sub (#32850)

  • prometheusremotewriteexproter: Adds additional metrics to the Prometheus Remote Write Exporter. The new metrics are:

  • otelcol_exporter_prometheusremotewrite_sent_batches: The total number of batches sent to the remote write endpoint.

  • otelcol_exporter_prometheusremotewrite_consumers: The total number of consumers that are currently sending data to the remote write endpoint.
    (#37912)

  • aesprovider: Promote to alpha stability (#38252)

  • azuretranslator: Map application-defined properties for trace signals (#35402)

  • clickhouseexporter: Add client info to queries (#34915, #37146)
    This change adds client product info to the system.query_log for more insight on where queries originate

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

  • coralogixexporter: Partial success response from Coralogix (#38022)
    Adds the ability to log partial success responses from Coralogix when using the Coralogix exporter.

  • processor/resourcedetection: Introduce retry logic for failed resource detection. (#34761)

  • dorisexporter: add new config: log_response, label_prefix, headers, log_progress_interval (#38162)

  • dorisexporter: optimize schema: add 'service_instance_id', add materialized views, add trace_graph table and trace_graph job. (#38229)

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

  • elasticsearchexporter: Add _metric_names_hash field to metric documents in otel mode to avoid metric rejections (#37511)

  • envoyalsreceiver: Mark envoyalsreceiver as an alpha receiver. (#36464)

  • envoyalsreceiver: Add node and log identifier resource attributes (#37800)

  • receiver/sqlquery: Add support for SapASE (sybase) database connections (#36328)

  • awsfirehosereceiver: Add support for encoding extensions (#37113)
    Adds encoding config setting, and deprecates the record_type setting.

  • googlecloudexporter: Updated opentelemetry-operations-go to v0.51.0 (#38116)
    The new release of opentelemetry-operations-go will construct a more accurate default User Agent for its requests
    by using a component.BuildInfo. This should have no user-facing effect.

  • iisreceiver: Added state and uptime metrics for application pools (#34924)

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

  • kafkareceiver: Add error backoff configuration to kafka receiver which allows to wait and retry a failed message when the next consumer returns some errors. (#37009)

  • receiver/kafkametricsreceiver: Add refresh_frequency config to kafkametricsreceiver, to configure custom duration for cluster metadata refresh (#37896)

    • Helps fine tuning the refresh_frequency, and enables custom cluster metadata refresh intervals
    • Default refresh_frequency is set 10 minutes from Sarama library defaults
  • processor/resourcedetection: Add k8s.cluster.uid to kubeadm detector (#38207)

  • elasticsearchexporter: Support specifying mapping mode via client metadata (#36092)
    Add config mapping::allowed_modes to restrict mapping modes configurable from client metadata.

  • metricstarttimeprocessor: add true_reset_point strategy for setting the start timestamp of cumulative points. (#37186)
    The implementation is copied from the Prometheus receiver.

  • mongodbreceiver: Added mongodb replica metrics and routing logic for multiple mongodb instances (#37517)

  • netflowreceiver: Promote the NetFlow Receiver to alpha stability (#38255)

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

  • cmd/opampsupervisor: Allow configuring Collector process execution via environment variables, custom config files and additional arguments (#24324)

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

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

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

  • receiver/prometheusremotewrite: Add value and timestamp handling in the Prometheus Remote Write receiver by using SetDoubleValue and SetTimestamp (#37277)

  • cloudflarereceiver: Ingest all attributes by default when attributes map is empty (#37720)

  • processor/redaction: Introduce 'blocked_key_patterns' parameter (#35830)

  • opampextension: Support retrieval of available components via the OpAMP extension. (#37246)

  • opampsupervisor: Support retrieval of available components via the OpAMP supervisor. (#37247)

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

  • awss3exporter: Added acl option (#37935)

  • confmap/provider/s3: Promote to alpha stability (#38227)

  • secretsmanagerprovider: Promote to alpha stability (#38251)

  • receiver/sqlserverreceiver: Add server.address and server.port resource attributes to SQL server receiver. (#35183)
    The new resource attributes are added to the SQL server receiver to distinguish metrics coming from different SQL server instances.

    • server.address: The address of the SQL server host, disabled by default.
    • server.port: The port of the SQL server host, disabled by default.
  • opampsupervisor: Allow configuring additional telemetry settings for the Supervisor's own telemetry (#35582)

  • elasticsearchexporter: Add support for data_stream.type attribute to create dynamic index in bodymap mode. (#38000)

  • stefexporter: Mark STEF exporter as Alpha (#37759)

  • receiver/webhookeventreceiver: Allow the request body to have multiple log lines using line breaks (#38042)
    Adds new split_logs_at_newline option that changes the request body to be split into multiple log lines at each newline.

🧰 Bug fixes 🧰

  • elasticsearchexporter: Fixes the getLocations() function. It only worked with a location start of 0, which is very unlikely when a profile contains more than one sample. (#38274)

  • elasticsearchexporter: Reintroduce schema_url fields to otel-mode metric docs (#38045)

  • ecsobserver: Fixed ecs task tags not being included in metadata labels (#38278)

  • redactionprocessor: Fix redaction processor to redact span event attributes (#36633)

  • azuremonitorreceiver: Fix bug where the time grain wasn't honored (#37337)

  • exporter/splunk_hec: Do not pass errors from draining the response body to the pipeline as a export failure. (#38118)

  • kafkametricsreceiver: Fix incorrect cluster admin initialization in consumer scraper (#36818)

  • datadogexporter: Add supports for HTTP_PROXY, HTTPS_PROXY and NO_PROXY for logs (#36292)

  • pkg/ottl: Change the ottlmetric context to properly display the TransformContext value in debug logs (#38103)

  • redisreceiver: Collect keyspace metrics even if reported dbs are nonsequential (#38135)
    If a redis instance has no activity on a db, the db number is not reported in the keyspace metrics.
    This change ensures that the keyspace metrics are collected even if the reported dbs have gaps.

  • stefexporter: Fix incorrectly implemented STEF exporter zstd compression option. (#38088)
    STEF exporter now correctly supports zstd compression (observed <1 byte per datapoint for hostmetricsreceiver).

API changelog

🛑 Breaking changes 🛑

  • pkg/stanza: Add method ProcessBatch to Operator interface in pkg/stanza/operator package to support batch processing. (#35455)
  • pkg/stanza: Change signature of emit.Callback function in pkg/stanza/fileconsumer/emit package to emit multiple tokens. (#35455)
  • awscontainerinsightreceiver: Remove high cardinality attribute Timestamp from metrics generated by awscontainerinsightreceiver (#35861)
  • pkg/ottl: Remove ottl.Option in favor of ottl.Option[ottl.TransformContext] (#38247)

💡 Enhancements 💡

  • extension/sumologicextension: Sanitize the version before it is used to send data to SumoLogic (#37689)
  • metricstarttimeprocessor: add true_reset_point strategy for setting the start timestamp of cumulative points. (#37186)
    The implementation is copied from the Prometheus receiver.
  • pkg/datadog: StaticAPIKeyCheck available in pkg/datadog to validate Datadog api is key not empty and no invalid characters (#38223)
    refactor of existing logic for export
  • receiver/statsd: Make all types within the config struct public (#38186)
    This allows programmatically generating the receiver's config using the module's public types.

🧰 Bug fixes 🧰

  • testbed: Fix batch interval calculation to avoid possible division by zero (#38084)

Don't miss a new opentelemetry-collector-contrib release

NewReleases is sending notifications on new releases.