Skip to content

Releases: open-telemetry/opentelemetry-collector-contrib

v0.121.0

04 Mar 14:14
76acaca
Compare
Choose a tag to compare

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....
Read more

v0.120.1

19 Feb 16:47
v0.120.1
5a52ea4
Compare
Choose a tag to compare

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

End user changelog

🧰 Bug fixes 🧰

  • receiver/prometheus: Fix Collector failing to start up if Prometheus receiver is present in config without 'fallback_scrape_protocol'. (#38018)

v0.120.0

18 Feb 03:41
v0.120.0
994853d
Compare
Choose a tag to compare

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 🛑

  • receiver/prometheus: Prometheus receiver now uses scrapers in Prometheus 3.0. (#36873)
    There are a number of breaking changes in Prometheus 3.0. Learn more about those changes and migration guide on https://prometheus.io/docs/prometheus/latest/migration/.
  • all: Added support for go1.24, bumped minimum version to 1.23 (#37875)
  • elasticsearchexporter: Use go-elasticsearch/v8, require minimum version of ES 7.17.x or 8.x (#32454)
  • elasticsearchexporter: Remove dedot config. ECS mode now always dedots, no others dedot at all. (#33772)
  • activedirectorydsreceiver: Fixed typo in the attribute distingushed_names, renaming it to distinguished_names. (#37606)
  • githubreceiver: The required_header configuration option for the trace receiver has been changed to required_headers. (#37578)
  • receiver/hostmetrics: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate (#34763)
  • tailsamplingprocessor: Fix the decision timer metric to capture longer latencies beyond 50ms. (#37722)
    This changes the unit of the decision timer metric from microseconds to milliseconds.
  • routingconnector: Remove match_once configuration parameter. (#36824)

🚩 Deprecations 🚩

  • opencensusexporter: Deprecate the OpenCensus exporter (#36791)
    Migrate to use the OTLP exporter moving forward.
  • opencensusreceiver: Deprecate the OpenCensus receiver (#36791)
    Migrate to use the OTLP receiver moving forward.

🚀 New components 🚀

  • bmchelixexporter: Mark the BMC Helix exporter as Alpha. (#36773)
  • bmchelixexporter: metrics implementation (#36773)
  • kafkatopicsobserver: Adding new kafka topics observer extension (#37665)
  • googlecloudlogentryencodingextension: Introduce the scaffolding of a new component, googlecloudlogentryencodingextension (#37531)

💡 Enhancements 💡

  • elasticsearchexporter: Syncs support for compression level on elasticsearch exporter with confighttp. The default compression level is 1 if not set. (#37260)

  • processor/transformprocessor: Add support for global conditions and error mode overrides. (#29017)
    Global conditions are now available for context-inferred structured configurations, allowing the use of fully
    qualified paths. Additionally, a new configuration key called error_mode has been added to the context statements group.
    This key determines how the processor reacts to errors that occur while processing that specific group of statements.
    When provided, it overrides the top-level error mode, offering more granular control over error handling.

  • pkg/stanza: Allow users to configure initial buffer size (#37786)

  • vcenterreceiver: Adds three more vCenter virtual machine performance metrics (#37488)

  • k8sclusterreceiver: Adds new descriptive attributes/metadata to the k8s.namespace and the container entity emitted from k8sclusterreceiver. (#37580)

    • Adds the following attributes to k8s.namespace entity:
      • k8s.namespace.phase: The phase of a namespace indicates where the namespace is in its lifecycle. E.g. 'active', 'terminating'
      • k8s.namespace.creation_timestamp: The time when the namespace object was created.
    • Adds the following attributes to container entity:
      • container.creation_timestamp: The time when the container was started. Only available if container is either in 'running' or 'terminated' state.
  • splunkenterprisereceiver: Added a new splunk.health metric. (#36695)

  • pkg/ottl: Introduce ToLowerCase converter function (#32942)

  • pkg/ottl: Introduce ToSnakeCase converter function (#32942)

  • pkg/ottl: Introduce ToUpperCase converter function (#32942)

  • datadogreceiver: Implement support for span links (#37449)

  • resourcedetectionprocessor: add the Dynatrace detector to the resource detection processor (#37577)

  • elasticsearchexporter: Add profiles support to elasticsearch exporter (#37567)

  • googlecloudmonitoringreceiver: support use monitoring filters to filter metrics (#36898)

  • awsfirehosereceiver: Refactor unmarshallers to implement pdata unmarshaler interfaces (#37361)

  • githubreceiver: add support for GitHub Actions workflow run events using deterministic Trace and Root Span IDs. (#37578)

  • pkg/translator/jaeger/internal/jaeger: Remove jaeger model/converter/thrift/jaeger dependency (#37820)

  • pkg/translator/zipkin/internal/zipkin: Remove jaeger model/converter/thrift/zipkin dependency (#37795)

  • extension/oauth2clientauth: Add expiry_buffer config to oauth2client extension, allowing token refresh before expiration with a default buffer of 5 minutes. (#35148)

    • Prevents authentication failures by refreshing the token early.
    • The default expiry buffer is set to 5 minutes, and users can adjust it as needed.
  • datadogexporter: Add a gauge metric datadog.otel.gateway which is 1 if the collector is used as a gateway or 0 otherwise. (#37499)

  • pkg/ottl: Introduce ToCamelCase converter function (#32942)

  • googlecloudpubsubreceiver: Turn noisy warn log about Pub/Sub servers into debug, and turn the reset count into a metric (#37571)
    The receiver uses the Google Cloud Pub/Sub StreamingPull API and keeps a open connection. The Pub/Sub servers
    recurrently close the connection after a time period to avoid a long-running sticky connection. Before the
    receiver logged warn log lines everytime this happened. These log lines are moved to debug so that fleets with
    lots of collectors with the receiver don't span logs at warn level. To keep track of the resets, whenever a
    connection reset happens a otelcol_receiver_googlecloudpubsub_stream_restarts metric is increased by one.

  • processor/redaction: Introduce 'allowed_values' parameter for allowed values of attributes (#35840)

  • exporter/logzioexporter: Remove dependency on Jaeger pkg/cache (#37833)

  • routingconnector: Avoid unnecessary copy of the data in routing connector (#37946)

  • awscontainerinsightreceiver: Add support for HOST_PROC environment variable in AWS Container Insight Receiver. (#35862)

  • syslogreceiver: Support setting on_error config for syslog receiver. (#36906)

  • processor/tailsampling: Adds support for optionally recording the policy (and any composite policy) associated with an inclusive tail processor sampling decision.
    This functionality is disabled by default, you can enable it by passing the following feature flag to the collector: +processor.tailsamplingprocessor.recordpolicy
    (#35180)

  • tailsamplingprocessor: makes the numeric_attribute more flexible and allows to set only min_value or max_value, without the need to set both (#37328)
    This is useful to have simple configurations like these:

    {
      type: numeric_attribute,
      numeric_attribute: {
        key: http.status_code,
        min_value: 400
      }
    }
    
  • testbed: Include the specified resource limits for CPU and memory in the benchmark results (#36720)

  • stefexporter: Add basic STEF exporter implementation (#37759)

  • receiver/zipkinreceiver: Remove zipkinreceiver dependency on Jaeger (#37795)

🧰 Bug fixes 🧰

  • azureeventhubreceiver: Fix bug where persisted offset would be ignored after restart (#37157)
  • bearertokenauthextension: Load token lazily for gRPC AUTH to fix token refresh issue (#36749)
  • opampsupervisor: The OnConnectionClose was not correctly connected for the supervisor. (#37761)
  • elasticsearchexporter: Fix data loss caused by incorrect metric grouping in ECS and OTel mode (#37898)
    Fix data loss when the same metric exists across different resources or scopes. Data points / metrics were incorrectly grouped together, leading to data loss with warning logs e.g. "metric with name '***' has already been serialized".
  • k8sattributes: Fix bug where Filters.Labels failed with when the exists or not-exists operations were used. (#37913)
  • prometheusreceiver: Start time metric adjuster now handles reset points correctly (#37717)
  • prometheusremotewriteexproter: Resolves a deadlock in the WAL by temporarily releasing a lock while waiting for new writes to the WAL.
    (#19363, #24399, #15277)
  • awscontainerinsightreceiver: Fix race condition in shutdown of AWS Container Insight receiver (#37695)

API changelog

🛑 Breaking changes 🛑

  • s3provider: Delete deprecated New factory function. Use NewFactory instead. (#37921)
  • secretsmanagerprovider: Delete deprecated New function, use NewFactory instead (#37923)
  • pkg/stanza: Remove deprecated flush.WithPeriod. (#37784)
  • pkg/stanza: Remove deprecated func BuildWithSplitFunc from stanza/fileconsumer (#37723)

🚩 Deprecations 🚩

  • pkg/stanza: Deprecate all functions in stanza/decode (#37734)

💡 Enhancements 💡

  • pkg/translator/prometheusremotewrite: add support for metric type sum in FromMetricsV2 (#33661)
    The public function is partially implemented and not ready for use
  • pkg/datadog: Expose the internal Zaplogger implementation (#37939)
  • dbstorageextension: Add DB Transactions to dbstorage.Batch() method as it is expected by Storage API (#37805)
  • internal/datadog: create new package github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/hostmetadata which exposes GetSourceProvider from github.com/open-telemetry/opentelemetry-collector-contrib/internal/datadog/hostmetadata (#37668)
  • textutil: Remove unnecessary copy while decoding and constructing string (#37734)
    This PR affects all log receivers, text extension and kafkareceiver.
  • telemetrygen: Exported the API ...
Read more

v0.119.0

04 Feb 06:07
v0.119.0
70d8986
Compare
Choose a tag to compare

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

Unmaintained Components

These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.

  • exporter/kineticaexporter/
  • exporter/opensearchexporter/
  • extension/observer/ecstaskobserver/
  • receiver/awscloudwatchmetricsreceiver/
  • receiver/rabbitmqreceiver/

End user changelog

🛑 Breaking changes 🛑

  • receiver/cloudfoundry: Promote cloudfoundry.resourceAttributes.allow feature gate to beta (#34824)
    The cloudfoundry.resourceAttributes.allow feature gate is now enabled by default.

  • datadogexporter: Remove stable feature gate exporter.datadog.hostname.preview (#37561)

  • exporter/prometheusremotewrite: Change exporter.prometheusremotewriteexporter.deprecateCreatedMetric feature gate from Beta to Stable version. (#35003)
    The export_created_metric configuration parameter is now permanently deprecated.

  • elasticsearchexporter: Consistently store the structured body of logs and events in body.structured in otel mode (#37387)

  • solacereceiver: Update validation step to allow only one auth method. (#36386)

🚩 Deprecations 🚩

  • signalfxreceiver: access_token_passthrough is deprecated (#37575)
    • "access_token_passthrough is deprecated."
    • "Please enable include_metadata in the receiver and add the following config to the batch processor:"
    batch:
      metadata_keys: [X-Sf-Token]

🚀 New components 🚀

  • envoyalsreceiver: Add a new receiver for the Envoy ALS (Access Log Service). (#36464)
  • metricstarttimeprocessor: Add the initial skeleton for the metricsstarttimeprocessor (#37186)
    The component is still in development and is not ready for use.
  • exporter/sematext: Add a new component for exporting metrics and logs to Sematext (#36465)

💡 Enhancements 💡

  • awss3exporter: Add support for S3 Storgeclass (#35173)

  • processor/transformprocessor: Add support for flat configuration style. (#29017)
    The flat configuration style allows users to configure statements by providing a list of statements instead of a
    structured configuration map. The statement's context is expressed by adding the context's name prefix to path names,
    which are used to infer and to select the appropriate context for the statement.

  • httpcheckreceiver: Added support for specifying multiple endpoints in the httpcheckreceiver using the endpoints field. Users can now monitor multiple URLs with a single configuration block, improving flexibility and reducing redundancy. (#37121)

  • signaltometricsconnector: Move signal to metrics connector to alpha stability (#35930)

  • exporter/clickhouse: Adding missing examples of DDL created by the clickhouse exporter (#35903)

  • opampsupervisor: add support for headers configuration for reporting own telemetry (#37353)

  • opampsupervisor: report own metrics via OTLP instead of prometheus receiver (#37346)

  • resourcedetectionprocessor: Expose additional configuration parameters for the AWS metadata client used by the EC2 detector (#35936)
    In some cases, you might need to change the behavior of the AWS metadata client from the standard retryer

    By default, the client retries 3 times with a max backoff delay of 20s.

    We offer a limited set of options to override those defaults specifically, such that you can set the client to retry 10 times, for up to 5 minutes, for example:

    processors:
      resourcedetection/ec2:
        detectors: ["ec2"]
        ec2:
          max_attempts: 10
          max_backoff: 5m
  • cumulativetodeltaprocessor: Add metric type filter for cumulativetodelta processor (#33673)

  • datadogconnector: Support obfuscating sql queries in APM stats (#37457)
    Ensure that feature flags "enable_receive_resource_spans_v2" and "enable_operation_and_resource_name_logic_v2"
    are also enabled on both Datadog Exporter and Datadog Connector so that span attributes are properly
    mapped to span type and span resource in Datadog APM; otherwise spans and apm stats may not be
    obfuscated and attributes on stats payloads may not match traces.
    See https://docs.datadoghq.com/opentelemetry/schema_semantics/semantic_mapping/?tab=datadogexporter#mapping-opentelemetry-database-system-type-to-datadog-span-type

    NOTE: Long/complex SQL queries may cause a performance impact on APM Stats calculation in Datadog Connector.
    Consider implementing sampling in your pipeline prior to sending traces to Datadog Connector if you experience this.

  • resourcedetectionprocessor: Add fail_on_missing_metadata option on EC2 detector (#35936)
    If the EC2 metadata endpoint is unavailable, the EC2 detector by default ignores the error.
    By setting fail_on_missing_metadata to true on the detector, the user will now trigger an error explicitly,
    which will stop the collector from starting.

  • elasticsearchexporter: Group data points into a single document even if they are from different but equal resources (#37509)
    This may prevent document rejections in case the same batch contains different resources or scopes that have the same set of attributes

  • elasticsearchexporter: Add config logs_dynamic_id to dynamically set the document ID of log records using log record attribute elasticsearch.document_id (#36882)

  • elasticsearchexporter: Declare MutatesData: false (#37234)
    When multiple exporters are used, the collector doesn't need to clone the incoming data anymore

  • resourcedetectionprocessor: The gcp resource detector will now detect resource attributes identifying a GCE instance's managed instance group. (#36142)

  • jaegerreceiver: Log the endpoints of different servers started by jaegerreceiver (#36961)
    This change logs the endpoints of different servers started by jaegerreceiver. It simplifies debugging by ensuring log messages match configuration settings.

  • githubgen: Switch over all usages of githubgen to the new tool location, since the old tool was deprecated (#37412, #37294)

  • hostmetrics/process: Added support for tracking process.uptime (#36667)

  • netflowreceiver: Adds the implementation of the netflow receiver (#32732)
    The receiver now supports receiving NetFlow v5, NetFow v9, IPFIX, and sFlow v5 logs.

  • googlecloudpubsubreceiver: Added support for encoding extensions. (#37109)

  • processor/transformprocessor: Replace parser collection implementations with ottl.ParserCollection and add initial support for expressing statement's context via path names. (#29017)

  • prometheusreceiver: Add receiver.prometheusreceiver.UseCollectorStartTimeFallback featuregate for the start time metric adjuster to use the collector start time as an approximation of process start time as a fallback. (#36364)

  • tailsamplingprocessor: Reworked the consume traces, sampling decision, and policy loading paths to improve performance and readability (#37560)

🧰 Bug fixes 🧰

  • deltatocumulativeprocessor: In order to cap number of histogram buckets take the min of desired scale across negative and positive buckets instead of the max (#37416)

  • filelogreceiver: Fix issue where flushed tokens could be truncated. (#35042)

  • connector/routing: Fix config validation with context other than resource (#37410)

  • k8sattributesprocessor: Wait for the other informers to complete their initial sync before starting the pod informers (#37056)

  • metricsgenerationprocessor: Generated metric name may not match metric being scaled (#37474)

  • otlpjsonfilereceiver: Include file attributes and append it to the log record (#36641)

  • routingconnector: The connector splits the original payload so that it may be emitted in parts to each route. (#37390)

  • pkg/stanza: Fix default source identifier in recombine operator (#37210)
    Its defualt value is now aligned with the semantic conventions: attributes["log.file.path"]

  • tailsamplingprocessor: Fixed sampling decision metrics otelcol_processor_tail_sampling_sampling_trace_dropped_too_early and otelcol_processor_tail_sampling_sampling_policy_evaluation_error_total, these were sometimes overcounted. (#37212)
    As a result of this change non-zero values of otelcol_processor_tail_sampling_sampling_trace_dropped_too_early
    and otelcol_processor_tail_sampling_sampling_policy_evaluation_error_total metrics will be lower.
    Before this fix, errors got counted several times depending on the amount of traces being processed
    that tick and where in the batch the error happened.
    Zero values are unaffected.

  • signalfxexporter: Warn on dropping metric data points when they have more than allowed dimension count (#37484)
    The SignalFx exporter drops metric data points if they have more than 36 dimensions.
    Currently, the exporter logs at debug level when this occurs.
    With this change, the exporter will log at the warning level.

API changelog

🚀 New components 🚀

  • metricstarttimeprocessor: Add the initial skeleton for the metricsstarttimeprocessor (#37186)
    The component is still in development and is not ready for use.

v0.118.0

21 Jan 20:30
v0.118.0
e0351bf
Compare
Choose a tag to compare

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

End user changelog

🐛 Known bugs 🐛

  • connector/routing: Invalid configuration when using context other than resource #37410

🛑 Breaking changes 🛑

  • elasticsearchexporter: Remove Index config, which was deprecated and replace with LogsIndex since v0.60.0 (#37094)

  • elasticsearchexporter: Remove dedup config setting that was deprecated in v0.104.0 (#33773)

  • pkg/stanza: Move filelog.container.removeOriginalTimeField feature gate to stable (#33389)

  • pkg/ottl: Support dynamic indexing of maps and slices. (#36644)

  • prometheusremotewriteexporter: Only append label values if they are different for colliding OTel attributes (#35896)
    This change ensures that, when translating colliding attributes from OTel attributes to Prometheus label, the label values are only appended if their values are different.
    This is a breaking change as it changes the value of label outputted.

  • routingconnector: Disconnect match_once parameter from functionality. (#29882)
    The parameter will be ignored, except to trigger a warning log about its upcoming removal in v0.120.0.

🚩 Deprecations 🚩

  • awscloudwatchmetricsreceiver: move the component to unmaintained status (#36599)
  • githubgen: Deprecate githubgen in this repository (#37294)
    githubgen has moved to opentelemetry-go-build-tools. Please change your scripts to use this new location.

🚀 New components 🚀

  • intervalprocessor: Interval Processor is now Alpha stability and is added to the contrib and k8s distributions (#36514)
  • exporter/bmchelix: Add a new component for exporting metrics to BMC Helix (#36773)
  • gitlabreceiver: Adds webhook skeleton to GitLab receiver to receive events from GitLab for tracing. (#35207)
    This PR adds a skeleton for the GitLab receiver to receive events from GitLab for tracing via a webhook. The trace portion of this receiver will run and respond to GET requests for the health check only.
  • extension/skywalkingencodingextension: Support skywalking_encoding extension for skywalking traces. (#28693)

💡 Enhancements 💡

  • mysqlreceiver: Add delete_multi, update_multi metrics to mysql.commands for mysqlreceiver (#37301)
  • datadogexporter: Add a feature gate datadog.EnableReceiveResourceSpansV2. Enabling this gate uses a refactored implementation of OTLP->Datadog Span translation in datadogexporter and datadogconnector which improves performance by 10%, and deprecates the following functionality: - No longer checks for resource-related values (container, env, hostname) in span attributes. This previous behavior did not follow the OTel spec. (#37171)
  • pkg/ottl: Add the Nanosecond converter to return the nanosecond component from the specified time.Time (#37042)
  • pkg/ottl: Add the Second converter to return the second component from the specified time.Time (#37042)
  • vcenterreceiver: Adds vCenter memory capacity for hosts and memory granted metric for VMs. (#37257)
  • awss3exporter: Implement sending queue for S3 exporter (#37274, #36264)
  • huaweicloudces: Move huaweicloudces receiver to alpha (#34953)
  • cgroupruntimeextension: Implement ECS metadata retrieval for cgroupruntime extension. (#36814)
  • deltatocumulativeprocessor: cap the number of exponential histogram buckets to 160 (#33277)
  • resourcedetectionprocessor: This enhancement detects AWS EKS cloud account ID (#37179)
  • elasticsearchexporter: Handle EventName for log records in OTel mode (#37011)
  • elasticsearchexporter: More efficient JSON encoding for OTel mode (#37032)
    Increases throughput for metrics by 2x and for logs and traces by 3x
  • elasticsearchexporter: Mark OTel mapping mode as stable (#37240)
    OTel mapping mode should no longer be considered unstable as there is no planned breaking change.
  • googlecloudmonitoringreceiver: set the minimum collection interval as 60s (#36898)
  • datadogexporter: Add a feature gate datadog.EnableOperationAndResourceNameV2. Enabling this gate modifies the logic for computing operation and resource names from OTLP spans to produce shorter, more readable names and improve alignment with OpenTelemetry specifications. (#36419)
  • dorisexporter: send json lines to doris rather than json array (#36896)
  • k8sattributesprocessor: For pods with only one container, the container.id and k8s.container.name are not longer required in the resource attributes to add the container attributes (#34189)
  • logdedupprocessor: Add 'include_fields' option to deduplicate log records via body or attribute fields. (#36965)
  • pkg/ottl: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)
  • pkg/ottl: Add the FormatTime function to convert time.Time values to human-readable strings (#36870)
  • prometheusremotewriteexporter: Re allows the configuration of multiple workers (#36134)
  • receiver/prometheusremotewrite: Check if Scope is already present comparing with the received labels (#36927)
  • extension/jaegerremotesampling: remove dependency on jaeger internal code (#36976)
  • telemetrygen: Remove go-grpc-middleware dependency (#37103)
  • resourcedetectionprocessor: Introduce kubeadm detector to retrieve local cluster name. (#35116)
  • signalfxexporter: Prioritize retrieving token from context when accesstokenpassthrough is enabled (#37102)
  • signaltometricsconnector: Add core logic for the signal to metrics connector to make it functional. (#35930)
  • signaltometrics: Adds resource attributes based on telemetry settings to the connector to ensure single writer (#35930)
  • tailsamplingprocessor: Added debug logging to the sampling decision caches. (#37038)
  • tailsamplingprocessor: Improved not sampled decision cache usage and deleting traces from the internal map when they are in a decision cache. (#37189)

🧰 Bug fixes 🧰

  • googlecloudpubsubreceiver: Fix a goroutine leak during shutdown. (#30438)
    A goroutine leak was found in the googlecloudpubsubreceiver.
    The goroutine leak was caused by the receiver not closing the underlying created gRPC client when using an insecure custom endpoint.

  • signalfxexporter: Honor access_token_passthrough config option for sending events (#37102)

  • clickhouseexporter: Fix Nil Pointer Exception on Metrics/Traces export without service.name Resource Attribute (#37030)

  • k8sattributesprocessor: Ensure the pods gathered by the processor contain the information about their related replica sets and deployments after the initial sync (#37056)

  • logdedupprocessor: Fix config validation not working when creating a processor. (#37278)

  • pkg/ottl: Fix bug with replace_all_matches and replace_all_patterns that caused non-string values to be changed to empty string when matching against empty string. (#37071)

  • tailsamplingprocessor: Fixed sampling policy evaluation debug logging batch metrics (e.g. sampled). (#37040)

  • tailsamplingprocessor: Late span age histogram should include sampled traces. (#37180)

API changelog

🛑 Breaking changes 🛑

  • routingconnector: Change match_once parameter from bool to *bool. (#29882)
    Boolean values should still unmarshal successfully, but direct instantiation in code will fail.
    The change allows us to check for usage and warn of the upcoming removal in v0.120.0.

💡 Enhancements 💡

  • pkg/ottl: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)
  • pkg/ottl: Add value expression parser that enables components using ottl to retrieve values from the output of an expression (#35621)
    the expression can be either a literal value, a path value within the context, or the result of a converter and/or a mathematical expression.

v0.117.0

08 Jan 02:56
2aa1d00
Compare
Choose a tag to compare

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

Unmaintained Components

These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.

  • exporter/kineticaexporter/
  • exporter/opensearchexporter/
  • extension/observer/ecstaskobserver/
  • receiver/jmxreceiver/

End User Changelog

🛑 Breaking changes 🛑

  • cloudfoundryreceiver: Introduce a feature gate enable copying envelope tags to the metrics as resource attributes instead of datapoint attributes. (#34824)

  • pkg/ottl: removed the ability to reference entire parent objects. (#36872)
    Statements like set(cache["resource"], resource) in non-resource contexts will no longer work.

  • routingconnector: Change default value of match_once parameter to true. (#29882)
    This field was deprecated in v0.116.0 and will be removed in v0.120.0.

🚩 Deprecations 🚩

  • sapmexporter: Deprecate SAPM exporter (#36028)
    The SAPM exporter is being marked as deprecated. Please use the otlphttp exporter with the configuration shown
    below. Also update your pipeline configuration for Traces accordingly.
      exporters:
          otlphttp:
              traces_endpoint: "${SPLUNK_INGEST_URL}/v2/trace/otlp"
              headers:
                  "X-SF-Token": "${SPLUNK_ACCESS_TOKEN}"

🚀 New components 🚀

  • libhoneyreceiver: Mark the libhoney receiver exporter as Alpha. (#36693)

💡 Enhancements 💡

  • k8sclusterreceiver: Add additional attributes to node and pod entities (#35879)
    Adds the following attributes to node and pod metadata/entities:

    • k8s.pod.phase: The phase of a Pod indicates where the Pod is in its lifecycle. E.g. 'Pending', 'Running'
    • k8s.pod.status_reason: A brief message indicating details about why the pod is in this state. E.g. 'Evicted'
    • k8s.node.condition_*: The condition of a node. e.g. k8s.node.condition_ready. The value can be true, false, unknown.
  • awsxrayexporter: merge in latest semantic conventions for awsxrayexporter. (#36894)

  • receivercreator: Add support for starting logs' collection based on provided k8s annotations' hints (#34427)

  • opensearchexporter: Add Sending Queue to enable persistent queue in case of upstream failure (#33919)

  • libhoneyreceiver: Implement log signal for libhoney receiver (#36693)

  • ottl: Add a new ottl trim function that trims leading and trailing characters from a string (default- whitespace). (#34100)

  • exporter/prometheusremotewrite: In preparation to re-introducing multiple workers, we're removing a data-race when batching timeseries. (#36601)

  • redisstorageextension: Move redis storage extension to alpha (#36778)

  • logzioexporter: Remove jaeger dbmodel dependency. (#36972)

  • sigv4authextension: Add support for endpoint based names for logs and traces (#36828)

  • awsemfexporter: Split EMF log to multiple log splits when buckets larger than 100. (#36771)

  • sqlqueryreceiver: Add instrumentation scope to SQL query receiver metrics and logs (#31028)

  • statsdreceiver: Add UDS support to statsdreceiver (#21385)

  • tailsamplingprocessor: Support hot sampling policy loading (#37014)

  • cmd/telemetrygen: Introduce support for generating histograms in telemetrygen (#36322)

  • libhoneyreceiver: Implement trace signal for libhoney receiver (#36693)

🧰 Bug fixes 🧰

  • receiver/azureeventhub: Ensure that observed timestamp is set when unmarshaling logs. (#36861)

  • internal/docker: Fix image matching regular expression to properly match SHA256 strings. (#36239)
    This affects the docker_observer extension.

  • opampsupervisor: Report an 'Applied' remote config status when an empty config is received. (#36682)

  • k8sobjectsreceiver: ensure the k8s.namespace.name attribute is set for objects retrieved using the watch mode (#36352)

  • mongodbatlasreceiver: Update the mongoDB Atlas receiver to use the Default HTTP Transport that supports default proxy configuration (#36412)

  • mysqlreceiver: Avoid recording a value for the MysqlBufferPoolPages metric when out-of-bounds. (#35495)
    When using compressed tables, Innodb_buffer_pool_pages_misc may report an out-of-bounds value.
    See https://bugs.mysql.com/bug.php?id=59550 for context.

  • pkg/ottl: fix handling of nested maps within slices in the flatten function (#36162)

  • mysqlreceiver: Divide large values directly in SQL queries to avoid int overflows (#35495)

API Changelog

💡 Enhancements 💡

  • pkg/ottl: Change OTTL contexts to properly handle ottl.Path with context (#29017)
    The OTTL contexts have a new option EnablePathContextNames to enable support for expressing a statement's context via path names in the statement

v0.116.0

17 Dec 14:49
v0.116.0
2839359
Compare
Choose a tag to compare

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

Unmaintained Components

These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.

  • exporter/kineticaexporter/
  • exporter/opensearchexporter/
  • extension/observer/ecstaskobserver/
  • receiver/jmxreceiver/

End User Changelog

🛑 Breaking changes 🛑

  • jsonlogencodingextension: Change how logs are marshaled. Instead of marshaling just the first log, marshal all logs into a JSON array. (#34064)

  • githubreceiver: Update metric names to match VCS Metric Semantic Conventions and scraper key name. (#36714)

    • Change the github scraper key to scraper
    • Add vcs.repository.url.full attribute
    • Change attribute repository.name to vcs.repository.name
    • Change attribute ref.name to vcs.ref.head.name
    • Change attribute ref.type to vcs.ref.head.type
    • Change attribute change.state to vcs.change.state
    • Add attribute vcs.revision_delta.direction with ahead and behind values
    • Change metric vcs.repository.ref.revisions_ahead to vcs.ref.revisions_delta with vcs.revision_delta.direction=ahead
    • Change metric vcs.repository.ref.revisions_behind to vcs.ref.revisions_delta with vcs.revision_delta.direction=behind
    • Change metric vcs.repository.ref.count to vcs.ref.count
    • Change metric vcs.repository.ref.time to vcs.ref.time
    • Add attribute vcs.line_change.type with added and removed values
    • Change metric vcs.repository.ref.lines_added to vcs.ref.lines_delta with vcs.line_change.type=added
    • Change metric vcs.repository.ref.lines_removed to vcs.ref.lines_delta with vcs.line_change.type=removed
    • Change metric vcs.repository.contributor.count to vcs.contributor.count
    • Change metric vcs.repository.change.time_open to vcs.change.duration with vcs.change.state=open
    • Change metric vcs.repository.change.time_to_approval to vcs.change.time_to_approval
    • Change metric vcs.repository.change.time_to_merge to vcs.change.time_to_merge
    • Change metric vcs.repository.change.count to vcs.change.count
  • processor/tailsampling: Reverts #33671, allowing for composite policies to specify inverted clauses in conjunction with other policies. This is a change bringing the previous state into place, breaking users who rely on what was introduced as part of #33671. (#34085)

🚩 Deprecations 🚩

  • connector/routing: Deprecate match_once parameter. (#29882)

  • routingprocessor: Deprecated in favor of the routing connector. (#36616)

  • splunkhecexporter: Add otel_attrs_to_hec_metadata/* config fields to replace hec_metadata_to_otel_attrs/* fields. (#35092)
    otel_attrs_to_hec_metadata/* config fields will replace the hec_metadata_to_otel_attrs/* fields in a later release.

  • kineticaexporter: The kineticaexporter is now Unmaintained as it has no active code owners from the vendor (#36808)

🚀 New components 🚀

  • dorisexporter: Mark the Doris exporter as Alpha. (#33479)
  • libhoneyreceiver: Introduce the scaffolding of a new component, libhoneyreceiver (#36693)

💡 Enhancements 💡

  • purefareceiver: Implements support for scraping Pure Storage FlashArray with Purity version 6.6.11+ (#36251)

  • azureeventhubreceiver: support providing one or more time formats for timestamp parsing (#36650)

  • googlecloudmonitoringreceiver: Add metric-specific labels to googlecloudmonitoringreceiver component (#35711)

  • awss3receiver: Add support RFC3339 format for starttime and endtime (#36787)

  • awsxrayexporter: Generate url section in xray segment when net.peer.name is available (#35375)

  • clickhouseexporter: Exporter now sorts attribute maps' keys during INSERT, yielding better compression and predictable aggregates (#33634)

  • datadogconnector: Flip configs traces::compute_stats_by_span_kind, traces::peer_tags_aggregation and traces::peer_service_aggregation to true by default (#35969)
    This enables Datadog APM stats on peer tags by default and is a backwards-compatible change. Read more on https://docs.datadoghq.com/tracing/guide/inferred-service-opt-in/.

  • datadogexporter: Flip configs traces::compute_stats_by_span_kind, traces::peer_tags_aggregation and traces::peer_service_aggregation to true by default (#35969)
    This enables Datadog APM stats on peer tags by default and is a backwards-compatible change. Read more on https://docs.datadoghq.com/tracing/guide/inferred-service-opt-in/.

  • elasticsearchexporter: Map *.geo.location.{lat,lon} as geo_point field in OTel mode (#36565)
    In OTel mapping mode, merge *.geo.location.{lat,lon} to *.geo.location such that they are stored as geo_point in Elasticsearch.

  • fileexporter: Add support for profiles signal. (#35978)

  • pkg/ottl: GetXML Converter now supports selecting text, CDATA, and attribute (value) content. (#36821)

  • githubreceiver: Adds webhook skeleton to GitHub receiver to receive events from GitHub for tracing. (#27460)
    This PR adds a skeleton for the GitHub receiver to receive events from GitHub
    for tracing via a webhook. The trace portion of this receiver will run and
    respond to GET requests for the health check only.

  • kafkaexporter, kafkareceiver: Add a new mechanism "AWS_MSK_IAM_OAUTHBEARER" for kafka exporter and kafka receiver. This mechanism use the AWS MSK IAM SASL Signer for Go https://github.com/aws/aws-msk-iam-sasl-signer-go. (#19747)

  • loadbalancingexporter: Adds a an optional configuration to the k8s resolver which returns hostnames instead of IPs for headless services pointing at statefulsets (#18412)

  • mongodbatlasreceiver: Adds additional metrics to the MongoDB Atlas receiver (#36525)
    Adds a number of new default disabled metrics to the MongoDB Atlas receiver. These metrics are:

    • mongodbatlas.disk.partition.queue.depth
    • mongodbatlas.disk.partition.throughput
    • mongodbatlas.process.cache.ratio
  • s3exporter: Upgrading to adopt aws sdk v2 (#36699)

  • opampextension: Use status subscription for fine granular component health reporting (#35856)

  • pkg/pdatatest: Add support for Profiles signal comparison. (#36232)

  • receiver/prometheusremotewrite: Parse labels from Prometheus Remote Write requests into Resource and Metric Attributes. (#35656)
    Warning - The HTTP Server still doesn't pass metrics to the next consumer. The component is unusable for now.

  • signaltometrics: Add config validation and custom OTTL functions (#35930)
    Adds config validation for the signal to metrics connector. Also introduces AdjustedCount OTTL function.

  • testbed: Add batcher performance tests (#36206)

  • tesbed: add options for retry/storage for filelog sender (#36781)

🧰 Bug fixes 🧰

  • azuremonitorexporter: fix bug to remove default config of endpoint which causes failing to parse endpoint correctly. (#36704)

  • receiver/prometheusreceiver: Metric adjuster no longer assumes that all metrics from a scrape come from the same resource (#36477)

  • connector/datadog, exporter/datadog, pkg/datadog: throw error if datadog API key contains invalid characters (#36509)

  • parseutils: Handle escaped quotes when parsing pairs using SplitString. (#36176)

  • exporter/prometheusremotewrite: Fix exemplar handling when the exemplar is an integer value. (#36657)
    Send metrics with exemplars as integer values now are correctly handled.

  • googlecloudmonitoringreceiver: Fix "no validation found" error if workload is running on Google Cloud Platform (#36607)

  • k8sattributesprocessor: Override extracted k8s attributes if original value has been empty (#36373)

  • k8sattributesreceiver: Log any errors encountered during kube client initialisation (#35879)
    This addresses an issue where the collector, due to an error encountered during the kubernetes client initialisation,
    was reporting an 'unavailable' status via the health check extension without any further information to be found in the logs.

  • opampextension: Fix blocking agent shutdown due to unclosed channel (#36764)

  • opampsupervisor: avoid nil pointer access when reporting the last received remote config (#36850)

  • postgresqlreceiver: Update the postgresqlreceiver to handle new table schema for the bgwriter metrics in pg17+ (#36784)

  • jaegerreceiver: Remove ineffectual warning from jaegerreceiver (#35894)

  • datadogexporter: read response body on pushSketches to allow connection re-use (#36779)

  • sumologicextension: Skip likely zombie processes on Windows. (#36481)

API Changelog

🚩 Deprecations 🚩

  • routingprocessor: Deprecated in favor of the routing connector. (#36616)

💡 Enhancements 💡

  • pkg/ottl: Add the ottl.ParserCollection utility to help handling parsers for multiple OTTL contexts (#29017)
    The ottl.ParserCollection groups contexts' ottl.Parsers, choosing the suitable one
    to parse a given statement. It supports context inference using the given statements,
    and allows prepending the context name to the statements' paths.

v0.115.0

04 Dec 13:18
a490083
Compare
Choose a tag to compare

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

Unmaintained Components

These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.

  • exporter/opensearchexporter/
  • extension/observer/ecstaskobserver/
  • receiver/jmxreceiver/

End User Changelog

🛑 Breaking changes 🛑

  • awsfirehosereceiver: Follow receiver contract based on type of error (#5909)

  • elasticsearchexporter: Respect flush::bytes in sync bulk indexer, flush::bytes measures uncompressed size, change default batcher::max_size_items to 0 (#36163)
    Limit the bulk request size to roughly flush::bytes for sync bulk indexer. Sync bulk indexer is used when batcher::enabled is either true or false. In order words, sync bulk indexer is not used when batcher config is undefined. Change flush::bytes to always measure in uncompressed bytes. Change default batcher::max_size_items to 0 as bulk request size limit is now more effectively enforced by flush::bytes.

  • k8sattributesprocessor: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to Beta. (#25128)
    Disable the k8sattr.fieldExtractConfigRegex.disallow feature gate to get the old behavior.

  • internal: Remove stable gate component.UseLocalHostAsDefaultHost (#36589)

  • cmd/opampsupervisor: Update default logger output paths to stderr (#36072)
    The default output paths for the opamp supervisor logger have been updated to stderr from [stdout, stderr].

  • opampsupervisor: Enable strict unmarshalling of the OpAMP Supervisor config file. An error will now be returned if an invalid config key is set. (#35838)

🚩 Deprecations 🚩

  • postgresqlreceiver: Minimal supported PostgreSQL version updated from 9.6 to 13.0 (#30923)
    Aligning on the supported versions as can be seen in the PostgreSQL releases section
  • exporter/prometheusremotewrite: Change exporter.prometheusremotewriteexporter.deprecateCreatedMetric feature gate from Alpha to Beta version. (#35003)
    The export_created_metric configuration parameter is now ignored by default.

🚀 New components 🚀

  • signaltometricsconnector: New component for generating metrics from raw signals using user defined OTTL expressions. (#35930)
  • extension/cgroupruntime: Initial implementation for cgroupruntime extension. (#30289)
  • huaweicloudcesreceiver: Introduce new receiver fetching data from huawei Cloud Eye Service. (#34953)
  • netflowreceiver: Introduce the netflow receiver (#32732)

💡 Enhancements 💡

  • datadogexporter: Add a configurable reporter_period parameter to the Datadog exporter’s host metadata configuration to allow users to specify the frequency at which host metadata is sent to Datadog. (#36450)

  • awsemfexporter: Add support for 1 second metric resolution in CloudWatch Embedded Metrics Format based on metric attributes (#29506)

  • awsemfexporter: Improvement unit conversion during EMF log translation (#35937)

  • sumologicexporter: adding new products for auto discovery (#35622)

  • postgresqlreceiver: Added new postgresql metrics to acheive parity with Telegraf (#36528)

  • loadbalancingexporter: Adding sending_queue, retry_on_failure and timeout settings to loadbalancing exporter configuration (#35378, #16826)
    When switching to top-level sending_queue configuration - users should carefully review queue size
    In some rare cases setting top-level queue size to n*queueSize might be not enough to prevent data loss

  • pkg/stanza: Introduce active file grouping mechanism. (#23787)

  • receivercreator: Add support for starting receivers/scrapers based on provided annotations' hints for metrics' collection (#34427)

  • tailsamplingprocessor: Adds decision cache for non-sampled trace IDs (#31583)

  • cmd/opampsupervisor: Support environment variable expansion in the OpAMP supervisor config. (#36269)

  • pkg/ottl: Move debug log to Statement.Execute so that components using it instead of StatementSequence also get debug logs. (#36456)

  • routingconnector: Add abiilty to route by 'datapoint' context (#36523)

  • signalfxreceiver: Follow receiver contract based on type of error (#5909)
    Use 503 error code for retryable and 400 error code for not-retryable errors instead of responding with a 500 unconditionally.

🧰 Bug fixes 🧰

  • cmd/opampsupervisor: Do not log err if the last received doesn't exist (#36013)

  • receiver/azureeventhub: When using a storage extension, the component will call Close on the client during component shutdown. This fixes a bug that resulted in a file potentially remaining locked after component shutdown. (#36238)

  • azuremonitorexporter: Fixes an issue where the Azure Monitor exporter was not sending data to App Insights due to the Telemetry Channel not being flushed. (#35037)

  • exporter/pulsarexporter: Change configuration option map_connections_per_broker, rename to max_connections_per_broker. (#36579)

  • failoverconnector: Resolves a bug that prevents proper recovery when disabling max retries (#36587)

  • googlecloudpubsubexporter: Fix a goroutine leak during shutdown. (#30438)
    A goroutine leak was found in the googlecloudpubsubexporter.
    The goroutine leak was caused by the exporter not closing the underlying created gRPC client when using an insecure custom endpoint.

  • processor/k8sattribute: fixes parsing of k8s image names to support images with tags and digests. (#36131)

  • clickhouseexporter: Fix incorrect Resource Attribute service.name translation to ClickHouse ServiceName field for Logs Records (#36349)

  • awsfirehosereceiver: fix timestamp when ingesting logs from CloudWatch through firehose (#36122)

  • pkg/ottl: Allow indexing []int64, []float64, []bool, and []byte slices (#29441)
    It should now be possible to index all slice types

  • opencensusreceiver: Do not report error message when OpenCensus receiver is shutdown cleanly. (#36622)

  • loadbalancingexporter: The k8sresolver in loadbalancingexporter was triggering exporter churn in the way the change event was handled. (#35658)

  • vcenterreceiver: The existing code did not honor TLS settings beyond 'insecure'. All TLS client config should now be honored. (#36482)

API Changelog

🛑 Breaking changes 🛑

  • pkg/datadog: Refactor the API that provides metrics translator (#36474)
    This is API change only and does not affect end users

v0.114.0

18 Nov 23:58
v0.114.0
5ce01a3
Compare
Choose a tag to compare

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

Unmaintained Components

These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.

  • exporter/opensearchexporter/
  • extension/observer/ecstaskobserver/
  • receiver/jmxreceiver/

End User Changelog

v0.114.0

🛑 Breaking changes 🛑

  • datadogexporter: Stop prefixing http_server_duration, http_server_request_size and http_server_response_size with otelcol (#36265)
    These metrics can be from SDKs rather than collector. Stop prefixing them to be consistent with https://opentelemetry.io/docs/collector/internal-telemetry/#lists-of-internal-metrics
  • otelarrowreceiver: New admission control metrics are consistent across Arrow and OTLP data paths. (#36334)
    otelcol_otelarrow_admission_in_flight_bytes new, replaces otelcol_otel_arrow_receiver_in_flight_bytes
    otelcol_otelarrow_admission_waiting_bytes: new, describes waiting requests
    otelcol_otel_arrow_receiver_in_flight_items: removed
    otelcol_otel_arrow_receiver_in_flight_requests: removed

🚩 Deprecations 🚩

  • exporter/prometheusremotewrite: Deprecate configuration option export_created metric (#35003)
    Disable the exporter.prometheusremotewriteexporter.deprecateCreatedMetric feature gate to temporarily re-enable the created metric.

💡 Enhancements 💡

  • datadogreceiver: Add json handling for the api/v2/series endpoint in the datadogreceiver (#36079)
  • googlemanagedprometheus: Add CumulativeNormalization config option to allow users to configure to specify whether to report normalized or un-normalized points. Defaults to normalized. (#36357)
  • elasticsearchexporter: Translate k8s.*.name resource attributes in ECS mode (#36233)
    Translate k8s.job.name, k8s.cronjob.name, k8s.statefulset.name, k8s.replicaset.name, k8s.daemonset.name, k8s.container.name to kubernetes.*.name. Translate k8s.cluster.name to orchestrator.cluster.name.
  • encodingextension: Add support for profiles signal to encodingextension (#36008)
  • k8sattributesprocessor: Add support for profiles signal (#35983)
  • cmd/githubgen: Adds a flag to skip checking GitHub organization membership for CODEOWNERS (#36263)
  • container: Set non root group permissions for container image (#35179)
  • k8sclusterreceiver: Add support for limiting observed resources to a specific namespace. (#9401)
    This change allows to make use of this receiver with Roles/RoleBindings, as opposed to giving the collector cluster-wide read access.
  • opampextension: Add content type to opamp extension when reporting EffectiveConfig (#36327)
    Add EffectiveConfig.ConfigMap.ConfigMap[*].ContentType as "text/yaml" to the opamp extension when reporting EffectiveConfig.
  • otelarrowreceiver: Admission control improvements (LIFO); admission.waiter_limit is deprecated, replaced with admission.waiting_limit_mib. (#36074)
  • otelarrowreceiver: Add a new LIFO-based bounded queue. (#36074)
  • connector/otlpjson: Throw error on invalid otlp payload. (#35738, #35739)
  • prometheusremotewriteexporter: reduce allocation when serializing protobuf (#35185)
  • resourcedetectionprocessor: Introduce support for Profiles signal type. (#35980)
  • routingconnector: Add ability to route by metric context (#36236)
  • routingconnector: Add ability to route by span context (#36276)
  • processor/spanprocessor: Add a new configuration option to keep the original span name when extracting attributes from the span name. (#36120)
  • splunkenterprisereceiver: Add new metrics for Splunk Enterprise dispatch artifacts caches (#36181)

🧰 Bug fixes 🧰

  • pkg/stanza: Ensure that time parsing happens before entry is sent to downstream operators (#36213)
  • prometheusexporter: Fixes a race condition between the exporter start and shutdown functions. (#36139)
  • processor/k8sattributes: Block when starting until the metadata have been synced, to fix that some data couldn't be associated with metadata when the agent was just started. (#32556)
  • exporter/loadbalancing: Shutdown exporters during collector shutdown. This fixes a memory leak. (#36024)
  • pkg/ottl: Respect the depth option when flattening slices using flatten (#36161)
    The depth option is also now required to be at least 1.
  • prometheusexporter: reject metrics whose types have changed, use pre-existing descriptions when help strings change (#28617)
  • pkg/stanza: Synchronous handling of entries passed from the log emitter to the receiver adapter (#35453)
  • prometheusreceiver: Fix prometheus receiver to support static scrape config with Target Allocator (#36062)

API Changelog

v0.114.0

🛑 Breaking changes 🛑

  • pkg/stanza: Changed signature of emit.Callback function in pkg/stanza/fileconsumer/emit package by introducing emit.Token struct that encapsulates the token's body and attributes. (#36260)

💡 Enhancements 💡

  • pkg/datadog: Expose an API TranslatorFromConfig that creates a new metrics translator (#36300)
    This is only code refactor and has no user-facing impact

v0.113.0

06 Nov 21:13
v0.113.0
1af2707
Compare
Choose a tag to compare

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

End User Changelog

v0.113.0

🛑 Breaking changes 🛑

  • sapmreceiver: Remove the deprecated access_token_passthrough from SAPM receiver. (#35972)
    Please use include_metadata instead with the following config option applied to the batch processor:
    batch:
    metadata_keys: [X-Sf-Token]

  • pkg/ottl: Promote processor.transform.ConvertBetweenSumAndGaugeMetricContext feature gate to Stable (#36216)
    This gate can no longer be disabled. The convert_sum_to_gauge and convert_gauge_to_sum may now only be used with the metric context.

🚩 Deprecations 🚩

  • opensearchexporter: The OpenSearch exporter is now marked as unmaintained and will be removed in 6 months. (#35781)
    Any codeowners can reinstate the component by submitting a PR to revert the change or commenting on #35781.

🚀 New components 🚀

  • dorisexporter: metrics implementation (#33479)
  • extensions/observer/cfgardenobserver: Implemented the observer, the second PR in the 3 PR process for new components (#33618)

💡 Enhancements 💡

  • splunkenterprisereceiver: Add telemetry around the Splunk Enterprise kv-store. (#35445)

  • journaldreceiver: adds ability to parse journald's MESSAGE field as a string if desired (#36005)

  • journaldreceiver: allows querying a journald namespace (#36031)

  • hostmetricsreceiver: Add the system.uptime metric in the hostmetrics receiver (#31627)
    This metric is provided by the new system scraper.

  • azuredataexplorerexporter: Add new configuration option use_default_auth to enable default authentication for Azure Data Explorer. This option allows users to leverage workload identity for authentication. (#33667)

  • awss3receiver: Mark the AWS S3 receiver as Alpha. (#30750)

  • opampsupervisor: Makes the Supervisor's OpAmp server port configurable with 'agent::opamp_server_port'. (#36001)

  • datadogreceiver: Follow receiver contract based on type of error (#5909)

  • hostmetrics: Adjust scraper creation to make it so the scraper name is reported with hostmetrics scraper errors. (#35814)

  • pkg/translator/prometheusremotewrite: FromMetricsV2 now transforms attributes into labels. (#33661)

  • ntpreceiver: Move NTP receiver to alpha (#36152)

  • opampsupervisor: Supervisor waits for configurable healthchecks to report remote config status. (#21079)

  • otelarrowreceiver: Enable unlimited admission control when request_limit_mib is set to 0. (#36074)

  • pkg/ottl: Add SliceToMap function (#35256)

  • receiver/prometheusremotewrite: Implement body unmarshaling for Prometheus Remote Write requests (#35624)
    Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.

  • receiver/prometheusremotewrite: Implement Content-Type negotiation for Prometheus Remote Write requests (#35565)
    Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.

  • otlpjsonfilereceiver: Add support for profiles signal (#35977)

  • journaldreceiver: Restart journalctl if it exits unexpectedly (#35635)

  • routingconnector: Add ability to route by request metadata. (#19738)

  • exporter/signalfx: Enabling retrying for dimension properties update without tags in case of 400 response error. (#36044)
    Property and tag updates are done using the same API call. After this change, the exporter will retry once to sync
    properties in case of 400 response error.

  • signalfxexporter: Add more default metrics related to Kubernetes cronjobs, jobs, statefulset, and hpa (#36026)

  • simpleprometheusreceiver: Support to set job_name in config (#31502)

  • solacereceiver: Add support to the Solace Receiver to convert the new Move to Dead Message Queue and new Delete spans generated by Solace Event Broker to OTLP. (#36071)

  • connector/routing: Add ability to route log records individually using OTTL log record context. (#19738)

  • splunkenterprisereceiver: Add new metrics for Splunk Enterprise dispatch artifacts (#35950)

🧰 Bug fixes 🧰

  • awsfirehosereceiver: make otlp_v1 a valid record type (#35750, #36125)

  • datadogreceiver: Return a json reponse instead of "OK" when a trace is received with a newer protocol version. (#35705)

  • datadogreceiver: Changes response message for /api/v1/check_run 202 response to be JSON and on par with Datadog API spec (#36027)

  • receiver/windowseventlog: Fix panic when rendering long event messages. (#36179)

  • hostmetricsreceiver: Do not set the default value of HOST_PROC_MOUNTINFO to respect root_path (#35990)

  • prometheusexporter: Fixes an issue where the prometheus exporter would not shut down the server when the collector was stopped. (#35464)

  • k8sobserver: Enable observation of ingress objects if the ObserveIngresses config option is set to true (#35324)

  • pkg/stanza: Fixed bug causing Operators with DropOnErrorQuiet to send log entries to the next operator. (#35010)
    This issue was introduced by a bug fix meant to ensure Silent Operators are not logging errors (#35010). With this fix,
    this side effect bug has been resolved.

  • otelarrowreceiver: Simplify receiver admission control logic (#36074)

  • otelarrowreceiver: Avoid breaking telemetry when admission control fails in OTLP handlers. (#36074)

  • dbstorage: Add postgresql support (#35692)

  • splunkhecreceiver: Avoid a memory leak by changing how we record obsreports for logs and metrics. (#35294)

  • receiver/filelog: fix record counting with header (#35869)

  • connector/routing: Fix detection of duplicate conditions in routing table. (#35962)

  • solacereceiver: The Solace receiver may unexpectedly terminate on reporting traces when used with a memory limiter processor and under high load (#35958)

  • pkg/stanza/operator: Retain Operator should propagate the severity field (#35832)
    The retain operator should propagate the severity field like it does with timestamps.

  • pkg/stanza: Handle error of callback function of ParserOperator.ProcessWithCallback (#35769)
    ProcessWithCallback of ParserOperator first calls the ParseWith method
    which properly handles errors with HandleEntryError.
    Then the callback function is called and its returned error should also
    be handled by the HandleEntryError ensuring a consistent experience.

  • webhookeventreceiver: Pass the consumer error to EndLogsOp (#35844)

API Changelog

v0.113.0

🛑 Breaking changes 🛑

  • testbed: scenarios.createConfigYaml() and utils.CreateConfigYaml() functions now take processor configs as a struct slice argument instead of map[string]string. (#33003)
    • This is to preserve processor order. ProcessorNameAndConfigBody is the newly created struct.

💡 Enhancements 💡

  • receiver/prometheusremotewrite: Implement body unmarshaling for Prometheus Remote Write requests (#35624)
    Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.