CHANGELOG.md 347 KB

Changelog

Starting with version v0.83.0, this changelog includes only user-facing changes. If you are looking for developer-facing changes, check out CHANGELOG-API.md.

v0.90.0

🛑 Breaking changes 🛑

  • dockerstatsreceiver: Add [container.cpu.limit], [container.cpu.shares] and [container.restarts] metrics from docker container api (#21087) It requires API version 1.25 or greater.

🚀 New components 🚀

  • failoverconnector: New component that will allow for pipeline failover triggered by the health of target downstream exporters (#20766)
  • gitproviderreceiver: add repo, branch, and contributor count metrics (#22028)

💡 Enhancements 💡

  • opensearchexporter: Promote opensearchexporter to alpha. (#24668)
  • awsemfexporter: Improve NaN value checking for Summary metric types. (#28894)
  • awsemfexporter: Logs relating to the start and finish of processing metrics have been reduced to debug level (#29337)
  • azuremonitorreceiver: Support Azure gov cloud (#27573)
  • clickhouseexporter: Added support for more control over TTL configuration. Currently, it supports timelines only in days, now also in hours, minutes and seconds (propertyName ttl_days --> ttl). (#28675)
  • datasetexporter: Collect usage metrics with Otel and send grouped attributes in session info. (#27650, #27652)
  • resourcedetectionprocessor: Add k8s cluster name detection when running in EKS (#26794)
  • pkg/ottl: Add new IsDouble function to facilitate type checking. (#27895)
  • configschema: Generate metadata for connectors. (#26990)
  • telemetrygen: Exposes the span duration as a command line argument --span-duration (#29116)
  • honeycombmarkerexporter: Change honeycombmarkerexporter to alpha (#27666)
  • mysqlreceiver: expose tls in mysqlreceiver (#29269) If tls is not set, the default is to disable TLS connections.
  • processor/transform: Convert between sum and gauge in metric context when alpha feature gate processor.transform.ConvertBetweenSumAndGaugeMetricContext enabled (#20773)
  • receiver/mongodbatlasreceiver: adds project config to mongodbatlas metrics to filter by project name and clusters. (#28865)
  • pkg/stanza: Add "namedpipe" operator. (#27234)
  • pkg/resourcetotelemetry: Do not clone data in pkg/resourcetotelemetry by default (#29327)

    • The resulting consumer will be marked as MutatesData instead
  • pkg/stanza: Improve performance by not calling decode when nop encoding is defined (#28899)

  • exporter/prometheusremotewrite: prometheusremotewrite exporter add option to send metadata (#13849)

  • receivercreator: Added support for discovery of endpoints based on K8s services (#29022) By discovering endpoints based on K8s services, a dynamic probing of K8s service leveraging for example the httpcheckreceiver get enabled

  • signalfxexporter: change default timeout to 10 seconds (#29436)

  • awss3exporter: add support for s3_force_path_style and disable_ssl parameters (#29331) In order to support alternative object-storage, these parameters are useful and help to leverage those systems not compatible with domain style path, or just hosted without ssl (like just deployed in a k8s namespace).

  • hostmetricsreceiver: Add optional Linux-only metric system.linux.memory.available (#7417) This is an alternative to system.memory.usage metric with state=free. Linux starting from 3.14 exports "available" memory. It takes "free" memory as a baseline, and then factors in kernel-specific values. This is supposed to be more accurate than just "free" memory. For reference, see the calculations here. See also MemAvailable in /proc/meminfo.

  • azuremonitorexporter: Updated Azure Monitor Exporter service version from v2.0 to v2.1. (#29234)

🧰 Bug fixes 🧰

  • cassandraexporter: Exist check for keyspace and dynamic timeout (#27633)
  • datadogreceiver: Fix set telemetry.sdk.language=dotnet instead of .NET (#29459)
  • filelogreceiver: Fix issue where files were unnecessarily kept open on Windows (#29149)
  • receiver/activedirectoryds: Fix shutdown of activedirectorydsreceiver when shutdown was called right after creation, without a corresponding start call. (#29505)
  • honeycombmarkerexporter: Fix default api_url and dataset_slug (#29309)
  • influxdbexporter: When InfluxDB v1 compatibility is enabled AND username&password are set, the exporter panics. Not any more! (#27084)
  • mongodbreceiver: add receiver.mongodb.removeDatabaseAttr Alpha feature gate to remove duplicate database name attribute (#24972)
  • pkg/stanza: Fix panic during stop for udp async mode only. (#29120)

v0.89.0

🛑 Breaking changes 🛑

  • pkg/stanza: Improve parsing of Windows Event XML by handling anonymous Data elements. (#21491) This improves the contents of Windows log events for which the publisher manifest is unavailable. Previously, anonymous Data elements were ignored. This is a breaking change for users who were relying on the previous data format.
  • processor/k8sattributes: Graduate "k8sattr.rfc3339" feature gate to Beta. (#28817) Time format of k8s.pod.start_time attribute value migrated from RFC3339: Before: 2023-07-10 12:34:39.740638 -0700 PDT m=+0.020184946 After: 2023-07-10T12:39:53.112485-07:00 The feature gate can be temporary reverted back by adding --feature-gate=-k8sattr.rfc3339 to the command line.

  • filelogreceiver: Change "Started watching file" log behavior (#28491) Previously, every unique file path which was found by the receiver would be remembered indefinitely. This list was kept independently of the uniqueness / checkpointing mechanism (which does not rely on the file path). The purpose of this list was to allow us to emit a lot whenever a path was seen for the first time. This removes the separate list and relies instead on the same mechanism as checkpointing. Now, a similar log is emitted any time a file is found which is not currently checkpointed. Because the checkpointing mechanism does not maintain history indefintiely, it is now possible that a log will be emitted for the same file path. This will happen when no file exists at the path for a period of time.

  • dockerstatsreceiver: cpu.container.percent metric is removed in favor of container.cpu.utilization (#21807) The metric container.cpu.percentage is now removed. container.cpu.utilization is enabled by default as a replacement. For details, see the docs.

  • encoding extensions: Rename encoding extensions for consistency with storage extensions (#24451)

    • jaegerencoding -> jaeger_encoding
    • otlpencoding -> otlp_encoding
    • textencoding -> text_encoding
    • zipkinencoding -> zipkin_encoding
  • remoteobserverprocessor: Rename remoteobserverprocessor to remotetapprocessor (#27873)

  • collectdreceiver: Stop using opencensus metrics, use the obsrecv format (#25148)

🚩 Deprecations 🚩

  • datadogexporter: Deprecate config traces::peer_service_aggregation in favor of traces::peer_tags_aggregation (#29089)
  • postgresqlreceiver: Deprecation of postgresql replication lag metrics postgresql.wal.lag in favor of more precise 'postgresql.wal.delay' (#26714)

🚀 New components 🚀

  • extension/opampextension: Add a new extension that implements an OpAMP agent for reporting the collector's health and effective configuration. (#16462)
  • sumologicprocessor: add Sumo Logic Processor (#23946) move processor from https://github.com/SumoLogic/sumologic-otel-collector/ repository
  • alertmanagerexporter: Add new exporter for sending events as alerts to Alertmanager (#23569)
  • remotetapextension: Add a new extension, remotetapextension to use with the remoteobserverprocessor processors. (#19634)
  • otlpencodingextension: Introduce OTLP encoding extension (#6272)
  • pkg/translator/azure: Create a translator for Azure Resource Log format (#18210)

💡 Enhancements 💡

  • awsxrayexporter: Convert individual HTTP error events into exceptions within subsegments for AWS SDK spans and strip AWS.SDK prefix from remote aws service name (#27232)
  • azuremonitorexporter: Added connection string support to the Azure Monitor Exporter (#28853) This enhancement simplifies the configuration process and aligns the exporter with Azure Monitor's recommended practices. The Connection String method allows the inclusion of various fields such as the InstrumentationKey and IngestionEndpoint within a single string, facilitating an easier and more integrated setup. While the traditional InstrumentationKey method remains supported for backward compatibility, it will be phased out. Users are encouraged to adopt the Connection String approach to ensure future compatibility and to leverage the broader configuration options it enables.

  • opensearchexporter: Add log exporting capability to the opensearchexporter. (#23611)

  • pdatatest: Allow to compare metrics resource attributes or metric attribute values by matching on a portion of the dimension value with a regular expression. (#27690) Use MatchResourceAttributeValue("node_id", "cloud-node") to match two metrics with a resource attribute value that starts with "cloud-node". Use MatchMetricAttributeValue("hostname", "container-tomcat-", "gauge.one", "sum.one") to match metrics with the hostname attribute starting with container-tomcat-.

  • processor/tailsampling: adds optional upper bound duration for sampling (#26115)

  • clickhouseexporter: Add persistent storage support to clickhouse exporter (#27653)

  • azuremonitorexporter: Added documentation to describe how to use with the AAD Auth Proxy and enable AAD based authentication. (#24451)

  • azuremonitorexporter: Extended Azure Monitor exporter to support persistent queue. Default is for QueueSettings.Enabled to be false. (#25859)

  • collectdreceiver: Add support of confighttp.HTTPServerSettings (#28811)

  • collectdreceiver: Promote collectdreceiver as beta component (#28658)

  • receiver/hostmetricsreceiver: Added support for host's cpuinfo frequnecies. (#27445) In Linux the current frequency is populated using the values from /proc/cpuinfo. An os specific implementation will be needed for Windows and others.

  • datadogexporter: Add a new traces config trace_buffer that specifies the number of outgoing trace payloads to buffer before dropping. (#28577) If you start seeing log messages like Payload in channel full. Dropped 1 payload. in the datadog exporter, consider setting a higher trace_buffer to avoid traces being dropped.

  • datadogexporter: Add a new config traces::peer_tags_aggregation that enables aggregation of peer related tags in Datadog exporter (#29089)

  • receiver/hostmetrics/scrapers/process: add configuration option to mute error reading username for process (#14311, #17187)

  • syslogexporter: Promote syslogexporter to alpha and add it to otelcontribcol (#21242, #21244, #21245)

  • azureevenhubreceiver: Allow the Consumer Group to be set in the Configuration. (#28633)

  • spanmetricsconnector: Add Events metric to span metrics connector that adds list of event attributes as dimensions (#27451)

  • exceptionsconnector: Add trace id and span id to generated logs from exceptions when using exceptionsconnector. (#24407)

  • processor/k8sattribute: support adding labels and annotations from node (#22620)

  • windowseventlogreceiver: Add parsing for Security and Execution event fields. (#27810)

  • filelogreceiver: Add the ability to order files by mtime, to only read the most recently modified files (#27812)

  • wavefrontreceiver: Wrap metrics receiver under carbon receiver instead of using export function (#27248)

  • exporter/datadog: Added the "exporter.datadogexporter.DisableAPMStats" feature gate to disable APM stats computation. (#28615)

  • pkg/ottl: Add IsBool function into OTTL (#27897)

  • k8sclusterreceiver: add k8s.node.condition metric (#27617)

  • kafka: Expose resolve_canonical_bootstrap_servers_only (#26022)

  • mongodbatlasreceiver: Enhanced collector logs to include more information about the MongoDB Atlas API calls being made during logs retrieval. (#28851)

  • datadogexporter: Add support for host.cpu attributes. (#29156)

  • datadogexporter: Add support for custom container tags via resource attributes prefixed by datadog.container.tag.*. (#29156)

  • receiver/mongodbatlasreceiver: emit resource attributes "mongodb_atlas.region.name" and "mongodb_atlas.provider.name" on metric scrape. (#28833)

  • pkg/golden: Move the internal/coreinternal/golden folder to pkg/golden (#28594)

  • processor/resourcedetection: Add processor.resourcedetection.hostCPUModelAndFamilyAsString feature gate to change the type of host.cpu.family and host.cpu.model.id attributes from int to string. (#29025) This feature gate will graduate to beta in the next release.

  • tailsamplingprocessor: Optimize performance of tailsamplingprocessor (#27889)

  • redisreceiver: include server.address and server.port resource attributes (#22044)

  • servicegraphprocessor, servicegraphconnector: Add a config option to periodically flush metrics, instead of flushing on every push. (#27679)

  • spanmetricsconnector: Add exemplars to sum metric (#27451)

  • exporter/syslog: send syslog messages in batches (#21244) This changes the behavior of the Syslog exporter to send each batch of Syslog messages in a single request (with messages separated by newlines), instead of sending each message in a separate request and closing the connection after each message.

  • cmd/telemetrygen: Use exporter per worker for better metrics throughput (#26709)

  • cmd/telemetrygen: Add support for --otlp-http for telemetrygen logs (#18867)

  • exporter/awss3exporter: This feature allows role assumption for s3 exportation. It is especially useful on Kubernetes clusters that are using IAM roles for service accounts (#28674)

🧰 Bug fixes 🧰

  • lokiexporter: The tenant attribute is now not automatically promoted to a label. (#21045) To add tenant attributes (resource/record) to labels, use the label hints explicitly.
  • azuretranslator: Allow numeric fields to use a String or Integer representation in JSON. (#28650)
  • extension/zipkinencodingextension: Fix bug when err is nil if invalid protocol value is supplied. (#28686)
  • filelogreceiver: Fix issue where counting number of logs emitted could cause panic (#27469, #29107)
  • lokireceiver: Fix issue where counting number of logs emitted could cause panic (#27469, #29107)
  • kafkareceiver: Fix issue where counting number of logs emitted could cause panic (#27469, #29107)
  • k8sobjectsreceiver: Fix issue where counting number of logs emitted could cause panic (#27469, #29107)
  • fluentforwardreceiver: Fix issue where counting number of logs emitted could cause panic (#27469, #29107)
  • otlpjsonfilereceiver: Fix issue where counting number of logs emitted could cause panic (#27469, #29107)
  • datadogconnector: Mark datadogconnector as MutatesData to prevent data race (#29111)
  • azureeventhubreceiver: Updated documentation around Azure Metric to OTel mapping. (#28622)
  • receiver/hostmetrics: Fix panic on load_scraper_windows shutdown (#28678)
  • apachesparkreceiver: Replacing inaccurate units for the spark.job.stage.active and spark.job.stage.result metrics for the Apache Spark receiver. (#29104)
  • splunkhecreceiver: Do not encode JSON response objects as string. (#27604)
  • processor/k8sattributes: Set attributes from namespace/node labels or annotations even if node/namespaces attribute are not set. (#28837)
  • datadogexporter: Only extract DD container tags from resource attributes. Previously, container tags were also extracted from span attributes. (#29156)
  • datadogexporter: Only add container tags in dedicated container tag section. Previously, container tags were also added as span tags. Container tags will now only be accessible via the span container tab, and not as span tags. (#29156)
  • pkg/stanza: Fix data-corruption/race-condition issue in udp async (reuse of buffer); use buffer pool isntead. (#27613)
  • datadogexporter: Fixes potential log records loss on a transient network/connectivity error (#24550) The Datadog exporter threats network/connectivity errors (http client doesn't receive a response) as permanent errors, which can lead to log records loss. This change makes these errors retryable.
  • servicegraphprocessor, servicegraphconnector: Measure latency in seconds instead of milliseconds (#27488) Measures latency in seconds instead of milliseconds, as the metric name indicates. Previously, milliseconds was used. This unit is still available via the feature gate processor.servicegraph.legacyLatencyUnitMs. This is a breaking change.

  • sshcheckreceiver: Use key_file instead of keyfile for the key in config. Aligns project practice, code, and docs. (#27035)

  • zipkinreceiver: Return BadRequest in case of permanent errors (#4335)

v0.88.0

🛑 Breaking changes 🛑

  • k8sclusterreceiver: Remove opencensus.resourcetype resource attribute (#26487)
  • splunkhecexporter: Remove max_connections configuration setting. (#27610) use max_idle_conns or max_idle_conns_per_host instead.

  • signalfxexporter: Remove max_connections configuration setting. (#27610) use max_idle_conns or max_idle_conns_per_host instead.

🚩 Deprecations 🚩

  • dockerstatsreceiver: cpu.container.percent metric will be deprecated in v0.79.0 in favor of container.cpu.utilization (#21807) The metric container.cpu.percentage is now disabled by default and will be removed in v0.88.0. As a replacement, the following metric is now enabled by default: container.cpu.utilization. For details, see the docs.

  • parquetexporter: Remove the parquet exporter (#27284)

🚀 New components 🚀

  • encoding/jsonlogencodingextension: Add a new extension to support JSON encoding (only logs) (#6272)
  • honeycombmarkerexporter: This component will export markers to be consumed by the Honeycomb Markers API to highlight user events (#26653)
  • zipkinencodingextension: Introduce zipkin encoding extension. (#6272)

💡 Enhancements 💡

  • datasetexporter: Make export of resources and scopes more flexible (#27651, #27649)
  • pkg/stanza: Add option to run udp logs receiver (and stanza udp input operator) concurrently to reduce data-loss during high-scale scenarios (#27613)
  • receiver/prometheus: Warn instead of failing when users rename using metric_relabel_configs in the prometheus receiver (#5001)
  • awscloudwatchlogsexporter/awsemfexporter: Reduce noisy logs emitted by CloudWatch Logs Pusher. (#27774) The Collector logger will now write successful CloudWatch API writes at the Debug level instead of Info level.
  • k8sobjectsreceiver: Move k8sobjectsreceiver from Alpha stability to Beta stability for logs. (#27635)
  • datadogconnector: Allow datadogconnector to be used as a traces-to-traces connector (#27846)
  • doubleconverter: Adding a double converter into pkg/ottl (#22056)
  • syslogreceiver: validate protocol name (#27581)
  • elasticsearchexporter: add missing scope info in span attributes (#27282)
  • entension/storage/filestorage: Add support for setting bbolt fsync option (#20266)
  • filelogreceiver: Add a new "top_n" option to specify the number of files to track when using ordering criteria (#23788)
  • azuredataexplorerexporter: Added exporter helper config support for Azure Data Explorer exporter (#24329)
  • k8sclusterreceiver: add optional k8s.pod.qos_class resource attribute (#27483)
  • pkg/stanza: Log warning, instead of error, when Windows Event Log publisher metadata is not available and cache the successfully retrieved ones. (#27658)
  • pkg/ottl: Add optional Converter parameters to replacement Editors (#27235) Functions to modify matched text during replacement can now be passed as optional arguments to the following Editors:

    • replace_pattern
    • replace_all_patterns
    • replace_match
    • replace_all_matches
  • awscloudwatchlogsexporter: Improve the performance of the awscloudwatchlogsexporter (#26692) Improve the performance by adding support to multiple consumers and removing locks and limiters that are no longer necessary.

  • pkg/pdatatest: support ignore timestamps in span comparisons for pdatatest (#27688)

  • prometheusremotewriteexporter: addition of max_batch_size_bytes configurable parameter, to allow users to adjust it based on the capabilities of their specific remote storage (#21911)

  • pkg/pdatatest: support ignore span attribute value in span comparisons for ptracetest (#27689)

  • pkg/pdatatest: support ignore span ID in span comparisons for ptracetest (#27685)

  • pkg/pdatatest: support ignore trace ID in span comparisons for ptracetest (#27687)

  • pkg/stanza: When async is enabled for udp receiver, separate logic into readers (only read logs from udp port and push to channel), and processors (read logs from channel and process; decode, split, add attributes, and push downstream), allowing to change concurrency level for both readers and processors separately. (#27613)

  • signalfxexporter: Add an option to control the dimension client timeout (#27815)

  • signalfxexporter: Add the build version to the user agent of the SignalFx exporter (#16841)

  • splunkentreceiver: Users can now use auth settings and basicauth extension to connect to their Splunk enterprise deployments (#27026)

🧰 Bug fixes 🧰

  • datasetexporter: Do not crash on NPE when any of the attributes contains null value. (#27648)
  • syslog: add integration tests and fix related bugs (#21245)
  • processor/resourcedetection: Don't parse the field cpuInfo.Model if it's blank. (#27678)
  • k8sclusterreceiver: Change clusterquota and resourcequota metrics to use {resource} unit (#10553)
  • cmd/telemetrygen: Fix go install for telemetrygen (#27855)
  • pkg/ottl: Fix bug where named parameters needed a space after the equal sign (=). (#28511)
  • filelogreceiver: Fix issue where batching of files could result in ignoring start_at setting. (#27773)
  • prometheusremotewrite: Fix remote write exporter not respecting retrySettings.enabled flag (#27592)
  • redactionprocessor: Fix mask when multiple patterns exist (#27646)

v0.87.0

🛑 Breaking changes 🛑

  • receiver/kubeletstats: Fixes a bug where the "insecure_skip_verify" config was not being honored when "auth_type" is "serviceAccount" in kubelet client. (#26319) Before the fix, the kubelet client was not verifying kubelet's certificate. The default value of the config is false, so with the fix the client will start verifying tls cert unless the config is explicitly set to true.

  • parquetexporter: Deprecate the Parquet Exporter, it will be removed in the next release. (#27284)

  • bug_fix: Improve counting for the count_traces_sampled metric (#25882)

  • extension/filestorage: Replace path-unsafe characters in component names (#3148)

🚩 Deprecations 🚩

  • resourcedetectionprocessor: Detect faas.instance in the gcp detector, and deprecate detecting faas.id in the gcp detector. (#26486) faas.id has been removed from the semantic conventions.
  • k8sclusterreceiver: Deprecate opencensus.resourcetype resource attribute (#26487) opencensus.resourcetype resource attribute is deprecated and disabled by default.

🚀 New components 🚀

  • encodingextension: Add implementation of encodingextension (#6272)

💡 Enhancements 💡

  • processor/probabilisticsampler: Allow non-bytes values to be used as the source for the sampling decision (#18222)
  • receiver/azuremonitorreceiver: Add support for authenticating using AD workload identity (#24451)
  • kafkareceiver: Allow users to attach kafka header metadata with the log/metric/trace record in the pipeline. Introduce a new config param, 'header_extraction' and some examples. (#24367)
  • exporter/kafkaexporter: Adding Zipkin encoding option for traces to kafkaexporter (#21102)
  • kubeletstatsreceiver: Support specifying context for kubeConfig auth_type (#26665)
  • kubeletstatsreceiver: Adds new k8s.pod.cpu_limit_utilization, k8s.pod.cpu_request_utilization, k8s.container.cpu_limit_utilization, and k8s.container.cpu_request_utilization metrics that represent the ratio of cpu used vs set limits and requests. (#27276)
  • kubeletstatsreceiver: Adds new k8s.pod.memory_limit_utilization, k8s.pod.memory_request_utilization, k8s.container.memory_limit_utilization, and k8s.container.memory_request_utilization metrics that represent the ratio of memory used vs set limits and requests. (#25894)
  • filestatsreceiver: Move the filestats receiver to beta stability (#27252)
  • haproxyreceiver: Move the haproxyreceiver to beta stability (#27254)
  • splunkentreceiver: adding additional metrics to the splunkentreceiver (#12667)
  • cmd/telemetrygen: Add support for custom telemetry attributes (#26505)

🧰 Bug fixes 🧰

  • processor/spanmetrics: Prune histograms when dimension cache is pruned. (#27080) Dimension cache was always pruned but histograms were not being pruned. This caused metric series created by processor/spanmetrics to grow unbounded.

  • syslogexporter: use proper defaults according to RFCs (#25114)

  • syslogparser: return correct structure from syslog parser (#27414)

  • splunkhecreceiver: Fix receiver behavior when used for metrics and logs at the same time; metrics are no longer dropped. (#27473)

  • metricstransformprocessor: Fixes a nil pointer dereference when copying an exponential histogram (#27409)

  • telemetrygen: better defaults for http exporter mode (#26999)

    • the url path default is now correct for both traces and metrics
    • when not provided, the endpoint is automatically set to target a local gRPC or HTTP endpoint depending on the communication mode selected
  • k8sclusterreceiver: change k8s.container.ready, k8s.pod.phase, k8s.pod.status_reason, k8s.namespace.phase units to empty (#10553)

  • k8sclusterreceiver: Change k8s.node.condition* metric units to empty (#10553)

  • syslogreceiver: Fix issue where long tokens would be truncated prematurely (#27294)

  • mongodbreceiver: Fix mongo version not being collected (#27441)

v0.86.0

🛑 Breaking changes 🛑

  • jaegerexporter, jaegerthrifthttpexporter: Removing deprecated jaeger and jaegerthrifthttp exporters (#26546) This follows the deprecation plan to remove the component. The original removal date was July 2023, it is now past that.
  • receiver/nginx: Bump 'nginx.connections_current' gate to stable (#27024)

💡 Enhancements 💡

  • processor/tailsampling: Allow sub-second decision wait time (#26354)
  • processor/resourcedetection: Added support for host's cpuinfo attributes. (#26532) In Linux and Darwin all fields are populated. In Windows only family, vendor.id and model.name are populated.
  • pkg/stanza: Add 'omit_pattern' setting to split.Config. (#26381) This can be used omit the start or end pattern from a log entry.
  • skywaklingreceiver: implement receiver for JVM metrics in Skywalking and adapted it to the OpenTelemetry protocol. (#20315)
  • statsdreceiver: Add TCP support to statsdreceiver (#23327)
  • azuredataexplorerexporter: Added an optional column in the exported trace data to store the status code and message as a dynamic field. (#26496)
  • statsdreceiver: Allow for empty tag sets (#27011)
  • pkg/ottl: Update contexts to set and get time.Time (#22010)
  • pkg/ottl: Add a Now() function to ottl that returns the current system time (#27038, #26507)
  • filelogreceiver: Log the globbing IO errors (#23768)
  • exporter/loadbalancing: Allow metrics routing (#25858)
  • pkg/ottl: Allow named arguments in function invocations (#20879) Arguments can now be specified by a snake-cased version of their name in the function's Arguments struct. Named arguments can be specified in any order, but must be specified after arguments without a name.

  • pkg/ottl: Add new TruncateTime function to help with manipulation of timestamps (#26696)

  • pkg/stanza: Add 'overwrite_text' option to severity parser. (#26671) Allows the user to overwrite the text of the severity parser with the official string representation of the severity level.

  • prometheusreceiver: add a new flag, enable_protobuf_negotiation, which enables protobuf negotiation when scraping prometheus clients (#27027)

  • redisreceiver: Added redis.cmd.latency metric. (#6942)

  • processor/resourcedetectionprocessor: add k8snode detector to provide node metadata; currently the detector provides k8d.node.uid (#26538)

  • routingconnector: Change routingconnector stability to alpha (#26495)

  • supported platforms: Add linux/s390x architecture to cross build tests in CI (#25138)

  • telemetrygen: Move the telemetrygen tool to use gRPC logging at warn level, in line with otlpgrpc. (#26659)

  • splunkentreceiver: adding component logic to splunkenterprise receiver (#12667)

  • splunkhecreceiver: Update splunk hec receiver to extract time query parameter if it is provided (#27006)

  • cmd/telemetrygen: Add CLI option for selecting different metric types (#26667)

  • cloudflarereceiver: Make TLS config optional for cloudflarereceiver (#26562)

  • receiver/awscontainerinsightsreceiver: Remove the need to set an env var in the receiver to get CPU and memory info (#24777)

  • awsxrayexporter: Change exporter.awsxray.skiptimestampvalidation feature gate from Alpha to Beta (#26553)

  • processor/k8sattributes: allow metadata extractions to be set to empty list (#14452)

🧰 Bug fixes 🧰

  • processor/tailsampling: Prevent the tail-sampling processor from accepting duplicate policy names (#27016)
  • awsemfexporter: AWS EMF Exporter will not drop any metrics that contain NaN values to avoid JSON marshal errors. (#26267)
  • k8sclusterreceiver: Change k8s.deployment.available and k8s.deployment.desired metric units to {pod} (#10553)
  • awsxrayexporter: Restore the AWS X-Ray metadata structure when exporting. (#23610)
  • telemetrygen: remove need for JSON unmarshalling of trace status codes and unsupport mixed case input (#25906)
  • haproxyreceiver: Remove unused resource attributes. (#24920)
  • k8sclusterreceiver: Change k8scluster receiver metric units to follow otel semantic conventions (#10553)
  • pkg/stanza: Fix bug where force_flush_period not applied (#26691)
  • filelogreceiver: Fix issue where truncated file could be read incorrectly. (#27037)
  • receiver/hostmetricsreceiver: Make sure the process scraper uses the gopsutil context, respecting the root_path configuration. (#24777) This regression was introduced by #24777
  • k8sclusterreceiver: change k8s.container.restarts unit from 1 to {restart} (#10553)

v0.85.0

🛑 Breaking changes 🛑

  • k8sclusterreceiver: Remove deprecated Kubernetes API resources (#23612, #26551) Drop support of HorizontalPodAutoscaler v2beta2 version and CronJob v1beta1 version. Note that metrics for those resources will not be emitted anymore on Kubernetes 1.22 and older.

  • prometheusexporters: Append prometheus type and unit suffixes by default in prometheus exporters. (#26488) Suffixes can be disabled by setting add_metric_suffixes to false on the exporter.

  • attributesprocessor, resourceprocessor: Transition featuregate coreinternal.attraction.hash.sha256 to stable (#4759)

💡 Enhancements 💡

  • postgresqlreceiver: Added postgresql.database.locks metric. (#26317)
  • receiver/statsdreceiver: Add support for distribution type metrics in the statsdreceiver. (#24768)
  • pkg/ottl: Add converters to convert time to unix nanoseconds, unix microseconds, unix milliseconds or unix seconds (#24686)
  • oauth2clientauthextension: Enable dynamically reading ClientID and ClientSecret from files (#26117)

    • Read the client ID and/or secret from a file by specifying the file path to the ClientIDFile (client_id_file) and ClientSecretFile (client_secret_file) fields respectively.
    • The file is read every time the client issues a new token. This means that the corresponding value can change dynamically during the execution by modifying the file contents.
  • receiver/hostmetrics: Don't collect connections data from the host if system.network.connections metric is disabled to not waste CPU cycles. (#25815)

  • jaegerreceiver,jaegerremotesamplingextension: Add featuregates to replace Thrift-gen with Proto-gen types for sampling strategies (#18401) Available featuregates are:

    • extension.jaegerremotesampling.replaceThriftWithProto
    • receiver.jaegerreceiver.replaceThriftWithProto
  • influxdbexporter: Add user-configurable LogRecord dimensions (otel attributes -> InfluxDB tags) (#26342)

  • k8sclusterreceiver: Add optional k8s.kubelet.version, k8s.kubeproxy.version node resource attributes (#24835)

  • k8sclusterreceiver: Add k8s.pod.status_reason option metric (#24034)

  • k8sobjectsreceiver: Adds logic to properly handle 410 response codes when watching. This improves the reliability of the receiver. (#26098)

  • k8sobjectreceiver: Adds option to exclude event types (MODIFIED, DELETED, etc) in watch mode. (#26042)

  • datadogexporter: Host metadata for remote hosts is now reported on first sight or on change (#25145) Host metadata for remote hosts will only be sent for payloads with the datadog.host.use_as_metadata resource attribute.

🧰 Bug fixes 🧰

  • processor/routing: When using attributes instead of resource attributes, the routing processor would crash the collector. This does not affect the connector version of this component. (#26462)
  • awsemfexporter: Fix possible panic in when configuration option awsemf.output_destination:stdout is set (#26250)
  • snmpreceiver: Fix how to determine how many RAs on a metric are scalar (#26363) We now create the proper number of resources for configurations where a resource uses fewer than the available number of scalar resource attribtues.
  • processor/tailsampling: Added saving instrumentation library information for tail-sampling (#13642)
  • receiver/kubeletstats: Fixes client to refresh service account token when authenticating with kubelet (#26120)
  • datadogexporter: Fixes crash when mapping OTLP Exponential Histograms with no buckets. These will now be dropped instead. (#26103)
  • filelogreceiver: Fix the behavior of the add operator to continue to support EXPR(env("MY_ENV_VAR")) expressions (#26373)
  • snmpreceiver: SNMP values of type Counter64 were seen as unsupported, because the returned data type unint64 was unhandeled. (#23897, #26119)
  • pkg/stanza: Fix issue unsupported type 'syslog_parser' (#26452)

v0.84.0

🛑 Breaking changes 🛑

  • jaegerreceiver: Deprecate remote_sampling config in the jaeger receiver (#24186) The jaeger receiver will fail to start if remote_sampling config is specified in it. The receiver.jaeger.DisableRemoteSampling feature gate can be set to let the receiver start and treat remote_sampling config as no-op. In a future version this feature gate will be removed and the receiver will always fail when remote_sampling config is specified.

  • googlecloudexporter: remove retry_on_failure from the googlecloud exporter. The exporter itself handles retries, and retrying can cause issues. (#57233)

  • vcenterreceiver: Dimensions performance metrics into metric attribute object (#25147) The following metrics have been effected to include the new metric attribute to properly dimension the data.vcenter.vm.network.throughput,vcenter.vm.network.usage,vcenter.vm.network.packet.count,vcenter.vm.disk.latency.avg,vcenter.vm.disk.latency.max,vcenter.host.network.usage,vcenter.host.network.throughput,vcenter.host.network.packet.count,vcenter.host.network.packet.errors, vcenter.host.disk.latency.avg,vcenter.host.disk.latency.max, and vcenter.host.disk.throughput. More information on how to migrate can be found at https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/vcenterreceiver#feature-gates

🚩 Deprecations 🚩

  • datadogprocessor: Deprecation of Datadog processor in favor of Datadog connector (#19740)
  • tanzuobservabilityexporter: Deprecation of Tanzu Observability (Wavefront) Exporter in favor of native OTLP ingestion. (#24225)

💡 Enhancements 💡

  • redisreceiver: Adding username parameter for connecting to redis (#24408)
  • postgresqlreceiver: Added postgresql.temp_files metric. (#26080)
  • receiver/azuremonitor: Added new attrbutes to the metrics like name, type and resource_group. (#24774)
  • clickhouseexporter: Change writing of metrics data to batch (#24403)
  • signalfxexporter: Added a mechanism to drop histogram buckets (#25845)
  • journaldreceiver: add support for identifiers (#20295)
  • journaldreceiver: add support for dmesg (#20295)
  • cassandraexporter: Allow custom port for Cassandra connection (#24391)
  • pkg/ottl: Add converters to covert duration to nanoseconds, microseconds, milliseconds, seconds, minutes or hours (#24686)
  • snmpreceiver: Support scalar OID resource attributes (#23373) Add column and scalar OID metrics to resources that have scalar OID attributes
  • googlemanagedprometheus: Add a add_metric_suffixes option to the googlemanagedprometheus exporter. When set to false, metric suffixes are not added. (#26071)
  • haproxyreceiver: Add support for HTTP connections (#24440)
  • cmd/telemetrygen: Add cli flag --status-code for trace generation (#24286)
  • kubeletstatsreceiver: Add a new uptime metric for nodes, pods, and containers to track how many seconds have passed since the object started (#25867)
  • opensearchexporter: implement OpenSearch exporter. (#23611)
  • pkg/ottl: Add new ExtractPatterns converter that extract regex pattern from string. (#25834, #25856)
  • pkg/ottl: Add support for Log, Metric and Trace Slices to Len converter (#25868)
  • lokitranslator: Added Attributes support to the InstrumentationScope (#24027)
  • lokitranslator: Public method LogToLokiEntry from pkg/loki/translator now returns normalized (. replaced by _) label names (#26093)
  • postgresqlreceiver: Added postgresql.deadlocks metric. (#25688)
  • postgresqlreceiver: Added postgresql.sequential_scans metric. (#26096)
  • prometheusreceiver: The otel_scope_name and otel_scope_version labels are used to populate scope name and version. otel_scope_info is used to populate scope attributes. (#25870)
  • receiver/prometheus: translate units from prometheus to UCUM (#23208)
  • snmpreceiver: Add support for SNMP values of type counter64 (#23897)
  • snmpreceiver: Timeout for SNMP requests can now be configured. (#25885)
  • telemetrygen: The telemetrygen now supports setting the log's body (#26031)
  • awsxrayexporter: add exporter.awsxray.skiptimestampvalidation Alpha feature gate to remove xray timestamp restriction on first 32 bits of trace id (#26041)

🧰 Bug fixes 🧰

  • receiver_creator: Update expr and relocate breaking type function to typeOf (#26038)
  • azuremonitor_logexporter: The log exporter now supports non-string data for the log record body. (#23422)
  • vcenterreceiver: Added a vcenter.resource_pool.inventory_path resource attribute to resource pool metrics in order to properly dimension resource pools of the same name. (#25831)
  • loadbalancingexporter: fix k8s service resolver retaining invalid old endpoints (#24914)
  • prometheusremotewriteexporter: Retry on 5xx status codes using cenkalti/backoff client (#20304)
  • cmd/telemetrygen: fix the default value of the arg status-code (#25849)

v0.83.0

🛑 Breaking changes 🛑

  • receiver/k8scluster: Unify predefined and custom node metrics. (#24776)

    • Update metrics description and units to be consistent
    • Remove predefined metrics definitions from metadata.yaml because they are controlled by node_conditions_to_report and allocatable_types_to_report config options.
  • prometheusexporter: Remove invalid unit translations from the prometheus exporters (#24647)

  • receiver/prometheusexec: Removes the deprecated prometheus_exec receiver (#24740)

🚀 New components 🚀

  • datadogconnector: This is a new component that computes Datadog APM Stats in the event that trace pipelines are sampled. (#19740) This component replaces the Datadog processor

  • gitproviderreceiver: Add the skeleton for the new gitproviderreceiver in development with accompanying github scraper. (#22028)

💡 Enhancements 💡

  • azuredataexplorerexporter: Add support for managed identity. This enables users to not use Key based authentication (#21924)
  • awsemfexporter: Add awsemf.nodimrollupdefault feature gate to aws emf exporter (#23997) Enabling the awsemf.nodimrollupdefault will cause the AWS EMF Exporter to use the NoDimensionRollup configuration setting by default instead of ZeroAndSingleDimensionRollup.

  • awss3exporter: add Sumo Logic Installed Collector marshaler (#23212)

  • receiver/collectdreceiver: Migrate from opencensus to pdata, change collectd, test to match pdata format. (#20760)

  • datasetexporter: Make duration of shutdown procedure configurable to minimise data losses. (#24415)

  • datasetexporter: Make sure serverHost field is correctly and always populated on the DataSet events. For more information and available configuration options, please refer to the plugin readme file. (#20660, #24415)

  • datadogreceiver: add datadog trace and span id (#23057)

  • pkg/ottl: Add support for using addition and subtraction with time and duration (#22009)

  • transformprocessor: Add extract_count_metric OTTL function to transform processor (#22853)

  • transformprocessor: Add extract_sum_metric OTTL function to transform processor (#22853)

  • prometheusreceiver: Don't drop histograms without buckets (#22070)

  • pkg/ottl: Add a new Function Getter to the OTTL package, to allow passing Converters as literal parameters. (#22961) Currently OTTL provides no way to use any defined Converter within another Editor/Converter. Although Converters can be passed as a parameter, they are always executed and the result is what is actually passed as the parameter. This allows OTTL to pass Converters themselves as a parameter so they can be executed within the function.

  • resourcedetectionprocessor: GCP resource detection processor can automatically add gcp.gce.instance.hostname and gcp.gce.instance.name attributes. (#24598)

  • splunkhecexporter: Add heartbeat check while startup and new config param, heartbeat/startup (defaults to false). This is different than the healtcheck_startup, as the latter doesn't take token or index into account. (#24411)

  • hostmetricsreceiver: Report logical and physical number of CPUs as metric. (#22099) Use the system.cpu.logical.count::enabled and system.cpu.physical.count::enabled flags to enable them

  • k8sclusterreceiver: Allows disabling metrics and resource attributes (#24568)

  • k8sclusterreceiver: Reduce memory utilization (#24769)

  • k8sattributes: Added k8s.cluster.uid to k8sattributes processor to add cluster uid (#21974)

  • resourcedetectionprocessor: Collect heroku metadata available instead of exiting early. Log at debug level if metadata is missing to help troubleshooting. (#25059)

  • hostmetricsreceiver: Improved description of the system.cpu.utilization metrics. (#25115)

  • cmd/mdatagen: Avoid reusing the same ResourceBuilder instance for multiple ResourceMetrics (#24762)

  • resourcedetectionprocessor: Add detection of os.description to system detector (#24541)

  • filelogreceiver: Bump 'filelog.allowHeaderMetadataParsing' feature gate to beta (#18198)

  • receiver/purefareceiver: implement the custom label fa_array_name to act as a pretty label for metrics received. (#23889, #21248, #22027)

  • receiver/prometheusreceiver: Add config report-extra-scrape-metrics to report additional prometheus scraping metrics (#21040) Emits additional metrics - scrape_body_size_bytes, scrape_sample_limit, scrape_timeout_seconds. scrape_body_size_bytes metric can be used for checking failed scrapes due to body-size-limit.

  • receiver/sqlquery: Set ObservedTimestamp on collected logs (#23776)

  • exporter/awss3exporter: Allow custom endpoints to be configured for exporting spans (#21833)

  • cmd/telemetrygen: Add ability to set custom path to endpoint. (#24551)

  • telemetrygen: Adds batch option to configure whether to batch traces, and size option to configure minimum size in MB of each trace for load testing. (#9597)

  • webhookreceiver: Add an optional config setting to set a required header that all incoming requests must provide (#24270)

  • extension/jaegerremotesampling: gRPC remote source usage in jaegerremotesampling extension propagates HTTP headers if set in gRPC client config (#24414)

  • extension/jaegerremotesampling: gRPC remote source usage in jaegerremotesampling extension supports optional caching via existing reload_interval config (#24840)

🧰 Bug fixes 🧰

  • receiver/sshcheck: Add the SSH endpoint as a resource attribute (#24441)
  • awsemfexporter: Enforce time to live on metric data that is stored for the purpose of cumulative to delta conversions within EMF Exporter (#25058) This change fixes a bug where the cache used to store metric information for cumulative to delta conversions was not enforcing its time to live. This could cause excessive memory growth in certain scenarios which could lead to OOM failures for Collector. To properly fix this issue package global metric caches were removed and replaced with caches that are unique per emf exporter. A byproduct of this change is that no two emf exporters within an Collector will share a caches leading to more accurate cumulative to delta conversions.

  • awsemfexporter: Add retain_initial_value_of_delta_metric to translateOTelToGroupedMetric, allowing the initial set of metrics to be published (#24051)

  • carbonreceiver: Fix Carbon receiver obsrecv operations memory leak (#24275) The carbonreceiver has a memory leak where it will repeatedly open new obsrecv operations but not close them afterwards. Those operations eventually create a burden.

The fix is to make sure the receiver only creates an operation per interaction over TCP.

  • datadogexporter: Populate OTLP resource attributes in Datadog logs. Changes mapping for jvm.loaded_classes from process.runtime.jvm.classes.loaded to process.runtime.jvm.classes.current_loaded. (#24674)
  • datadogexporter: Fix the population of Datadog system.* metrics. Ensure the average is within [min, max] in histograms. (#25071) The minimum and maximum estimation is only used when the minimum and maximum are not available in the OTLP payload or this is a cumulative payload.
  • pkg/stanza: Create a new decoder for each TCP/UDP connection to prevent concurrent write to buffer. (#24980)
  • exporter/kafkaexporter: Fixes a panic when SASL configuration is not present (#24797)
  • lokitranslator, lokiexporter: Fixes a panic that occurred during the promotion of nested attributes containing dots to labels (#25125)
  • awsxrayexporter: Fix X-Ray Segment status code and exception translations. (#24381)
  • receiver/haproxy: Make sure emitted resource metrics have distinct resources by default (#24921) This is done by enabling and renaming the following resource attributes:

    • proxy_name -> haproxy.proxy_name
    • service_name -> haproxy.service_name
  • receiver/k8sobjects: Fix bug where duplicate data would be ingested for watch mode if the client connection got reset. (#24806)

  • datadogreceiver: Fixed NPE on failed to decode message path (#24562)

  • zipkinreceiver: Respects zipkin's serialised status tags to be converted to span status (#14965)

  • datadogexporter: Correctly set metrics exporter capabilities to state that it mutates data (#24908) This could lead to random panics if using more than one metrics exporter.

  • processor/resourcedetection: Do not drop all system attributes if host.id cannot be fetched. (#24669)

  • signalfxexporter: convert vmpage_io* translated metrics to pages (#25064)

  • splunkhecreceiver: aligns success resp body w/ splunk enterprise (#19219) changes resp from plaintext "ok" to json {"text":"success", "code":0}

v0.82.0

🛑 Breaking changes 🛑

  • receiver/awsfirehose: Change the type of Config.AccessKey to be configopaque.String (#17273)
  • receiver/cloudfoundry: Change the type of Config.UAA.Password to be configopaque.String (#17273)
  • exporter/datasetexporter: Remove temporary client side attribute aggregation and corresponding traces.max_wait and traces.aggregate config options which are now redundant. (#20660) This pull request removes the following attributes from the DataSet trace events: services, span_count, error_count. Those attributes were populated on the client side as part of the client side aggregation code. This client side aggregation was meant as a temporary solution until a proper solution is implement on the server side. Being a temporary solution meant it had many edge cases and would only work under specific and limited circumstances (all spans which belong to a trace are part of the same batch received by the plugin).

Corresponding config options (traces.aggregate and traces.max_wait) which are not redundant and unused have also been removed.

  • mysqlreceiver: removing mysql.locked_connects metric which is replaced by mysql.connection.errors (#23211)
  • pkg/ottl: Allow access to the metrics slice in the metric context (#24446) This is only a breaking change for users using OTTL in custom components. For all Contrib components this is an enhancement.
  • pkg/stanza: Make fileconsumer.PositionalScanner internal (#23999)
  • pkg/stanza: Make fileconsumer.Fingerprint internal (#23998)
  • receiver/httpcheck: Fail fast on endpoint missing scheme (#23020) Previously, when configured with an endpoint without HTTP/HTTPS scheme like "opentelemetry.io", the receiver would start correctly, but fail to check the endpoint, producing the httpcheck.error metric on every collection interval. After this change, the receiver fails to start, writing an error log saying that you need to provide a scheme in the endpoint.

  • receiver/jmx: Change the types of Config.{Password,KeystorePassword,TruststorePassword} to be configopaque.String (#17273)

  • httpcheckreceiver: support scraping multiple targets (#18823)

  • resourcedetectionprocessor: Disable host.id by default on the system detector. This restores the behavior prior to v0.72.0 when using the system detector together with other detectors that set host.id (#21233) To re-enable host.id on the system detector set system::resource_attributes::host.id::enabled to true:

    resourcedetection:
    detectors: [system]
    system:
      resource_attributes:
        host.id:
          enabled: true
    
  • receiver/nsxt: Change the type of Config.Password to be configopaque.String (#17273)

  • receiver/podman: Change the type of Config.SSHPassphrase to be configopaque.String (#17273)

  • receiver/postgresql: Change the type of Config.Password to be configopaque.String (#17273)

  • prometheusreciever: Remove unused buffer_period and buffer_count configuration options (#24258)

  • prometheusreceiver: Add the trim_metric_suffixes configuration option to allow enable metric suffix trimming. (#21743, #8950) When enabled, suffixes for unit and type are trimmed from metric names. If you previously enabled the pkg.translator.prometheus.NormalizeName feature gate, you will need to enable this option to have suffixes trimmed.

  • receiver/pulsar: Change the types of Config.Authentication.Token.Token and Config.Authentication.Athenz.PrivateKey to be configopaque.String (#17273)

  • receiver/rabbitmq: Change the type of Config.Password to be configopaque.String (#17273)

  • receiver/redis: Change the type of Config.Password to be configopaque.String (#17273)

  • receiver/riak: Change the type of Config.Password to be configopaque.String (#17273)

  • receiver/saphana: Change the type of Config.Password to be configopaque.String (#17273)

  • receiver/snmp: Change the types of the Config.{AuthPassword,PrivacyPassword} fields to be of configopaque.String (#17273)

  • receiver/snowflake: Change the type of Config.Password to be configopaque.String (#17273)

  • receiver/solace: Change the type of Config.Auth.PlainText.Password to be configopaque.String (#17273)

  • spanmetricsconnector: Histograms will not have exemplars by default (#23872) Previously spanmetricsconnector would attach every single span as an exemplar to the histogram. Exemplars are now disabled by default. To enable them set exemplars::enabled=true

  • receiver/vcenter: Change the type of Config.Password to be configopaque.String (#17273)

🚩 Deprecations 🚩

  • dynatraceexporter: Add deprecation note to Dynatrace metrics exporter (#23992)
  • pkg/stanza: Deprecate fileconsumer.EmitFunc in favor of fileconsumer.emit.Callback (#24036)
  • pkg/stanza: Deprecate filconsumer.Finder and related sortation structs and functions (#24013)
  • servicegraphprocessor: Service Graph Processor is deprecated in favor of the Service Graph Connector (#19737)

🚀 New components 🚀

  • exceptionsconnector: A connector that generate metrics and logs from recorded applications exceptions from spans (#17272)
  • opensearchexporter: exports OpenTelemetry signals to OpenSearch. (#23611)
  • routingconnector: A connector version of the routingprocessor (#19738)

💡 Enhancements 💡

  • lokiexporter, lokitranslator: Added setting default_labels_enabled. This setting allows to make default labels exporter, job, instance, level optional (#22156)
  • windowseventlogreceiver: Add exclude_providers to the config. One or more event log providers to exclude from processing. (#21491)
  • loadbalancingexporter: Added docs for k8s service resolver. (#24287)
  • loadbalancingexporter: Added kubernetes service resolver to loadbalancingexporter. (#22776)
  • opamp supervisor: Add Capabilities support to Supervisor config. (#21044)
  • opamp supervisor: OpAMP Supervisor config file now supports "tls" settings in the "server" section. (#23848)
  • pkg/ottl: Add new Len converter that computes the length of strings, slices, and maps. (#23847)
  • pkg/stanza: Add option to skip log tokenization for both tcp and udp receivers. use the 'one_log_per_packet' setting to skip log tokenization if multiline is not used. (#23440)
  • redisreceiver: Adds unit to metrics where this was missing. (#23573) Affected metrics can be found below.

    • redis.role
    • redis.cmd.calls
    • redis.clients.connected
    • redis.clients.blocked
    • redis.keys.expired
    • redis.keys.evicted
    • redis.connections.received
    • redis.connections.rejected
    • redis.memory.fragmentation_ratio
    • redis.rdb.changes_since_last_save
    • redis.commands.processed
    • redis.keyspace.hits
    • redis.keyspace.misses
    • redis.slaves.connected
    • redis.db.keys
    • redis.db.expires
  • elasticsearchexporter: Add span duration in span store. (#14538)

  • exporter/datasetexporter: Rename 'observed_timestamp' field on the DataSet event to 'sca:observedTimestamp' and ensure the value is nanoseconds since epoch, update serializing and handling of body / message field to ensure it's consistent with other DataSet integrations and allow user to disable exporting scope information with each event by setting 'export_scope_info_on_event' logs config option to false. (#20660, #23826)

  • exporter/datasetexporter: Correctly map LogRecord severity to DataSet severity, remove redundant DataSet event message field prefix (OtelExporter - Log -) and remove redundant DataSet event fields (flags, flags.is_sampled). (#20660, #23672)

  • journaldreceiver: fail if unsufficient permissions for journalctl command (#20906)

  • pkg/ottl: Adds support for using boolean expressions with durations (#22713)

  • pkg/ottl: Adds support for using boolean expressions with time objects (#22008)

  • pkg/ottl: Add new Duration converter to convert string to a Golang time.duration (#22015)

  • kafkareceiver: Added support for json-encoded logs for the kafkareceiver (#20734)

  • resourcedetectionprocessor: Support GCP Cloud Run Jobs in resource detection processor. (#23681)

  • googlemanagedprometheusexporter: GMP exporter now automatically adds target_info and otel_scope_info metrics. (#24372)

  • googlemanagedprometheusexporter: GMP exporter supports filtering resource attributes to metric labels. (#21654)

  • hostmetricsreceiver: Remove the need to set environment variables with hostmetricsreceiver (#23861)

  • experimentalmetricmetadata: Introduce experimental entity event data types (#23565)

  • influxdbexporter: limit size of write payload (#24001)

  • k8sclusterreceiver: Change k8s.clusterresourcequota metrics to use mdatagen (#4367)

  • k8sclusterreceiver: Change k8s.cronjob.active_jobs to use mdatagen (#10553)

  • k8sclusterreceiver: Change k8s.daemonset metrics to use mdatagen (#10553)

  • k8sclusterreceiver: Refactor k8s.job metrics to use mdatagen (#10553)

  • k8sclusterreceiver: Change k8s.replicaset metrics to use mdatagen (#10553)

  • k8sclusterreceiver: Update k8s.replicationcontroller metrics to use mdatagen (#10553)

  • k8sattrprocessor: Add k8sattr.rfc3339 feature gate to allow RFC3339 format for k8s.pod.start_time timestamp value. (#24016) Timestamp value before and after. 2023-07-10 12:34:39.740638 -0700 PDT m=+0.020184946, 2023-07-10T12:39:53.112485-07:00

  • k8sclusterreceiver: k8sclusterreceiver - Begin emitting entity events as logs (#24400)

  • k8sclustereceiver: Report entity state periodically (#24413)

  • exporter/kafka: Added support to Kafka exporter for configuring SASL handshake version (#21074)

  • tailsamplingprocessor: Added invert_match rule for numeric matcher, to support exclusion decision (#24563)

  • cmd/mdatagen: Simplify resource building in MetricsBuilder, suggest using ResourceBuilder instead. (#24443)

  • cmd/mdatagen: Introduce resource builder helper. (#24360)

  • datadogexporter: Add support for the metrics::sums::initial_cumulative_monotonic_value setting (#24544) The setting has the same values and semantics as the initial_value setting from the cumulativetodelta processor

  • datadogexporter: Source resolution logic now runs all source providers in parallel to improve start times. (#24234) All source providers now run in all environments so you may see more spurious logs from downstream dependencies when using the Datadog exporter. These logs should be safe to ignore.

  • datadogexporter: Add support for reporting host metadata from remote hosts. (#24290) Resource attributes for each telemetry signal will be used for host metadata if the 'datadog.host.use_as_metadata' boolean attribute is set to 'true'.

  • resourcedetectionprocessor: The system detector now detects the host.arch semantic convention (#22939) The GOARCH value is used on architectures that are not well-known

  • pkg/ottl: Improve error reporting for errors during statement parsing (#23840)

    • Failures are now printed for all statements within a context, and the statements are printed next to the errors.
    • Erroneous values found during parsing are now quoted in error logs.
  • prometheusremotewrite: improve the latency and memory utilisation of the conversion from OpenTelemetry to Prometheus remote write (#24288)

  • prometheusremotewriteexporter, prometheusexporter: Add add_metric_suffixes configuration option, which can disable the addition of type and unit suffixes. (#21743, #8950)

  • pkg/translator/prometheusremotewrite: Downscale exponential histograms to fit prometheus native histograms if necessary. (#17565)

  • routingprocessor: Enables processor to extract metadata from client.Info (#20913) Enables processor to perform context based routing for payloads on the http server of otlp receiver

  • processor/transform: Report all errors from parsing OTTL statements (#24245)

  • azuremonitorexporter: Map enduser.id to Azure UserID tag (#18103)

🧰 Bug fixes 🧰

  • datasetexporter: Call the correct library function then exporter is shutting down. (#24253)
  • awscloudwatchreceiver: emit logs from one log stream in the same resource (#22145)
  • resourcedetectionprocessor: avoid returning empty host.id on the system detector (#24230)
  • ecsobserver: Don't fail with error when finding a task of EC2 launch type and missing container instance, just ignore them. This fixes behavior when task is provisioning and its containers are not assigned to instances yet. (#23279)
  • filelogreceiver: Fix file sort timestamp validation (#24041)
  • lokitranslator: Fix bug when attributes targeted in slice hint not converted to labels when log record has severity_number (#22038)
  • prometheusreceiver: Don't fail the whole scrape on invalid data (#24030)
  • datadogreceiver: Include datadog span.Resource in translated span attributes (#23150)
  • cmd/telemetrygen: Move the span attribute span.kind to the native Kind which is a top level trace information (#24286)
  • pkg/stanza: Fix issue where nil body would be converted to string (#24017)
  • pkg/stanza: Fix issue where syslog input ignored enable_octet_counting setting (#24073)
  • processor/resourcedetection: Fix docker detector not setting any attributes. (#24280)
  • processor/resourcedetection: Fix Heroku config option for the service.name and service.version attributes (#24355) service.name and service.version attributes were mistakenly controlled by heroku.app.name and heroku.release.version options under resource_attributes configuration introduced in 0.81.0. This PR fixes the issue by using the correct config options named the same as the attributes.
  • processor/resourcedetection: make sure to use a aks config struct instead of nil to avoid collector panic (#24549)
  • filelogreceiver: Fix issue where files were deduplicated unnecessarily (#24235)
  • processor/tailsamplingprocessor: Fix data race when accessing spans during policies evaluation (#24283)
  • zipkintranslator: Stop dropping error tags from Zipkin spans. The old code removes all errors from those spans, rendering them useless if an actual error happened. In addition, no longer delete error tags if they contain useful information. (#16530)

v0.81.0

🛑 Breaking changes 🛑

  • clickhouseexporter: Add scopeName and scopeVersion column to span table. (#21214)
  • clickhouseexporter: add log scope columns to span table. (#20280)
  • receiver/aerospike: Change the type of Config.Password to be configopaque.String (#17273)
  • receiver/bigip: Change the type of Config.Password to be configopaque.String (#17273)
  • receiver/couchdb: Change the type of Config.Password to be configopaque.String (#17273)
  • receiver/elasticsearch: Change the type of Config.Password to be configopaque.String (#17273)
  • receiver/mongodb: Change the type of Config.Password to be configopaque.String (#17273)
  • receiver/mongodbatlas: Change the types of Config.PrivateKey and Config.Alerts.Secret to be configopaque.String (#17273)
  • receiver/mysql: Change the type of Config.Password to be configopaque.String (#17273)
  • dockerstatsreceiver: Add non populated metrics container.memory.anon and container.memory.file that are only available when the host uses cgroups v2. (#21097) Metric container.memory.file was added to fulfil the lack of container.memory.total_cache metric in case that the cgroup version mounted in the host is v2 instead of v1.

Now there is documentation of which metrics are available depending cgroups version being used on the host.

🚩 Deprecations 🚩

  • mysqlreceiver: set mysql.locked_connects as optional in order to remove it in next release (#14138, #23274)

💡 Enhancements 💡

  • mdatagen: Adds a parent field to metadata.yaml for subcomponents. (#23636)
  • sqlqueryreceiver: Add support of Start and End Timestamp Column in Metric Configuration. (#18925, #14146)
  • postgresqlreceiver: Adds unit to metrics where this was missing. (#23571) Affected metrics can be found below.

    • postgresql.bgwriter.maxwritten
    • postgresql.table.count
  • mdatagen: Adds validation to mdatagen to ensure that all required fields are present, and their content is valid. (#23783)

  • filelogreceiver: Add support for tracking the current file in filelogreceiver (#22998)

  • exporter/datasetexporter: Add more details to User-Agent header for DataSet HTTP requests (#20660)

  • dockerstatsreceiver: Add container.image.id and container.command_line optional resource attributes (#21092)

  • googlecloudexporter: Adds an experimental, opt-in write ahead log for GCP metrics exporter. (#23679)

  • pkg/ottl: Adds new Time converter to convert a string to a Golang time struct based on a supplied format (#22007)

  • hostmetricsreceiver: Add new Windows-exclusive process.handles metric. (#21379)

  • websocketprocessor: Rename websocketprocessor to remoteobserverprocessor (#23856)

  • resourcedetectionprocessor: Adds a way to configure the list of added resource attributes by the processor (#21482) Users can now configure what resource attributes are gathered by specific detectors. Example configuration:

    resourcedetection:
    detectors: [system, ec2]
    system:
      resource_attributes:
        host.name:
          enabled: true
        host.id:
          enabled: false
    ec2:
      resource_attributes:
        host.name:
          enabled: false
        host.id:
          enabled: true
    

For example, this config makes host.name being set by system detector, and host.id by ec2 detector. Moreover:

  • Existing behavior remains unaffected as all attributes are currently enabled by default.
  • The default attributes 'enabled' values are defined in metadata.yaml.
  • Future releases will introduce changes to resource_attributes enabled values.
  • Users can tailor resource detection process to their needs and environment.

  • spanmetricsconnector: Added disabling options for histogram metrics and option to exclude default labels from all metrics. In some cases users want to optionally disable part of metrics because they generate too much data or are not needed. (#16344)

  • statsdreceiver: All receivers are setting receiver name and version when sending data. This change introduces the same behaviour to the statsd receiver. (#23563)

  • zookeeperreceiver: Adds an additional health check metric based off of the response from the zookeeper ruok 4lw command. (#21481)

  • k8sclusterreceiver: Switch k8s.pod and k8s.container metrics to use pdata. (#23441)

🧰 Bug fixes 🧰

  • k8sclusterreceiver: Add back all other vendor-specific node conditions, and report them even if missing, as well as all allocatable node metrics if present, to the list of Kubernetes node metrics available, which went missing during the pdata translation (#23839)
  • k8sclusterreceiver: Add explicitly k8s.node.allocatable_pods to the list of Kubernetes node metrics available, which went missing during the pdata translation (#23839)
  • awsecscontainermetricsreceiver: Fix possible panics in awsecscontainermetrics receiver (#23644)
  • elasticsearchexporter: use mapping.dedup and mapping.dedot configuration values (#19419)
  • receiver/kafkametricsreceiver: Updates certain metrics in kafkametricsreceiver to function as non-monotonic sums. (#4327) Update the metrics type in KafkaMetricsReceiver from "gauge" to "nonmonotonic sum". Changes metrics are, kafka.brokers, kafka.topic.partitions, kafka.partition.replicas, kafka.partition.replicas_in_sync, kafka.consumer_group.members.
  • clickhouseexporter: Fix clickhouse exporter create database fail (#23664)
  • spanmetricsconnector: set timestamp correctly for metrics with delta temporality (#7128)
  • vcenterreceiver: Fixed a bug in which the vCenter receiver was incorrectly emitting the "used" attribute twice under the vcenter.datastore.disk.usage metric instead of "used" and "available". (#23654)
  • mongodbreceiver: Fix missing version in mongodb creating panics during scrapes (#23859)
  • postgresqlreceiver: fixed an issue where postgresql receiver was emitting the same attribute value "toast_hit" twice under postgresql.blocks_read metric. (#23657)
  • windowseventlogreceiver: Fix buffer overflow when ingesting large raw Events (#23677)
  • pkg/stanza: adding octet counting event breaking for syslog parser (#23577)

v0.80.0

🛑 Breaking changes 🛑

  • redisreceiver: Updates metric unit from no unit to Bytes. (#23454) Affected metrics can be found below.

    • redis.clients.max_input_buffer
    • redis.clients.max_output_buffer
    • redis.replication.backlog_first_byte_offset
    • redis.replication.offset
  • elasticsearchreceiver: Bump 'receiver.elasticsearch.emitNodeVersionAttr' to stable (#16847) All node metrics are now enriched with the node version resource attribute.

  • nginxreceiver: Bump 'receiver.nginx.emitConnectionsCurrentAsSum' featuregate to beta (enabled by default) (#4326)

  • servicegraphprocessor: Change metric names to match the spec (#18743, #16578) Latency metric traces_service_graph_request_duration_seconds are deprecated in favor of server and client metrics | traces_service_graph_server_request_seconds and traces_service_graph_client_request_seconds | respectively. Use the feature gate processor.servicegraph.legacyLatencyMetricNames to enable the old metric names.

  • prometheusreceiver, prometheusexporter, prometheusremotewrite: Disable pkg.translator.prometheus.NormalizeName feature gate by default (#23208) The feature gate pkg.translator.prometheus.NormalizeName was enabled prematurely while translation on the prometheus receiver was incomplete. To address this, the feature gate has been reverted back to alpha status. This will remain the case until the translation on the receiver side aligns with the translation on the exporter side, or until it is replaced with a configuration option or completely removed. To maintain the current behavior, you can enable the feature gate using the --feature-gates=pkg.translator.prometheus.NormalizeName command argument. However, please note that the translation in the prometheus receiver is a subject to future changes.

🚩 Deprecations 🚩

  • mysqlreceiver: deprecate mysql.locked_connects in favor of mysql.connection.errors (#14138)
  • sumologicexporter: deprecating options which are going to be removed (#23059) The following options are going to be deprecated and removed in the future:

    • metric_format: {carbon2, graphite} (leaving only prometheus)
    • metadata_attributes: [<regex>]
    • graphite_template: <template>
    • source_category: <template>
    • source_name: <template>
    • source_host: <template>

🚀 New components 🚀

  • websocketprocessor: Implementation of websocket processor (#19633)

💡 Enhancements 💡

  • aerospikereceiver: Adds unit to metrics where this was missing. (#23572) Affected metrics can be found below.

    • aerospike.node.query.tracked
  • awsemfexporter: Add exponential histogram support. (#22626)

  • awsxrayexporter: Adding translation support for span links for the aws x-ray exporter (#20353)

  • bearertokenauthextension: Extension now implements configauth.ServerAuthenticator (#22737)

  • datadogexporter: Add traces::compute_stats_by_span_kind and traces::peer_service_aggregation configuration flags (#23240) Config traces::compute_stats_by_span_kind enables an additional stats computation check on span kind. | Config traces::peer_service_aggregation enables peer.service aggregation in the exporter.

  • resourcedetectionprocessor: use opentelemetry-go library for host.id detection in the system detector (#18533)

  • mysqlreceiver: add aborted, aborted_clients and locked values to error property for mysql.connection.errors metric (#14138)

  • datasetexporter: Allow include Logs resource info export to DataSet based on new export_resource_info_on_event configuration. Fix timestamp handling. (#20660)

  • k8sattributesprocessor: Store only necessary ReplicaSet data (#23226)

  • k8sattributesprocessor: Store only necessary Pod data (#23226)

  • dockerstatsreceiver: Add container.uptime metric, indicating time elapsed since the start of the container. (#22037)

  • influxdbexporter: Add configurable span dimensions (#23230)

  • receiver/k8s_cluster: Do not store unused data in the k8s API cache to reduce RAM usage (#23433)

  • lokiexporter: Added flags field from plog.LogRecord into Loki entry (#21650)

  • pkg/ottl: Add new IsString and IsMap functions to facilitate type checking. (#22750) Especially useful for checking log body type before parsing.

  • pkg/ottl: Adds StandardFuncs and StandardConverters to facilitate function map generation. (#23190) This change means that new functions added to ottlfuncs get automatically added to Cotnrib components that use OTTL

  • pkg/ottl: Change replacement functions to accept a path expression as a replacement (#22787) The following replacement functions now accept a path expression as a replacement:

    • replace_match
    • replace_pattern
    • replace_all_matches
    • replace_all_patterns
  • sapmexporter: sapm exporter now supports compression config option to specify either gzip or zstd compression to use. (#23257)

  • sapmreceiver: sapm receiver now accepts requests in compressed with zstd. (#23257)

  • exporter/signalfx: Do not drop container.cpu.time metric in the default translations so it can be enabled in the include_metrics config. (#23403)

  • sqlqueryreceiver: Add support for logs (#20284)

  • exporter/datadog: Adds metric otel.datadog_exporter.runtime_metrics.running to track when the Datadog Exporter receives a payload containing runtime metrics. (#23138)

  • k8sclusterreceiver: Switch k8s.deployment metrics to use pdata. (#23416)

  • k8sclusterreceiver: Switch k8s.hpa metrics to use pdata. (#18250)

  • k8sclusterreceiver: Switch k8s.namespace metrics to use pdata. (#23437)

  • k8sclusterreceiver: Switch k8s.node metrics to use pdata. (#23438)

  • k8sclusterreceiver: Switch k8s.rq metrics to use pdata. (#23419)

  • k8sclusterreceiver: Switch k8s.ss metrics to use pdata. (#23420)

  • testbed: Add WithAgentExePath, which allows setting the path of the Collector executable. (#23258)

  • carbonreceiver, wavefrontreceiver: Remove use of opencensus model in carbonreceiver and wavefrontreceiver (#20759, #20761)

  • webhookeventreceiver: Mark the component as Alpha and add to component.go (#18101)

  • webhookeventreceiver: first pass implementing the components internals. (#18101)

🧰 Bug fixes 🧰

  • datadogreceiver: add client context to the traces received by datadogreceiver (#22991)
  • otel-collector: Fix cri-o log format time layout (#23027)
  • receiver/hostmetricsreceiver: Fix not sending process.cpu.utilization when process.cpu.time is disabled. (#23450)
  • receiver/kafkametricsreceiver: Updates certain metrics in kafkametricsreceiver to function as non-monotonic sums. (#4327) Update the metric type in KafkaMetricsReceiver from "gauge" to "nonmonotonic sum".
  • processor/hostmetrics: Fix issue where receiver fails to read parent-process information for some processes on Windows (#14679)
  • receiver/skywalking: Fix the issue where ParentSpanId is lost when crossing segments. (#21799)
  • iisreceiver: Removes error message on every scrape where no items are present in the queue. (#14575)
  • k8sclusterreceiver: Fix empty k8s.namespace.name attribute in k8s.namespace.phase metric (#23452)
  • splunkhecexporter: Apply multi-metric merge at the level of the whole batch rather than within events emitted for one metric. (#23365)

v0.79.0

🛑 Breaking changes 🛑

  • attributesprocessor: Enable SHA-256 as hashing algorithm by default for attributesprocessor hashing action (#4759)
  • windowseventlogreceiver: Emit raw Windows events as strings instead of byte arrays (#22704)
  • receiver/httpcheck: Removed the default endpoint value of http://localhost:80. The endpoint property is now required. (#22995)
  • pkg/ottl: Removes StandardTypeGetter in favor of StandardStringGetter, StandardIntGetter, StandardFloatGetter, and StandardPMapGetter, which handle converting pcommon.Values of the proper type. (#22763) This is only a breaking change for users using OTTL in custom components. For all Contrib components this is an enhancement.
  • postgresqlreceiver: Remove resource attribute feature gates (#22479)

🚩 Deprecations 🚩

  • dockerstatsreceiver: cpu.container.percent metric will be deprecated in v0.79.0 in favor of container.cpu.utilization (#21807) This starts the process of phasing out incorrect metric name:
    • container.cpu.utilization and replacing it with the names adhering to the semantic conventions:
    • container.cpu.percent At this stage, the new metric is added, but is disabled by default. See the "Deprecations" section of the Docker Stats receiver's README for details.

💡 Enhancements 💡

  • receiver/azuremonitorreceiver: Retrieve metric values with all dimension keys in filter (#21715)
  • apachesparkreceiver: Changes required to move the Apache Spark receiver to Alpha stability (#21046)
  • journaldreceiver: add support for grep (#20295)
  • mysqlreceiver: add mysql.uptime metric (#14138)
  • googlecloudspannerreceiver: Adding a new config option to allow truncation of query text to 1024 characters. (#22072)
  • vcenterreceiver: Adds VM memory utilisation metric (#20917)
  • receivers: Adding initial_delay to receivers to control when scraping interval starts (#23030) The updated receivers are:
    • active_directory_ds
    • aerospike
    • apache
    • apachespark
    • azuremonitor
    • couchdb
    • chrony
    • docker_stats
    • elasticsearch
    • expvar
    • filestats
    • flinkmetrics
    • googlecloudspanner
    • haproxy
    • httpcheck
    • iis
    • memcached
    • mongodb
    • mysql
    • nginx
    • oracledb
    • podman_stats
    • postgresql
    • rabbitmq
    • riak
    • snowflake
    • sqlquery
    • sqlserver
    • sshcheck
    • vcenter
    • windowsperfcounters
    • zookeeper
  • oracledbreceiver: Add a simpler alternative configuration option (#22087)
  • exporter/datadog: Upgrade opentelemetry-mapping-go to v0.3.0 and use pkg/otlp/logs for logs translation (#23137)
  • pkg/ottl: Add body.string accessor to ottllog (#22786)
  • pkg/ottl: Allow indexing map and slice log bodies (#17396, #22068)
  • pkg/ottl: Add hash converters/functions for OTTL (#22725)
  • solacereceiver: Updated solacereceiver to handle new features of Solace PubSub+ 10.4.1 (#22809)
  • splunkhecreceiver: Support different strategies for splitting payloads when receiving a request with the Splunk HEC receiver. (#22788)
  • exporter/splunk_hec: Apply compression to Splunk HEC payload unconditionally if it's enabled in the config. (#22969, #22018) The compression used to be enabled only if the payload size was greater than 1.5KB which significantly complicated the logic and made it hard to test. This change makes the compression unconditionally applied to the payload if it's enabled in the config. The benchmarking shows improvements in the throughput and CPU usage for large payloads and expected degradation for small payloads which is acceptable given that it's not a common case.

  • awsxrayexporter: Support 2 new aws service name attributes for populating X-Ray segment name (#22835)

🧰 Bug fixes 🧰

  • jmxreceiver: Fixed the issue where the JMX receiver's subprocess wasn't canceled upon shutdown, resulting in a rogue java process. (#23051)
  • internal/filter/filterlog: fix filtering non-string body by bodies property (#22736) Affects filterprocessor and attributesprocessor.
  • prometheusreceiver: Remove sd_file validations from config.go in Prometheus Receiver to avoid failing Collector with error as this behaviour is incompatible with the Prometheus. (#21509)
  • filelogreceiver: Fix issue where empty files would not be skipped, resulting in extraneous errors. (#22815)
  • servicegraphprocessor: consume traces even metric count is equal to 0 (#23028)
  • fileexporter: Fixes broken lines when rotation is set. (#22747)
  • receiver/purefareceiver: Ensure that all endpoints beyond volumes and hosts are beeing scraped. (#14886)
  • exporter/datadog: tls::insecure_skip_verify is now honored when exporting traces. (#22772)
  • exporter/splunk_hec: Make sure the max_event_size option is used to drop events larger than max_event_size instead of using it for batch size. (#18066)
  • httpcheckreceiver: Update default collection interval to match documented value (#23019)
  • azuredataexplorerexporter: Update underlying SDK to perform retries on init on machines with flaky networks. (#22771)
  • flink metrics receiver: Fixed error when failing to read job manager metrics (#23143)
  • apache receiver: reverted default collection time back to 10s from 1m (#23030)
  • postgresqlreceiver: Fix race condition when capturing errors from multiple requests simultaneously (#23026)
  • prometheusreceiver: The prometheus receiver now sets a full, versioned user agent. (#21910)
  • awscloudwatchreceiver: Fixes a bug where the AWS CloudWatch receiver does the log stream filtering (using prefix) incorrectly. (#22123) An additional request was being made with a single log stream prefix definition. This request was made with the stream name set to "". This results in logs collection from all log streams in the log group.

  • spanmetricsconnector: Fix initialization of the default histogram buckets when the seconds unit is provided. (#21797)

  • splunkhecreceiver: Fix reusing the same splunkhecreiver between logs and metrics (#22848)

v0.78.0

🛑 Breaking changes 🛑

  • receiver/chrony: Update emitted Scope name to "otelcol/chronyreceiver" (#21382)
  • elasticsearchreceiver: Enable 'elasticsearch.node.version' resource attribute on node metrics, by default (#16847)
  • receiver/filestats: Update emitted Scope name to "otelcol/filestatsreceiver" (#21382)
  • receiver/mongodbatlas: Update emitted Scope name to "otelcol/mongodbatlasreceiver" (#21382)
  • receivers: Updating receivers that run intervals to use standard interval by default (#22138)
  • datadog receiver: Updating datadog translations to align more closely to semantic convention (#21210, #21525)

    • service.name is moved from assigned from span attributes to resource attributes
    • Moved from using datadog's span.Resouce to span.Name to set span name
    • Exported traces are now grouped by service.name by default
  • nginxreceiver: Add featuregate to emit 'nginx.connections_current' as a non-monotonic sum (#4326)

  • pkg/ottl: Updates the Int converter to use a new IntLikeGetter which will error if the value cannot be converted to an int. (#22059) Affected components: transformprocessor, filterprocessor, routingprocessor, tailsamplingprocessor, countconnector. It is HIGHLY recommended to use each component's error_mode configuration option to handle errors returned by Int.

  • dockerstatsreceiver: Remove container.memory.total_swap and container.memory.swap metrics as they are not reported by the docker API (#21190)

🚀 New components 🚀

  • apachesparkreceiver: adds the apachesparkreceiver metric receiver (#21046)
  • awscloudwatchmetricsreceiver: Added AWS CloudWatch metrics receiver using GetMetricData API call (#15667)
  • syslogexporter: Add syslogexporter for sending logs to syslog server (#17982)
  • filereceiver: This change enables the file receiver. (#14638)
  • datasetexporter: Enable Datasetexporter in internal/components (#20660)
  • splunkenterprisereceiver: Wireframe for the splunk enterprise monitoring receiver (#12667)
  • WebSocket processor: Add WebSocket processor skeleton (#19633)

💡 Enhancements 💡

  • jmxreceiver: Add the JMX metrics gatherer version 1.26.0-alpha to the supported jars hash list (#22042)
  • receivercreator: add logs and traces support to receivercreator (#19205, #19206)
  • pkg/ottl: Add Log function (#18076)
  • awsemfexporter: Added a tags field to the config of the exporter to set tags for a Cloudwatch Log Group (#19406)
  • tailsamplingprocessor: Add OTTL Condition policy for tailsampling processor. (#20294)
  • pkg/ottl: Add a uuid function to ottl (#20301)
  • oracledbreceiver: Adds support for consistent gets and db block gets metrics. Disabled by default. (#21215)
  • pkg/batchperresourceattr: Mark as not mutating as it does defensive copying. (#21885)
  • cumulativetodelta: Makes handling of the first observed point configurable. Defaults to auto based on start time. (#20770)
  • elasticsearchexporter: Add dynamic indexing option to elasticsearchexporter (#5854)
  • receiver/kafkareceiver: Support configuration of initial offset strategy to allow consuming form latest or earliest offset (#14976)
  • fileexporter: provide additional documentation for the working setup of the file exporter. (#20279)
  • internal/filter: Add Log, UUID, and ParseJSON converters to filterottl standard functions (#21970)
  • pkg/stanza: aggregate the latter part of the split-log due to triggering the size limit (#21241)
  • exporter/datadog: Map Docker stats receiver metrics to Datadog container metrics. (#22149) This change enables the use of the Containers (Overview) dashboard.
  • dockerstatsreceiver: docker container's pids_stats metrics are reported when available (#21041)
  • datasetexporter: Add support for exporting logs and traces. (#20660)
  • datasetexporter: Mark component as alpha and upgrade to the latest dataset-go v0.0.8. (#20660)
  • k8sattributesprocessor: Support adding attribute k8s.deployment.uid. (#14003)
  • kafkareceiver: Add text unmarshaler, which will decode the kafka message as text and insert it as the body of a log record. (#20734)
  • cmd/mdatagen: Allow setting resource_attributes without introducing the metrics builder. (#21516)
  • receiver/mongodbatlasreceiver: Allow collection of MongoDB Atlas Access Logs as a new feature of the MongoDBAtlas receiver. (#21182)
  • sshcheckreceiver: Promote sshcheckreceiver to alpha (#21488)
  • pkg/ottl: Add FloatLikeGetter and FloatGetter to facilitate float retrival for functions. (#21896)
  • pkg/ottl: Add access to get and set span kind using a string (#21773)
  • processor/routingprocessor: Instrument the routing processor with non-routed spans/metricpoints/logrecords counters (OTel SDK). (#21476)
  • skywalkingreceiver: Refactoring the code structure/directory for the following metrics receiver implementation (#20315)
  • exporter/splunkhec: Improve performance and reduce memory consumption. (#22018)
  • processor/transform: Add access to the Log function (#22014)

🧰 Bug fixes 🧰

  • statsdreceiver: Handles StatsD server not running when shutting down to avoid NPE (#22004)
  • exporter/elasticsearch: Fix elasticsearch exporter not exporting span events (#18479)
  • tests: switch math/rand to crypto/rand (#20341)
  • dockerstats: Only one label/envVar was added even if multiple ones were specified by ContainerLabelsToMetricLabels or EnvVarsToMetricLabels (#21113)
  • pkg/ottl: Fix the factory name for the limit function (#21920)
  • awsxrayexporter: Fix a panic that can occur with string-valued DynamoDB attributes. (#22707)
  • processor/filter: Fix issue where the OTTL function HasAttributeKeyOnDatapoint was not usable. (#22057)
  • pkg/ottl: Allow using capture groups in replace_all_patterns when replacing map keys (#22094)
  • confmap/provider/s3provider: Fix typo in s3 confmap provider regex pattern (#22146) Fix regex pattern for s3 confmap provider. This typo allows for using different domains from what is expected.

  • confmap/provider/s3provider: Properly handle bucket names containing dot characters (#22054) Properly handle bucket names containing dot characters, according to https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html

  • receiver/dockerstats: Fix container.memory.usage.total and container.memory.percent calculation. (#21097) The fix updates the way to calculate the metrics to be consistent with MEM USAGEandMEM % showed by thestats` docker CLI command. It also support v1 and v2 of cgroups. Expect to see an increase of these metrics if currently running the receiver in a cgroups v1 environment. As well as see a decrease in these values if running on cgroups v2 environment.

  • exporter/splunkhec: Fix a bug causing incorrect data in the partial error returned by the exporter (#21720)

v0.77.0

🛑 Breaking changes 🛑

  • dotnetdiagnosticsreceiver: Removing component which has been unmaintained for over 6 months (#13218)
  • cmd/mdatagen: Don't expose resource_attributes user config section if it's empty. (#21519)
  • pkg/ottl: Reimplement all OTTL function factories to implement the ottl.Factory interface. (#14712) The ottl.Factory interface allows making factories extendable and defines canonical names for the functions across components using the OTTL.

🚀 New components 🚀

  • datasetexporter: Add new DataSet exporter. (#20660)

💡 Enhancements 💡

  • receiver/azuremonitorreceiver: Providing an option to include resource tags and location as metric attributes (#21173)
  • mdatagen: Support stability level per signal (#21153)
  • filestatsreceiver: Promote filestats receiver to alpha, add to the otelcontribcol tests. (#21257)
  • mdatagen: Add support for slice and map attributes. (#18272)
  • receiver/mongodbatlasreceiver: emit "mongodb_atlas.cluster.name" attribute which is thename of the cluster as defined in Atlas. This attribute is disabled by default, if you want to emit it, you'll need to explicitly enable it. (#21154)
  • pkg/ottl: Allow using Converters as constant boolean expressions (#20911) This means you don't need to add == true after IsMatch in OTTL conditions.
  • pkg/ottl: Add support for complex indexing of Paths and Converters to allow accessing nested items. (#20754) All components using OTTL can take advantage of this feature.
  • signalfxexporter: Expose dimension_client configuration for dimension/metadata updates (#21512)
  • pkg/stanza: Add "unquote" operator (#10282)

🧰 Bug fixes 🧰

  • snowflakereceiver: Wiring snowflakereceiver component by adding it to components.go (#21381)
  • pkg/stanza: Fix errors in loop evaluating file attributes on windows if the file path contains a Junction (#21088)
  • clickhouseexporter: Fix insert metrics with duplicate scope data (#21082)
  • transformprocessor: Fixed a scenario where replace_all_patterns would wipe out non-string values on key name change. (#21109)
  • influxdbexporter: handle empty attribute values emitted by hostmetricsreceiver with logger.Debug instead of PermanentError (#21474)
  • receiver/k8scluster: Make sure the k8scluster receiver is watching for v2 and v2beta2 HorizontalPodAutoscalers for Kubernetes 1.26 (#20480)
  • splunkhecexporter: Enforce marshaling json with sorted keys by alphabetical order to produce identical hashes when merging events. (#21486)
  • googlecloudspannerreceiver: Changing type of USED_BYTES from INT to FLOAT (#21500)
  • receiver/mongodbatlasreceiver: Disk Usage & Utilization metrics are now being reported correctly. (#21180)
  • receiver/mongodbatlasreceiver: Reduce the likelihood that mongodbatlas log receivers will emit empty logs, causing unnecessary events to propagate through a pipeline. (#14170)
  • datadogexporter: Use literal 'host' resource attribute on OTLP payloads when present as the host value to avoid double tagging. (#21507)
  • receiver/nsx: Remove incorrectly exposed resource attributes from the user configuration interface. (#21523)
  • signalfxexporter: disk.utilization and disk.summary_utilization now matches the df command by only counting non-root usage. disk.utilization = (used/(used + free)) * 100 (#20656)

v0.76.1

🛑 Breaking changes 🛑

  • prometheusreceiver, prometheusexporter, prometheusremotewrite: Enable pkg.translator.prometheus.NormalizeName by default (#20518) Enabling normalization by default changes the emitted metrics for components that rely on the prometheus translation package. This feature can still be disabled via the following --feature-gates=-pkg.translator.prometheus.NormalizeName

  • cumulativetodeltaprocessor: Removes stable processor.cumulativetodeltaprocessor.EnableHistogramSupport feature gate. Setting this gate will cause an error. (#20717)

  • exporter/lokiexporter: Remove deprecated Loki exporters parameters. (#15653, #15365) The support of labels.{attributes/resource}, labels.record, tenant, | and format configuration parameters are dropped in favor of attribute hints way of configuring the exporter.

  • solacereceiver: Changed the type of the max_unacknowledged configuration option from uint32 to int32 (#20666)

🚩 Deprecations 🚩

  • dotnetdiagnosticsreceiver: add deprecation notice (#20740)

🚀 New components 🚀

  • lokireceiver: Added implementation of the Loki receiver component (#18635)
  • receiver/azuremonitorreceiver: New component for scraping Azure Monitor metrics (#18899)
  • cassandra_exporter: Cassandra exporter implementation (#17910)
  • lokireceiver: Mark loki receiver as Alpha (#18635)
  • filestatsreceiver: Initial implementation of the new filestatsreceiver component. (#19729)

💡 Enhancements 💡

  • jmxreceiver: Add the JMX metrics gatherer version 1.24.0-alpha to the supported jars hash list (#20551)
  • jmxreceiver: Add the JMX metrics gatherer version 1.25.0-alpha to the supported jars hash list (#21052)
  • jmxreceiver: Add the JMX metrics gatherer version 1.25.1-alpha to the supported jars hash list (#21103)
  • exporter/awsxray: Add opt-in telemetry for X-Ray receiver/exporter (#19415)
  • awsemfexporter: Add support AWS Embedded Metric Format Version 0 (#20314)
  • splunkhecexporter: Set the default value of the idle connection timeout to 10s, rather than 30s by default (#20543)
  • coralogixexporter: Allow users to use only Coralogix domain to configure exporter (#20719)
  • datadogexporter: Ensure that container tags are set globally on the payload so that they can be picked up as primary tags in the app (APM). (#20923)
  • datadogexporter: Reduce log level of retriable errors to Debug level (#20755)
  • datadogexporter: Support OTel semconv 1.17.0 in Datadog OTLP trace ingestion. (#20923)
  • datadogexporter: Use minimum and maximum values from cumulative Histograms. Values are used only when we can assume they are from the last time window or otherwise to clamp estimates. (#20872)
  • journaldreceiver: add support for matches configuration (#20295)
  • fileexporter: Add periodic flushing (#18251) Adding flushing to the file exporter eases the analysis of the output the exporter generates.

  • pkg/stanza: Add and option to pause reading a file and attempt to resend the current batch of logs if it encounters an error from downstream components. (#20511) Add a retry_on_failure config option (disabled by default) that can be used to slow down reading logs instead of dropping logs if downstream components return a non-permanent error. The configuration has the following options:

    • enabled: Enable or disable the retry mechanism. Default is false.
    • initial_interval: The initial interval to wait before retrying. Default is 1s.
    • max_interval: The maximum interval to wait before retrying. Default is 30s.
    • max_elapsed_time: The maximum amount of time to wait before giving up. Default is 5m.
  • k8sattributesprocessor: Allow getting k8s.container.name, container.image.name and container.image.tag by container.id. (#19468) The container.id resource attribute can be set automatically in most SDKs by means of API.

  • instanaexporter: Preserve resource attributes in converted spans (#20454)

  • splunkhecexporter: Apply a new config maxEventSize on our events, it would break down the events based on this. This basically implements HEC's maxEventSize on our exporter. It is implemented on uncompressed data. (#20290)

  • splunkhecreceiver: Make Splunk HEC receiver Health endpoint mimic the real one (#20871)

  • receiver/mongodbatlasreceiver: emit "mongodb_atlas.user.alias" attribute which is the user-friendly hostname of the cluster node as displayed in the Atlas portal. This attribute is disabled by default, if you want to emit it, you'll need to explicitly enable it. (#18881)

  • prometheusreceiver: All receivers are setting receiver name and version when sending data. This change introduces the same behaviour to the prometheus receiver. (#20902)

  • splunkhecexporter: Adding an option in splunkhecexporter to enable heartbeat. A heartbeat is a metadata event about the current environment and build information. If heartbeat is enabled, splunkhecexporter will periodically send heartbeat to the destination in given time intervals from configurations. (#20225)

  • vcenterreceiver: Adds VM CPU usage and utilization metrics (#20895)

  • awss3exporter: Add implementation of AWS S3 exporter (#2835)

🧰 Bug fixes 🧰

  • servicegraphprocessor: Only create client virtual nodes when server spans are orphans (#19764)
  • datadogexporter: Re-add support for span links (span links are added as metadata to the converted span), which were erroneously removed from previous release. (#20923)
  • datadogexporter: Fix issue in hostname detection. (#20923) In the latest release, feature gate (exporter.datadog.hostname.preview) was graduated to Stable. The behaviour was set to the behaviour of the feature gate disabled, instead of enabled. The behaviour is now set to the behaviour of the feature gate enabled.
  • azuremonitorexporter: Ensure that metric attributes are exported to Azure Monitor (#19407)
  • pkg/stanza: fix eventData format for Windows events (#20547)
  • fluentforwardreceiver: Fixed performance issue. (#20721)
  • receiver/k8scluster: Use newer v2 HorizontalPodAutoscaler for Kubernetes 1.26 (#20480) v2beta2 HorizontalPodAutoscaler is no longer available starting in Kubernetes 1.26
  • pkg/stanza: fix flaky test (#20877)
  • pkg/stanza: Fix issue where recombine operator would never flush. (#20451) 1.Make the forceFlushTimeout compare with timeSinceFirstEntry not timeSinceLastEntry 2.set the period of ticker to 1/5 forceFlushTimeout
  • spanmetricsconnector: fix spanmetrics connector to support adding exemplar to metric (#20771)
  • mongodbreceiver: Fixes scraper error Unauthorized by not calling index stats on an internal local MongoDB database. (#21114)
  • receiver/mongodbatlasreceiver: Ensure that Process metrics are emitted with only the correct subset of attributes. (#21155)
  • splunkhecexporter: Do not send data to a Splunk backend if no data is present in the batch. Previously compressed batches would not correctly detect data was not present in the batch. (#20290)
  • filelogreceiver: Fix issue where first few lines of a file could be ignored when another file had recently contained the same beginning. (#20745)
  • filelogreceiver: stanza panic when trace_flags is an empty string (#20924)
  • hostmetricsreceiver/processscraper: fixing the processmetrics tests to support testing collection in darwin (#19141) Darwin only supports some of the processmetrics + using Cmdline to get the Executable Path, which caused tests to fail.
  • awsxrayexporter: Fixed DynamoDB table name from being set as an empty string when reading from attributes (#19204)

v0.75.0

🛑 Breaking changes 🛑

  • datadogexporter: Graduate exporter.datadog.hostname.preview feature gate to Stable. (#20286)
  • pkg/ottl: Add typed getter for pcommon.map and update related functions to use it. (#19781) Using the impacted functions, such as keep_keys or replace_all_patterns, without a pcommon.map will now result in an error. Only pass these function paths that result in a pcommon.map or set ErrorMode to IgnoreError.
  • pkg/ottl: Updates ConvertCase, ParseJSON, Split, and Substring to use StringGetter (#19137) Affected components: transformprocessor, filterprocessor, routingprocessor. It is HIGHLY recommended to use each component's error_mode configuration option to handle errors returned by these functions.

  • pkg/ottl: Adds new StringLikeGetter for converting values to string for use. (#19782) Concat now converts more types to string instead of ignoring them. IsMatch now converts []byte to string using hex.EncodeToString(v).

🚩 Deprecations 🚩

  • datadogexporter: Deprecate metrics::histograms::send_count_sum_metrics in favor of metrics::histograms::send_aggregation_metrics. (#20285) Toggling metrics::histograms::send_count_sum_metrics will now send .min and .max metrics when available.

🚀 New components 🚀

  • awss3exporter: Add new AWS S3 exporter. (#9979)
  • servicegraphconnector: Add servicegraph connector to the build. (#20452)

💡 Enhancements 💡

  • clickhouseexporter: Insert instrumentation scope name and version to SpanAttributes column in traces table (#17408)
  • stanza: Enhancement pkg/stanza/flatten to support resource and attributes (#20448)
  • azuredataexplorerexporter: Migrate stablity to beta. All the dependent libraries have moved to beta. (#19161)
  • awsecscontainermetricsreceiver: Add ServiceName from task metadata endpoint (#19728)
  • mdatagen: Warnings can now be specified in metadata.yaml to be included in the generated status table. (#20242)
  • coralogixexporter: Change coralogixexporter to default to gzip compression for logs and traces (#20337)
  • datadogexporter: Adds support for span links (span links are added as metadata to the converted span). (#20286)
  • mdatagen: Do not print "Supported pipeline types" in the generated status for extensions (#20236)
  • filereceiver: Update file receiver to be able to replay metrics in time. (#14638)
  • googlecloudspannerreceiver: adding table size statistics as metrics (#18689)
  • processscraper: Introduced mute_process_exe_error and mute_process_io_error flags to allow scraping of all processes on Linux machines. (#18923)
  • attributesprocessor, resourceprocessor: Add feature gate to support using SHA2-256 instead of SHA-1 for hashing (#4759, #5576) enable switching to use SHA-2 256 with the feature gate coreinternal.attraction.hash.sha256
  • translator/loki: Normalize label names so they follow the Prometheus label names standard (#14113) Loki doesn't support label names containing dots. | Users had to convert dot-separated attributes into underscore-separated attributes before promoting them to Loki labels. | From now on users can drop relabeling from their configuration. All dots in label names will be replaced with underscores automatically before sending request to Loki.

  • mongodbatlasreceiver: Add support to collect organization events. (#19449, #20308)

  • datadogexporter: Send .min and .max metrics for delta OTLP Histograms and Exponential Histograms when metrics::histograms::send_aggregation_metrics is enabled. (#20285)

  • receiver/purefareceiver: Add missing code snippet that validate the config file (#14886)

  • servicegraphprocessor: Making cache and expire loop time configurable (#19639) add new config items(cache_loop, store_expiration_loop)

  • servicegraphprocessor: Making peer attributes of virtual node building configurable (#20428) add new config items(virtual_node_peer_attributes: [db.name, rpc.service]) in Config:

  • solacereceiver: Updated solacereceiver to handle new features of Solace PubSub+ 10.4.x (#20349)

  • sqlserverreceiver: Adds support to collect metrics from a SQL Server that has a named instance. (#19140, #20247)

  • logicmonitorexporter: adds support for traces. (#19646)

  • elasticsearchexporter: Support Persistent queue for Elasticsearch exporter. (#19424)

🧰 Bug fixes 🧰

  • coralogixexporter: Correctly declare mutation capability in factory for all signal exporter. (#20292)
  • processor/metricstransform: Preserve metric description while aggregating labels (#14577)
  • extension/sigv4authextension: Don't panic if no credentials provider is set up. (#19796)
  • clickhouseexporter: Fix clickhouse exporter default TTL settings. (#20302)
  • receiver/elasticsearchreceiver: Fix bug - no nodeStatsMetrics for es version before 7.9 (#19389)
  • prometheusreceiver: Update Prometheus dependency and disable newly-failing OpenMetrics compatibility tests (#20270) Prometheus now accepts exemplar data on all metric types, which causes OpenMetrics compatibility tests to fail. This change disables the negative tests relating to exemplar parsing.

  • processor/k8sattributes: Fix image name parsing when repository name contains a port number. (#20239)

  • mongodbatlasreceiver: Fix issue where default collection interval of 1 minute was too short to collect several metrics. (#18032) Default collection interval is now 3 minutes.

  • pkg/ottl: Fix bug where StringGetter was not allowed in a slice as a function param. (#19783)

  • splunkhecexporter: Make sure to not return an error if we are over capacity, just return that we cannot accept the event. (#20481)

  • signalfxexporter: Fixes undesired default reporting of per-core system.cpu.time for idle states. (#20354)

v0.74.0

🛑 Breaking changes 🛑

  • k8sattributes: Remove support of deprecated pod_association fields (#19642) Fields are now nested under the pod_association::sources
  • k8sattributes: Remove support of deprecated options in extract.metadata field (#19438)
  • spanmetricsconnector: Remove deprecated latency_histogram_buckets configuration parameter. (#19372) Use the histogram configuration section to provide buckets for explicit buckets histogram metrics.

  • spanmetricsconnector: Rename latency histogram metrics to duration. (#19214)

🚩 Deprecations 🚩

  • spanmetricsprocessor: Deprecate the spanmetrics processor in favour of the spanmetrics connector. (#19736) Please note that the spanmetrics connector contains breaking changes related to configurations metrics names and attributes. Please see the spanmetrics connector README for more information.

🚀 New components 🚀

  • lokireceiver: The Loki receiver implements the Loki push api as specified here (#18635)
  • cloudflarereceiver: Adds support for receiving logs from Cloudflare's LogPush API. (#19201)
  • webhookeventreceiver: New component wireframe for webhookeventreceiver (#18101)
  • spanmetricsconnector: Add the spanmetricsconnector connector to build. (#18760)

💡 Enhancements 💡

  • exporter/awsemfexporter: Add ServiceName/service.name as a valid token replacement in log_stream_name (#16531)
  • azureeventhubreceiver: Add the ability to consume Metrics from Azure Diagnostic Settings and convert them into OpenTelemetry Metrics (#18690)
  • mdatagen: use metadata to generate status table (#19175) This change updates mdatagen to support auto-generation of the stability level table in the documentation. It also generates a generated_status.go file which contains the stability which is used in the factory of a component.

  • mdatagen: Allow mdatagen to support components that do not produce metrics. (#19772) This allows us to define metadata.yaml files for components that don't generate metrics, specifically in support of generating the status table.

  • countconnector: Add ability to count by attributes (#19432)

  • healthcheckextension: Add response_body configuration option that allows specifying a specific response body (#18824)

  • k8sobjectsreceiver: Enabling resource version filter on pull mode (#18828)

  • kubeletstatsreceiver: Add support for kubeConfig auth_type in kubeletstatsreceiver (#17562)

  • translator/loki: Loki add raw log export format (#18888)

  • clickhouseexporter: Improve clickhouse DSN parsing (#18079) Improve clickhouse DSN parsing to support all possible configuration options and fixes TLS support.

  • routingprocessor: Adds new error_mode configuration option that allows specifying how errors returned by OTTL statements should be handled. (#19147) If a condition errors when using ignore the payload will be routed to the default exporter.

  • spanmetricsconnector: Set resource attributes for generated metrics. (#18502)

  • spanmetricsconnector: Add optional seconds unit support for recording generated duration measurements. (#18698) The unit is configurable. The allowed values are ms and s. The default unit is ms.

  • splunkhecreceiver: Appends query param (index, source, sourcetype, and host) for raw path (#19632)

  • splunkhecreceiver: align error message with splunk enterprise to include No Data, Invalid Data Format, Event field is required, and Event field cannot be blank (#19219)

  • reciver/statsdreceiver: Metrics emitted by the statsd receiver are batched by source IP address, available in context. (#15290)

🧰 Bug fixes 🧰

  • elasticsearchexporter: roll back elasticsearch client to v7.17.7 due to incompatibility with older elasticsearch versions (#16310)
  • sqlqueryreceiver: Don't panic when a query produces NULLs (#19177)
  • sentry/sentryexporter: Fix environment configuration not being tracked properly on sentry. (#18694) For sentry export, the environment value should have been attached to transaction.
  • azuremonitorexporter: Ensure that attributes for LogRecords are exported to Azure Monitor (#16557)
  • azuremonitorexporter: Fix a bug that prevented integer NumberDataPoint metrics to be exported to Azure Monitor. (#18905)
  • azuremonitorexporter: Ensure that resource attributes, instrumentation scope and cloud tags are exported to Azure Monitor for logs (#18525)
  • influxdbexporter: include histogram min and max in InfluxDB/Telegraf Prometheus schemas (#16714)
  • influxdbexporter: Fix exported histograms to be cumulative, Prometheus-style (#19453)
  • influxdbreceiver: Test the InfluxDB write APIs with canonical client libraries (#5321)
  • influxdbreceiver: Decompose Prometheus-style, cumulative histogram bucket counts (#19453)
  • receiver/elasticsearch: Fix "no such index [_cluster]" error by adding "/nodes" to the ClusterStats request (#17867)
  • mongodbatlasreceiver: Fixes issue where filestorageextension usage with the mongodbatlasreceiver would cause a race condition/timeout (#19434)
  • mysqlreceiver: Adds a version check to make sure replica query is supported (#19469)
  • oracledbreceiver: Update metric description and explain that unlimited translates to -1 (#19752)
  • signalfxexporter: use a copy of system.cpu.time and system.paging.operations when splitting the metric, this will allow the user to send the original metric (#19743)
  • transformprocessor: Fixes bug where the value for error_mode was ignored. (#19629)

v0.73.0

🛑 Breaking changes 🛑

  • googlecloudexporter: Disable retry helper by default in GCP and GMP exporter configs. (#19203)
  • k8sattributesprocessor: Remove container.id as default metadata given possible ambiguity matching a container run to a container ID (#16432)
  • pkg/ottl: Ability to reference matched capture groups in replace_pattern() and replace_all_patterns() (#18610) This change affects all processors that use OTTL (i.e. transformprocessor, routingprocessor, and filterprocessor). This is a breaking change in the rare scenario that the $ character is currently used in a replacement string. To output a literal $ in a replacement string it must now be escaped with an additional $.
  • resourcedetectionprocessor: Bump OpenShift semconv version from 1.16.0 to 1.18.0. (#19168) Rename google openshift platform attribute from google_cloud_openshift to gcp_openshift.
  • spanmetricsconnector: Drop Prometheus-specific metrics labels sanitization. (#18678) The spanmeterics connector is the OTel component, therefore, we would like to strip Prometheus-specific parts from it. Metric names and attributes conversion to Prometheus conventions should happen in Prometheus components, e.g. Prometheus Remote Write exporter.

🚀 New components 🚀

  • filereceiver: Add basic file reading capabilities to file receiver. Second PR. (#14638) This component is not yet enabled.

💡 Enhancements 💡

  • jmxreceiver: Add the JMX metrics gatherer version 1.23.0-alpha to the supported jars hash list (#18888)
  • telemetrygen: Add makefile targets and docker build for telemetrygen (#18835)
  • internal/filter: Adds new filterottl package that enables filtering/matching using OTTL conditions. (#18930)
  • pulsarexporter: Expose in configuration all Pulsar producer options (#19182)
  • receiver/splunkhec: Adds sharedcomponent to Splunk HEC Receiver (#18734)
  • resourcedetectionprocessor: Add support for detecting AWS Lambda resources. (#17584)
  • awscloudwatchlogsexporter: Add the ability to export raw log to cloud watch (#18758) Add emf and raw log support for aws cloudwatch exporter.
  • awsemfexporter: The AWS EMF exporter now supports the additional configuration flag retain_initial_value_of_delta_metric. With this flag active the first value of a metric is not discarded but instead sent to AWS. (#16218)
  • processor/tailsampling: adds support for a BooleanAttribute PolicyType (#17545) enables use of boolean attrbiutes in defining tail sampling policies
  • pkg/stanza: Add header_delimiter option to the csv_parser. (#18198)
  • datadogexporter: Enable gzip compression for metric payloads submitted by native Datadog client (#17373)
  • hostmetrics: Have the hostmetrics receiver file system scraper use more debug messages (#18236) Log a debug message instead of an error if the collector does not have the permissions to access a locked drive on the host. We do not want to log an error message on every poll for this case.
  • exporter/prometheus: Produce exemplars for monotonic sum metrics (i.e. counters in Prometheus) when available (#18201) This could be a breaking change if you already have enabled OpenMetrics format for the Prometheus exporter and have enabled exemplar ingestion in your Prometheus scraper. To ensure names and types are generated correctly according to the OpenMetrics conventions, you should run your collector with --feature-gates=pkg.translator.prometheus.NormalizeName
  • filelogreceiver: Adds ability to parse a file header and parse it as metadata to decorate log entries. (#18198) This feature must be activated with the filelog.allowHeaderMetadataParsing feature gate.
  • filterprocessor: Add error_mode configuration option that allows specifying how errors from OTTL conditions should be handled. (#19142)
  • receiver/purefareceiver: Ensure a clear visualization for hosts scraper from Pure Storage FlashArray API (#14886)
  • k8sattributesprocessor: e2e test support log data (#18392)
  • k8sattributesprocessor: k8sattributesprocessor e2e tests support metric data type. (#18391)
  • k8sattributesprocessor: Default container.id to latest instance unless k8s.container.restart_count is specified (#16432)
  • mdatagen: Turn on the ability to enable/disable resource attributes by embedding MetricsSettings and ResourceAttributesSettings into all scraping receivers as MetricsBuilderConfig (#16373) Currently, the only way to add configurative functionality to mdatagen is by using a bunch of WithResourceAttributesSettings options to the constructor. This PR changes the first argument to the NewMetricsBuilder constructor to be of type MetricsBuilderConfig, which is a new class that wraps both MetricsSettings and ResourceAttributesSettings, and may be (hopefully) easily extended with more configuration in the future.

  • pkg/ottl: Add Eval function to Statements (#18915)

  • Process Metrics for Mac: Enabling process metrics to be collected for Mac in the hostmetrics receiver (#17863)

  • servicegraphprocessor: servicegraph support virtual/peer node (#17196)

  • tailsamplingprocessor: Add a max_spans configuration for the span_count policy of tailsamplingprocessor (#18215)

  • spanmetricsconnector: Allow optional usage of Exponential Histograms when generating latency metrics. (#18528)

  • splunkhecexporter: Allow merging metric events. (#11532)

  • filelogreceiver: Support preserving whitespace for log entries (#18242)

  • awsemfexporter: Support exporting quantile for summary metrics (#17265)

  • cmd/telemetrygen: Initial implementation of telemetrygen logs subcommand for exporting log data (#12927)

  • transformprocessor: Add error_mode configuration option that allows specifying how the processor should handle errors from statements. (#18693)

  • resourcedetectionprocessor: Update Heroku mappings to match specification (#18872)

  • awsxrayexporter: Allow additions of special attributes to the list of indexable attributes in the AWS X-Ray exporter when explicitly listed by the user (#19173)

  • awsxrayexporter: Reformatted and improved accuracy of data captured in user agent string in the AWS X-Ray exporter (#18264)

🧰 Bug fixes 🧰

  • bearertokenauthextension: Allow bearertokenauthextension to pick updated token from bearertoken file for http requests (#17031)
  • cumulativetodeltaprocessor: exclude the first point after a restart in monotonic sums (#17190, #18053)
  • datadogreceiver: Fix misuse of span.Type and span.kind meta of dd spans. (#18190)
  • mongodbatlasreceiver: Fixes issue where on a failed start we don't try to checkpoint with an unset storage client. (#19191)
  • fluentforwardreceiver: Fix issue where the receiver was dropping errors returned by processors (#18860)
  • filelogreceiver: Fixed a bug when delete_after_read was enabled partially read files would be deleted on collector shutdown. (#18926)
  • receiver/jaeger: Fix translation of span status (#19171)
  • hostmetricsreceiver: Fix process.cpu.utilization calculation by using individual CPUUtilizationCalculator instances per-PID. (#19119) Update processscraper to keep a map of PIDs to CPUUtilizationCalculators, rather than using a single instance globally.
  • filterprocessor: Fixes issue where errors in the filterprocessor might not be logged (#18862)
  • pkg/pdatautil: Fix a potential panic that could occur while hashing nested maps. (#18910)
  • receiver_creator: No longer attempt to add observer target to endpoint if underlying receiver config doesn't support it. (#7381) Also adds backticked expansion support for more config forms
  • transformprocessor: Fixes a bug where the transformprocessor's errors failed to be logged. (#18859)
  • prometheusreceiver: Validate that histograms include the inf bucket (#9384)

v0.72.0

🛑 Breaking changes 🛑

  • fluentbitextension: remove deprecated extension (#18505)
  • all: Remove go 1.18 support, bump minimum to go 1.19 and add testing for 1.20 (#18436)
  • pkg/ottl: switch ErrorMode to be a string instead of an int (#18692)
  • hostmetricsreceiver: Remove deprecated process memory metrics (#14327) The metrics process.memory.physical_usage and process.memory.virtual_usage have been deprecated since v0.64.0. They are now being removed. You should use the following metrics instead: process.memory.usage, process.memory.virtual. For details, see the docs.

  • promtailreceiver: Promtail recevier is completely removed from the repository (#18474, #18493) Promtail receiver in its current implementation has a dependency on Loki that leads to a huge amount of | dependencies. It is getting difficult to maintain those dependencies. That's why the decision to | remove promtail receiver was made

🚩 Deprecations 🚩

  • jaegerexporter, jaegerthrifthttpexporter: marking jaeger exporters as deprecated (#18503)
  • promtailreceiver: Deprecate promtail receiver (#18474, #18493) Promtail receiver in its current implementation has a dependency on Loki that leads to a huge amount of | dependencies. It is getting difficult to maintain those dependencies. That's why the decision to | deprecate and remove promtail receiver was made

🚀 New components 🚀

  • countconnector: Add count connector to build (#18501)
  • forwardconnector: Add forward connector to build (#18501)
  • servicegraphconnector: Add preliminary implementation as a connector. (#18389)
  • spanmetricsconnector: Add preliminary implementation as a connector. (#18535)

💡 Enhancements 💡

  • clickhouseexporter: Add indexes for attributes on metric tables (#18221) Attributes are used for filtering. Adding indexes for them will speed up queries.
  • sentry/sentryexporter: Add environment configuration option that allows specifying env for transaction. (#18694)
  • countconnector: Add ability to count spans, span events, metrics, data points, and logs, based on ottl conditions. (#18687)
  • exporter/awscloudwatch: Flush logs on the exporter shutdown (#18518)
  • resourcedetectionprocessor: add host.id to system detector (#18533)
  • k8sattributesprocessor: run tests on 4 latest k8s version (#18767)
  • filelogreceiver: Added max_batches configuration parameter to limit the number of batches processed in a polling interval. (#18476)
  • filterprocessor: Add new functions HasAttrKeyOnDatapoint and HasAttrOnDatapoint to allow existing expr matching logic with OTTL. (#16798)
  • processor/k8sattribute: add more test cases for k8sattribute e2e (#18512)
  • k8sobjectsreceiver: Ensure that the observed timestamp is set. (#18700)
  • k8sobjectsreceiver: Improving watch mode reliability to handle recoverable issue such as API timeouts. (#18078)
  • k8sattributeprocessor: Allow using k8s.pod.hostname to refer to pod.spec.hostname (#18494)
  • translator/loki: Added default labels job=service.namespace/service.name and instance=service.instance.id to log record to send to Loki (#18500)
  • pkg/ottl: Change typed getters to error on nil (#18735)
  • pkg/ottl: Introduce the concept of type-specific Getters that help simplify type assertions in functions. (#18042)
  • pkg/ottl: Add NewStatements func to enable creation of Statements structs. (#18385)
  • redactionprocessor: Add IgnoreList to redaction processor (#18680)
  • translator/prometheusremotewrite: Add metric name to error message when invalid (#18292) Exporter prometheusremotewrite doesn't support non-cumulative monotonic, histogram, and summary OTLP metrics. Added metric name to error message when the unsupported metrics get dropped.

  • spanmetricsprocessor: Support set namespace for generated metric. (#18679)

  • awsxrayreceiver: set service.name attribute (#18480)

  • signalfxexporter: Add exclude_properties config option to filter dimension update property content (#18464)

  • snowflakereceiver: updated README.md to include more detailed documentation. (#14754)

  • splunkhecexporter: Reconnect when server returns 502/429 errors. (#18281)

  • pkg/stanza: Reduced Converter memory footprint by condensing the aggregationLoop logic into workerLoop. (#18411)

  • telemetrygen: Implement a simple metric generation command for telemetrygen (#17986)

🧰 Bug fixes 🧰

  • coralogixexporter: fix authentication issue when using coralogixexporter with only metrics or traces (#18096)
  • cumulativetodeltaprocessor: Data points with the NoValueRecorded flag set are no longer considered in calculating deltas. (#18766)
  • awsecscontainermetricsreceiver: Fix possible sig sev that could happen during component shutdown. (#18736)
  • clickhouseexporter: Fix metric inserts results in empty entries (#18226)
  • exporter/awskinesis: Restore Kinesis stream validation on the start (#18522)
  • datadogexporter: Stop reporting the first cumulative monotonic sum value if the start timestamp of the timeseries matches its timestamp. (#18484)
  • oidcauthextension: Fix case-sensitivity of authorization header (#18405)
  • oracledbreceiver: record a value of -1 for oracledb.tablespace_size.limit if the max tablespace size is not set (#18670)
  • pkg/ottl: Fix bug where an empty TelemetrySettings struct could result in a panic during condition checking (#18669)
  • spanmetrics: Do not drop metric data points on attributes cache misses. (#18725)
  • statsdreceiver: Ensure that the start timestamp and timestamp of successive data points for counters align. (#18470)

v0.71.0

🛑 Breaking changes 🛑

  • clickhouseexporter: use endpoint instead of raw dsn in configuration. (#8028)
  • azureeventhubreceiver: Switch default formatter from "raw" to "azure". (#16549)
  • elasticsearchreceiver: Remove feature gates for index operations and cluster shards count (#14635)
  • humioexporter: Remove deprecated humio exporter (#17013)
  • dockerstatsreceiver: Removed the deprecated scraper implementation which was toggled by the featuregate receiver.dockerstats.useScraperV2. (#18449, #9794)
  • tracegen: Removes tracegen tool now that trace functionality has been moved to telemetrygen. (#9597)
  • extension/jaegerremotesampling: Remove misleading http endpoint from jaegerremotesampling extension. (#18058)

🚩 Deprecations 🚩

  • servicegraphprocessor: Deprecate unprefix label set (#18268)
  • signalfxexporter: Deprecate config translation_rules in favor of metrics transform processor (#18218)

🚀 New components 🚀

  • haproxyreceiver: Adds haproxy receiver to the components of the OpenTelemetry collector contrib distribution (#16829)
  • receiver/purefbreceiver: Add a new receiver that scrapes metrics using Purestorage FlashBlade API (#17528)
  • datadog-receiver: Allows you to ingest traces from DDAPM agents (#1852)
  • logicmonitorexporter: Enable Logicmonitor Exporter (#13727)
  • filereceiver: A receiver for reading the output of a File Exporter (#14638) This component is not yet enabled.
  • logicmonitorexporter: Add implementation for Logicmonitor exporter (#13727)
  • sshcheckreceiver: Add sshcheck - a receiver to remotely check SSH servers. (#14312) Check the availability of SSH and SFTP servers.
  • pkg/stanza: Remove deprecated adapter.Convert and adapter.ConvertFrom functions. (#17429)

💡 Enhancements 💡

  • headerssetter: Extend the headers setter extension with header modification actions. (#16581, #7596) Please update configurations to use the action that suits your requirements:

    • insert: Inserts the new header if it does not exist.
    • update: Updates the header value if it exists.
    • upsert: Inserts a header if it does not exist and updates the header if it exists.
    • delete: Deletes the header. The default action is upsert, however, in future versions, we'll require this to be explicitly set.
  • azureeventhubreceiver: Add Azure Event Hub receiver to contrib components (#18208)

  • pkg/pdatatest: Adds more test cases for traces (#18030)

  • azuremonitorexporter: Adds metrics exporting (#14915)

  • datadogreceiver: Adopting OTel apis for the Start and Stop limits (#18227)

  • datadogexporter: Datadog trace exporter will now retry sending usage metrics when it fails (#18238)

  • datadogexporter: Run API key validation on Datadog exporter in separate goroutine (#18238)

  • pkg/stanza/operator/transformer/recombine: add a new "max_log_size" config parameter to limit the max bytes size of the combined field (#17387)

  • exporter/awsxray: Adds aws.xray.annotations attribute to forward annotation keys from the AWS X-Ray receiver to the AWS X-Ray exporter. (#17550)

  • googlecloudexporter: New release of GCP exporter (#18197) "Various features and bug fixes for the GCP exporter including:

    • Fix GetClientOptions conflicts with default credentials
    • Support multi-project quota usage
    • Include service attributes in logs exporter by default
    • Use a copy of shared log labels to prevent interference between LogRecords
    • Bump Cloud Trace libraries to support auto-retry on failures"
  • googlemanagedprometheusexporter: Promote GMP exporter to beta (#18197)

  • http_forwarder: Set factory stability level to beta. (#18100)

  • pkg/pdatatest: Bring reported errors to a consistent state. (#18041)

  • signalfxexporter: Avoid stringify every data point that does not match the filter. (#18274)

  • influxdbexporter: update influxdb-observability and influxdbexporter, to better utilize InfluxDB/IOx (#18080)

  • influxdbreceiver: routine update to dependency influxdb-observability for influxdbreceiver (#18080)

  • k8sattributesprocessor: Add end to end test framework for Kubernetes related components (#15651)

  • k8sclusterreceiver: Change internal metric store to use pdata (#18214)

  • mongodbatlasreceiver: Adds Events API Logs Support (#18061)

  • signalfxexporter: Move config validation to Validate (#18205)

  • cmd/otelcontribcol: Change otelcontribcol and oteltestbedcol to use the builder (#11867)

  • pkg/pdatatest: Ensure all pdata fields are checked. (#17865)

  • pkg/pdatatest: Do not ignore timestamps implicitly, provide explicit options for that. (#17865)

  • haproxyreceiver: Promote haproxy receiver to alpha (#18022)

  • splunkhecexporter: Support exporting log body to raw Splunk HEC endpoint (#18056)

  • resourcedetectionprocessor/openshift: Respect tls config when connecting to the api server. (#17961)

  • signalfxexporter: Move initialization of the config defaults in Unmarshal. (#18207)

  • splunkhecexporter: Expose HTTPClientSettings on splunkhecexporter (#16838)

  • awsemfexporter: Instead of supply metric metadata and label for aws calculator, supply with aws metric key which consists of metric metadata and label (#17207)

  • datadogreceiver: Adopting new Datadog Agent API levels (#18227)

🧰 Bug fixes 🧰

  • clickhouseexporter: Fix StartTime is not inserted for Gauge and Counter (#18220)
  • awscloudwatchreceiver: Fixes issue where limit per discovery request could be configured to exceed API limitations. (#18293) The request now always sets a limit of 50

  • cumulativetodeltaprocessor: exclude the first point even in monotonic metrics (#17190, #18053)

  • datadogexporter: Fix a nil dereferencing bug on http response (#18099)

  • prometheusreceiver: Fix bug in prometheus receiver that panics if no configuration is given. (#16538)

  • datadogexporter: Fixed a bug where using multiple Datadog exporters with different API keys in separate pipelines could result in traces ending up in the wrong account. (#18233)

  • receiver/splunkhec: Return 400 status code when nested indextime fields are present (#17308)

  • exporter/loki: Do not retry on 4xx status code (excluding 429), as these are permanent errors (#18059)

  • mezmoexporter: No longer require a specific path. This will allow for compatibility with both log analysis and pipeline. (#18011)

  • servicegraphprocessor: Fix cache cleanup in servicegraph proccesor to also purge stale series (#16262)

  • snmpreceiver: Set StartTimestamp to scraper start time. (#17984)

  • snowflakereceiver: added doc.go containing pragma for mdatagen (#17978)

  • spanmetricsprocessor: Fix a flaky test caused by a race condition between WaitGroup completion and observed logs being written and flushed. (#18014)

  • splunkhecexporter: Flatten nested attribute map before sending it to splunk as indexed fields. (#17308)

  • exporter/datadog: Fix bug where ddtags are not set correctly when logs are batched. (#17398)

  • googlemanagedprometheusexporter Fixed broken export on target_info and scope_info metrics for GMP. (#18468)

v0.70.0

🛑 Breaking changes 🛑

  • dockerstatsreceiver: Transition the receiver.dockerstats.useScraperV2 featuregate to stable (#17509, #9794)
  • exporter/azuredataexplorer: Changed the type of Config.ApplicationKey to configopaque.String. (#17273)
  • exporter/azuremonitor: Changed the type of Config.InstrumentationKey to configopaque.String. (#17273)
  • exporter/coralogix: Changed the type of Config.PrivateKey to configopaque.String. (#17273)
  • exporter/elasticsearch: Changed the types of the Config.{Password,APIKey} fields to configopaque.String. (#17273)
  • exporter/influxdb: Changed the types of the Config.Token and Config.V1Compatibility.Password fields to configopaque.String. (#17273)
  • exporter/instana: Changed the type of Config.AgentKey to configopaque.String. (#17273)
  • exporter/logicmonitor: Changed the type of Config.APIToken.AccessKey to configopaque.String. (#17273)
  • exporter/logzio: Changed the type of Config.Token to configopaque.String. (#17273)
  • exporter/mezmo: Changed the type of Config.IngestKey to configopaque.String. (#17273)
  • exporter/pulsar: Changed the types of the Config.Authentication.Token.Token and Config.Authentication.Athenz.PrivateKey fields to configopaque.String. (#17273)
  • exporter/sapm: Changed the type of Config.AccessToken to configopaque.String. (#17273)
  • exporter/tencentcloudlogservice: Changed the type of Config.SecretKey to configopaque.String. (#17273)
  • exporter/alibabacloudlogservice: Changed the type of Config.AccessKeySecret to configopaque.String. (#17273)
  • extension/basicauth: Change Config.Password to use type configopaque.String. (#17273)
  • extension/bearertokenauth: Change config.BearerToken to use configopaque.String type. (#17273)
  • extension/oauth2clientauth: Change Config.ClientSecret to use the configopaque.String type. (#17273)
  • pkg/ottl: Change signatures of ottl and all context Parsers to accept a list of Options. (#13759)
  • pkg/translator/prometheusremotewrite: Remove deprecated in 0.45 MetricsToPRW function. (#17446)
  • spanmetricsprocessor: Emits all metrics (whose dimension keys are cached) every configured duration (#15688, #15687, #16024)

🚩 Deprecations 🚩

  • tracegen: Deprecates tracegen, functionality has been moved to telemetrygen traces (#9597)

💡 Enhancements 💡

  • haproxyreceiver: Add new metrics to the haproxyreceiver (#16829)
  • jmxreceiver: Add the JMX metrics gatherer version 1.22.0-alpha to the supported jars hash list (#17831)
  • mongodbreceiver: Add mongodb health/status metrics (#17021)
  • mdatagen: Adds ability to enable/disable resource attributes in output and sets all existing resource attributes to enabled by default. (#16373) We may change NewMetricBuilder in the future from taking in ResourceMetrics to taking in a MetricsBuildingConfiguration, but for now changing the settings requires a call to WithResourceAttributeSettings.

  • internal/comparetest: add support of traces for comparetest (#17414)

  • awsxrayexporter: Add support to string resource attributes of type slice so that it is possible to set those resource attributes using the OTEL_RESOURCE_ATTRIBUTES environment variable. Strings are converted to string slices of size 1. (#17503)

  • internal/comparetest: Add support for all metric types (#17538)

  • coralogixexporter: improve coralogix exporter performance (#17268) improves coralogix exporter to send batched telemetry data to the backend

  • internal/comparetest: Do not ignore order of any slices by default, use an options for that. (#17551)

  • mysqlreceiver: add mysql.commands metric with supprot for delete, insert, select, update (#14138)

  • exporter/dynatrace: Provide more logs on the results of metrics submissions (#15248)

  • prometheusremotewriteexporter: Add support for converting OTLP Exponential Histograms to Prometheus Native Histograms (#16207)

  • pkg/pdatautil: Export comparetest and pdatautil modules under github.com/open-telemetry/opentelemetry-collector-contrib/pkg (#17873)

  • clickhouseexporter: export metrics to clickhouse (#16478)

  • mongodbatlasreceiver: Adds mongodbatlas.project.name and mongodbatlas.org.id as polled alerts resource attributes (#17513)

  • filelogreceiver: Add delete_after_read setting and associated filelog.allowFileDeletion feature gate. (#16314) If enabled, files will be consumed and then immediately deleted.

  • datadogprocessor: Now that the Datadog processor is part of the official contrib distribution, it has been moved to the beta stability level. (#17862)

  • kafkareceiver: Prevent offset commit failures and connection issues by ensuring that sessions are quickly completed after consumer group rebalances. (#17312)

  • lokiexporter: Added QueueSettings validation into Config Validate method (#7841)

  • telemetrygen: Moves tracegen functionality to the telemetrygen traces subcommand, as well as the existing Github actions (#9597)

  • pkg/ottl: Add new cache path to all contexts which can be used as temporary cache during complex transformations (#16994)

  • pkg/pdatatest: Metric support compare exemplar (#17580)

  • processor/probabilisticsampler: Implement the FNV hash library for the probabilistic sampler. (#16456)

  • redisreceiver: Add scraper shutdown with redis client close function to avoid redis client connection pool leaks (#17491)

  • resourcedetectionprocessor: add openshift support (#15694)

  • snowflakereceiver: added scraper and factory to snowflakereceiver (#14754)

  • internal/comparetest: traces support IgnoreResourceAttributeValue compare option (#17588)

  • processor/transform: Add substring function. (#17038)

  • processor/groupbyattr: Improve performance by using map hashes for resource grouping (#17527)

  • windowseventlogreceiver: Support sending the raw XML of the event (#17858)

🧰 Bug fixes 🧰

  • receiver/purefareceiver: Updating documentation to include required configuration fields. (#14886)
  • clickhousexporter: Clickhouse string type cast function of insert flow changed because of missing span values. (#17834)
  • prometheusremotewriteexporter: Export _created metric for Summary, Histogram and Monotonic Sum metric points if StartTimeUnixNano is set. (#17412, #12426) The export of tbe _created metric is configurable in the Prometheus remote write exporter. It is disabled by default.
  • clickhouseexporter: Fix "no such host" error when the DSN hostname contains the database name (#16476)
  • oracledbreceiver: the resource attribute oracledb.instance.name now captures the database name. (#17850)
  • signalfxexporter: Make sure the metadata updater is tied to the exporter itself, so it can tack on the exporter lifecycle. (#17976)
  • mdatagen: Fixing templateFS to work on windows systems (#17576) This fix will allow the command to work as a static binary without needing reference to the templates on disk.

  • pkg/ottl: Fix issue where IsMatch returned an error if the target val was nil (#17572)

    • Affected components
    • filterprocessor
    • routingprocessor
    • transformprocessor
  • batchperresourceattr: Optimize batch processor attribute and don't reset the caller's instance, instead make a copy of the original resource attributes (#17835)

  • receiver/prometheusreceiver: Use _created metrics, if present, to set StartTimeUnixNano for Sum, Histogram and Summary metrics. (#12428) If the _created metric was present in the Histogram, Summary or Counter metric family, only then its values is used to set StartTimeUnixNano on the relevant OTLP metric and dropped afterwards. Otherwise, it is converted to the monotonic OTLP Sum metric. This behaviour is disabled by default. Use the receiver.prometheusreceiver.UseCreatedMetric to enable it.

  • exporter/prometheusremotewriteexporter: Export exemplars for the Monotonic Sum metric. (#17573)

  • windowseventlogreceiver: Fix panic that can occur when event is larger than current buffer size. (#17879)

  • windowseventlogreceiver: Fixed a panic that could create an empty buffer due to incorrect use of unsafe pointers in syscall. (#17878) Fixed a potential panic due to a syscall indicating a that the event buffer should resize to 0. The next used of that resized buffer would result in an index out of bounds panic.

Also, added a safety check for buffer resize cases that if the syscall indicates it needs the buffer size to be 0, an error will be returned.

v0.69.0

🛑 Breaking changes 🛑

  • apachereceiver: Remove feature gates that enable sending server name and port as resource attributes. (#14791)
  • elasticsearchreceiver: change feature gates for cluster health and index operations to beta (#14635)
  • resourcedetectionprocessor: Remove deprecated gke/gce detectors, use gcp instead. (#10348)
  • extension/asapauth: Change Config.PrivateKey to use the configopaque.String opaque type. (#17316)
  • processor/resourcedetectionprocessor: Change Config.Token to use configopaque.String opaque type. (#17314)
  • googlecloudexporter: Graduate exporter.googlecloud.OTLPDirect feature-gate to GA, and remove legacy exporter. (#17192)
  • exporter/datadog: Change Config.API.Key to use configopaque.String opaque type. (#17296)
  • transformprocessor: Remove deprecated config options. Use [trace|metric|log]_statements instead. (#16773)

🚩 Deprecations 🚩

  • mysqlreceiver: remove mysql.commands metric (#14138)
  • hostmetricsreceiver: Disable deprecated process memory metrics (#14327) The metrics process.memory.physical_usage and process.memory.virtual_usage are now disabled by default and will be removed in v0.72.0. As a replacement, the following metrics are now enabled by default: process.memory.usage, process.memory.virtual. For details, see the docs.

💡 Enhancements 💡

  • receiver/elasticsearch: Add node version as a resource attribute (#16847)
  • hostmetricsreceiver: Add a new optional metric process.disk.operations to the process scraper of the hostmetrics receiver. (#14084)
  • signalfxexporter: Use configopaque for access_token field (#17294)
  • datadogexporter: Update datadogexporter metrics export to use datadog-api-client-go instead of Zorkian by default (#16776) This is guarded by feature gate and can be disabled by adding CLI flag --feature-gates=-exporter.datadogexporter.metricexportnativeclient
  • internal/comparetest: add golden functions ReadLogs, WriteLogs, CompareLogs (#10896)
  • haproxyreceiver: Adds a new socket interface and CSV reader for haproxy stats (#16829)
  • resourcedetectionprocessor: Add support to detect Heroku resources (#16833)
  • logstransformprocessor: Lets the logs transform processor directly pass messags to next consumer, avoiding the timing issues it previously exhibited. (#16604, #15378, #9761)
  • mdatagen: Add ability to specify additional warnings in metadata.yaml (#17180)
  • signalfxexporter: Add all HTTP client settings to the SignalFx exporter configuration (#16807)
  • snowflakereceiver: added client to snowflakereceiver (#14754)
  • snowflakereceiver: added config to snowflakereceiver (#14754)
  • splunkhecexporter: Use configopaque for token field (#17295)
  • xrayexporter: Add Cloud Watch log group names from xray exporter config (#16939)
  • receiver/purefareceiver: Add a relabel config for important default label names on FlashArray endpoints (#14886)

🧰 Bug fixes 🧰

  • carbonreceiver: Create the carbon receiver server when the Start method is called, and only close it if created. (#17404)
  • pkg/stanza: Fix issue where glob could match directories (#16995)
  • kafkareceiver: fix support of Kafka consumer offset autocommit config (#17374)
  • pkg/stanza: Fix support of include/exclude patterns with "\" separators on Windows. (#14754)
  • awsemfexporter: Ensure that the config.logger is not nil to avoid segfaults (#9978)
  • statsdreceiver: Fix the statsdreceiver initialization to only create a server when Start is called. (#17402)
  • receiver/splunkhec: Map HEC key fields to resource attributes correctly. (#13997)
  • otlpjsonfilereceiver: Disregard empty resource logs, metrics or traces when reading from files. (#12603)
  • receiver/purefareceiver: Set an explicit reload interval for all scrapers. (#16992)
  • servicegraphprocessor: fix servicegraphprocessor concurrent map read and write (#16850)
  • filelogreceiver: Truncate log entry if it is longer than max_log_size (#16487)
  • cmd/metadata: Ensure template files are downloaded as part of the go get and embeded into the application (#17442)

v0.68.0

🛑 Breaking changes 🛑

  • splunkhecreceiver: Delete the path key which is no longer in use and has been deprecated since September 2021. (#16999)
  • pkg/ottl: Enforce functions used as a value to start with an uppercase letter and the statement's invocation to start with a lowercase letter. (#16718)

🚩 Deprecations 🚩

🚀 New components 🚀

  • haproxyreceiver: A receiver scraping metrics from the HAProxy stats command. (#16829)
  • processor/datadogprocessor: The Datadog Processor is used to compute pre-sampling APM Stats. (#15689) Use it to get full visibility into APM Stats in conjunction with the Collector's tail sampling processors.

💡 Enhancements 💡

  • jmxreceiver: Add the JMX metrics gatherer version 1.21.0-alpha to the supported jars hash list (#17064)
  • hostmetricsreceiver: Add a new optional metric process.memory.utilization to the metrics scraped by the process scraper of the hostmetrics receiver. (#14084)
  • mysqlreceiver: add mysql.replica.time_behind_source and mysql.replica.sql_delay metrics (#14138)
  • elasticsearchreceiver: Add additional node metrics around request cache and process stats (#16095)
  • datadogexporter: Added support for consuming Datadog APM Stats as OTLP Metrics (usually generated by the datadogprocessor). (#16853)
  • googlecloudspannerreceiver: Support for p50, p95 and p99 percentile latencies for queries and transactions. (#16429)
  • exporter/loki: Added InstrumentationScope to log object (#16485)
  • exporter/loki: Allow nested attributes to be used in labels (#16475)
  • mongodbreceiver: Add mongodb metrics for operation latency and replication. (#16848)
  • oracledbreceiver: Set OracleDB receiver as alpha, from in development. (#16843)
  • snowflakereceiver: added metrics to snowflakereceiver (#14754) generated w/ mdatagen
  • pkg/ottl: Add substring Converter, returns a substring from the given start index to the specified length. (#17038)

🧰 Bug fixes 🧰

  • k8sobjects: Fix empty event.name attribute when using watch mode (#16542)
  • logzioexporter: Implemented GetLevel method for go-hclog logger (#17009)
  • oracledbreceiver: Remove duplicate method to create default config. (#16997)
  • postgresqlreceiver: Fix issue where WAL stats query was incorrectly coalescing intervals. (#16769)
  • splunkhecexporter: Fix data race when gzip compression is enabled (#17083) Removed gzip writer pool and create a new one when needed.
  • splunkhecexporter: Fix isssue where splunkhec exporter always returns over capacity error when compression is enabled and MaxContentLength is 0 (#17035)

v0.67.0

🛑 Breaking changes 🛑

  • apachereceiver: turn on by default feature gates for server name and port resource attributes (#14791)
  • cumulativetodeltaprocessor: Remove histogram feature gate. (#16720)
  • mysqlreceiver: rename mysql.commands metric to mysql.prepared_statements (#14138) According to the documentation, the Com_stmt_xxx is related to prepared statements ref: https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html

  • mysqlreceiver: rename mysql.commands metric to mysql.prepared_statements (#14138) Disable the receiver.mysqlreceiver.renameCommands feature gate to temporarily revert this change.

  • dockerstatsreceiver: Enable the receiver.dockerstats.useScraperV2 feature gate by default. (#16381, #9794) See the README for information on how to migrate. The featuregate can be disabled, but it will be removed in a future release.

  • coralogixexporter: remove old jaeger based tracing client (#7931)

  • splunkhecexporter: Remove all use of the name attribute from logs as it is deprecated. (#16611)

🚩 Deprecations 🚩

  • servicegraphprocessor: use prefix to distinguish dimensions from different span kind (#16002) The metrics label converts from dimensions specifying in the config will have a prefix to mark where are from. The client_ prefix relates to the dimensions coming from spans with SPAN_KIND_CLIENT, and the server_ prefix relates to the dimensions coming from spans with SPAN_KIND_SERVER. The old dimensions will be removed in the next release.

🚀 New components 🚀

  • receiver/promtailreceiver: Add a new receiver that scrapes logs using Promtail client (#14632)
  • receiver/purefareceiver: Add a new receiver that scrapes metrics using Purestorage FlashArray API (#14886)
  • logicmonitorexporter: New exporter for exporting traces and logs to Logicmonitor Platform (#13727)

💡 Enhancements 💡

  • splunkhecexporter: Add HEC health check before sending the data to Splunk (#16479)
  • jmxreceiver: Add the JMX metrics gatherer version 1.20.1-alpha to the supported jars hash list (#16437)
  • hostmetricsreceiver: Add a new optional metric process.cpu.utilization to the process scraper of the hostmetrics receiver. (#14084)
  • azureeventhubreceiver: adds alternate log formatter that maps Azure log fields into OpenTelemetry attributes (#16283)
  • mysqlreceiver: add mysql.connection.count metric (#14138)
  • elasticsearchreceiver: add scraping metrics on cluster level (#14635) The receiver now emits jvm and cache eviction metrics on cluster level scraped from new endpoint /_cluster/stats.
  • influxdbexporter: Add support for exporting to InfluxDB v1.X API (#16042)
  • vcenterreceiver: Added vcenter.vm.memory.ssdswapped and vcenter.vm.memory.swapped metrics. (#16727)
  • filelogreceiver: Promote component to Beta status (#15355)
  • probabilisticsamplerprocessor: Add support for probabilistic sampling of logs (#9117)
  • cmd/mdatagen: Add support for resource_attributes::enum field (#16464) resource_attributes::enum values in metadata.yaml are now properly supported in metrics builder developer interface.

  • cmd/mdatagen: Improve generated documentation (#16556, #16563)

  • cmd/mdatagen: Add a metadata.yaml option to specify a warning that will be shown in case if metric is enabled. (#16536)

  • kafkaexporter: Allows for custom marshalers to be added in future releases (#14514)

  • oracledbreceiver: Add oracledbreceiver implementation (config, scraper, db client) (#16043)

  • filterprocessor: Adapt ottl configuration to same BoolExpr, remove duplicate code (#16446)

  • pkg/ottl: Updates the IsMatch function to convert bools, ints, and floats to strings before matching. (#16503)

  • pkg/ottl: Add new merge function to OTTL, which allows merging maps. (#16461)

  • pkg/ottl: Add ability to negate conditions with the not keyword (#16553)

  • pkg/ottl: Add new ParseJSON function that can convert a json string into pcommon.Map. (#16444)

  • internal/filter: Change filter interface to be compatible with ottl (#16443)

  • receiver/awscontainerinsightreceiver: Polish up awscontainerinsightreceiver README (#16378)

  • pkg/translator/loki: Remove loki dependency, copy files from logproto (#16822) Files copied from github.com/grafana/loki/pkg/logproto to remove unnecessary dependencies. In logproto.pb.go I had to remove few types Query[Request|Response] and SampleQuery[Request|Response] and the gRPC service that uses them, because they depend on another loki package stats.

  • snmpreceiver: Set component status to alpha (#16454)

  • solacereceiver: Added baggage unmarshalling support (introduced in Solace PubSub+ Event Broker 10.2.1) (#16570)

  • solacereceiver: Added configurable retry interval for flow control scenarios (#16570)

  • cmd/otelcontribcol: Split cmd/otelcontribcol into a separate module, extract testbed in a separate module (#16715)

  • transformprocessor: Add the merge_maps and ParseJSON functions. (#16551)

  • pkg/stanza: Upgrade version of doublestar from v3 to v4 (#16528)

  • configschema: add yaml generation command (#15231)

🧰 Bug fixes 🧰

  • exporter/azuredataexplorerexporter: Makes timestamp precision to nanos, updated azure-kusto-go to 0.9.2 (#16546)
  • cumulativetodeltaprocessor: Updates histogram conversion logic to correctly remove Min and Max when a histogram is converted. (#16520)
  • datadogexporter: Doesn't append duplicate ddtags on each log submission leading to 414 API errors. (#16380)
  • exporter/dynatrace: Make sure the original metrics are not mutated (#16506)
  • elasticsearchreceiver: fix the set of operations for which the data is fetched on index-level (#14635)
  • filterexpr: Fixed filterexpr Matcher.MatchMetric to be thread-safe (#13573)
  • fileexporter: Fix nil pointer in fileexporter when reusing configuration for multiple telemetry signals or pipelines. (#16733)
  • vcenterreceiver: vcenter.vm.memory.ballooned is taken from vm.Summary.QuickStats.BalloonedMemory that is expressed MiBy, not By. (#16728)
  • servicegraphprocessor: Fixes the number of bucket counts. (#16000)
  • prometheusexporter: Make sure the exporter doesn't mutate metrics (#16499, #16572)
  • datadogexporter: Suppress logs exporter payload dump to avoid filelogreceiver escape loop (#16380)
  • headerssetter: Do not require the secure transport for the headers setter extension. (#16508)
  • exporterconfig: The exporter config options should be HTTPS endpoint URL only (#14323)
  • pkg/translator/loki: fix loki.resource.labels not working as expected (#15386)
  • cmd/mdatagen: Rename metadata.yaml attribute field from value to name_override (#16561)
  • exporter/awsemfexporter: Consider metric data type while grouping metrics (#16512)
  • exporter/awsemfexporter: Export fields of MetricDescriptor to enable decoding (#16566)
  • awskinesis: Fixed configuration issues not being correctly used. (#16259) -| - Fixed applying region to the kinesis exporter
  • pkg/ottl: Add support for lists to be used as Getter values (#16320)
  • prometheusreceiver: Fix prometheus receiver panic on shutdown (#16469)
  • exporter/instana: Make sure the original traces are not mutated (#16505)
  • routingprocessor: Fix bug in routing processor that prevented collector from starting if from_attribute is not provided with OTTL routing statements. (#16555)
  • tailsamplingprocessor: When dealing with traces that have already been evaluated, use the final decision instead of trying using the individual decisions by the policies. (#14760)
  • processor/transform: Fix issue where collector would panic under certain conditions if the transformprocessor was configured to transform span events. (#16622)
  • zipkinreceiver: Fix zipkinreceiver panic on shutdown (#16471)

v0.66.0

💡 Enhancements 💡

  • hostmetricsreceiver: Add a new optional metric process.signals_pending to the metrics scraped by the process scraper of the hostmetrics receiver. (#14084)
  • splunkhecreceiver: Add a healthcheck endpoint as part of the splunkhecreceiver. Just returns 200 for now if the receiver is running. (#15367)
  • filterprocessor: Add ability to filter spans, span events, metrics, datapoints, and logs via OTTL conditions (#16369)
  • googlecloudspannerreceiver: Configurably mask the PII in lock stats metrics. (#16343)
  • interna/coreinternal: Split internal/coreinternal/processor into a separate internal/filter module (#16410)

🧰 Bug fixes 🧰

  • Fixes missed dependency updates in v0.65.0

v0.65.0

🛑 Breaking changes 🛑

  • mongodbreceiver: Drop support for versions of MongoDB prior to 4.0 (#16182)
  • pkg/ottl: Rename ottldatapoints to ottldatapoint (#16245)
  • pkg/ottl: Rename ottllogs to ottllog (#16242)
  • pkg/ottl: Renames ottltraces to ottlspan (#16241)
  • redisreceiver: Support more metric label values for redis.cpu.time (#14943)

💡 Enhancements 💡

  • exporter/loki: Automatic mapping beetwen LogRecord.SeverityNumber to LogRecord.Attributes["level"] (#14313)
  • jmxreceiver: Add the JMX metrics gatherer version 1.20.0-alpha to the supported jars hash list (#16356)
  • mongodbreceiver: Add additional metrics for mongodb locks (#13661) Add additional metrics for locks.acquire_count, locks.acquire_wait_count, locks.deadlock_count, locks.time_acquiring_micros

  • elasticsearchreceiver: add jvm heap percentage usage metric (#14635)

  • elasticsearchreceiver: add missing data points for operation count and operation time (#14635)

  • elasticsearchreceiver: add segment memory metric on node level (#14635)

  • elasticsearchreceiver: Add cluster health metrics for two more shards types (#14635)

  • elasticsearchreceiver: add document count metrics on index level (#14635)

  • elasticsearchreceiver: add fielddata memory size metrics on index level (#14635)

  • elasticsearchreceiver: Add query cache metrics on index level (#14635)

  • exporter/awsxrayexporter: Favour semantic convention attributes for DynamoDB table name and messaging url when translating OTel data into X-Ray AWS data. (#16075)

  • azuremonitorexporter: Support span and exception events (#16260)

  • datadogexporter: Change log level for host metadata (#14186)

  • azureeventhubreceiver: Mark the Azure Event Hub receiver as alpha. (#12786)

  • pkg/ottl: Add ability to perform basic (+, -, *, and /) arithmetic operations on ints and floats. Paths and Functions that return ints/floats are allowed. (#15711) Affected components

    • routingprocessor
    • transformprocessor
  • pkg/ottl: Add support for setting Maps in Values. This enables Contexts to set map values for attributes. (#16352)

  • prometheusreceiver: Trim type's and unit's suffixes from metric name as per otel specs. (#8950) Can be enabled by the featuregate pkg.translator.prometheus.NormalizeName

  • pkg/ottl: Remove duplicate parse IDs code, avoid coreinternal dependency (#16393) The "[trace|span]_id_string" func returns "000..000" string for invalid ids.

  • exporter/signalfxexporter: Allow user to add a custom CA so the ingest and api clients can verify and communicate with custom TLS servers. (#16250) "ingest_tls" and "api_tls" can be used to set the absolute path to the CA file "ca_file". This is needed when the exporter is pointing to a TLS enabled signalfx receiver or/and TLS enabled http_forwarder and the CA is not in the system cert pool

  • pkg/stanza: Support to Customize bufio.SplitFunc (#14593)

  • processor/transform: Adds new configuration options that allow specifying the OTTL context to use when executing statements. See Transform Processor README for more details. (#15381) The existing configuration options will be deprecated in a future release.

  • transformprocessor: Added OTTL function ConvertCase into the Transform Processor (#16083)

🧰 Bug fixes 🧰

  • receiver/jaeger: Fix an error message in thrift HTTP message decoder (#16372)
  • spanmetricsprocessor: Register processor.spanmetrics.PermissiveLabelSanitization featuregate, which was only defined but not registered. (#16269)
  • splunkhecexporter: Apply max content length to compressed HEC content (#13995) The Splunk HEC exporter uses the unzipped content to check the size of the payload to send, instead of the compressed content. The max content length configuration should apply to the zipped content when compression is enabled.

  • receiver/hostmetrics: Remove "Deprecated" label from network metrics (#16227) Replacement of the metrics was rejected some time ago, but the labels were not updated.

  • mongodbatlasreceiver: Checks host and port before assigning attributes in poll mode (#16284)

  • datadogexporter: Fixes crash when logging error on logs exporter (#16077)

  • pkg/ottl: Fix list argument parsing when using internal arguments (#16298)

  • pkg/stanza, filelog, journald, windowseventlog: Fix issue where specifying a non-existent storage extension caused panic during shutdown. (#16212)

  • pkg/stanza: Fix severity range unmarshaling (#16339)

  • splunkhecexporter: Do not log a warning on mapping empty metrics. (#3549)

  • exporter/datadog: Fixes bug to append tags in attributes instead of replacing them, simplifies filelog receiver setup, and adds otel_source tag. (#15387)

  • processor/transform: Fix issue where the metric context was using datapoint functions. (#16251)

  • vcenterreceiver: collect VM may be panic nil pointer. (#16277)

v0.64.0

🛑 Breaking changes 🛑

  • pkg/stanza, filelog, journald, syslog, tcplog, udplog, windowseventlog, logstransform: Remove ability to configure converter. (#15696) The design of the converter is opaque and its behavior may change in the future. Because of this, the converter settings are deemed unstable. The actual behavior of the converter remains unchanged, but will always use the former default values.

  • exporter/googlemanagedprometheusexporter: Moved ClientConfig under MetricConfig, and added an option to change the default metric name prefix for advanced use cases. (#10543)

  • pkg/ottl: Update ExprFunc, Set, and Get to all return errors. (#15649)

  • pkg/ottl: Change Statement to use Expr[K] and BoolExpr[K] and for Statement.Execute to require context.Context. (#15709)

  • tanzuobservabilityexporter: Add a new metric exporter config(app_tags_excluded) to exclude application resource attrs(application, service.name, cluster, shard) from the metric tags. Rename the config resource_attributes to resource_attrs_included. Build in-house logic in the tanzuobservability exporter and remove the usage of resourcetotelemetry. (#14733)

🚩 Deprecations 🚩

  • hostmetricsreceiver: Introduce renamed process memory metrics (#14327) This starts the process of phasing out incorrect metric names:

    • process.memory.physical_usage
    • process.memory.virtual_usage

and replacing them with the names adhering to the semantic conventions:

  • process.memory.usage
  • process.memory.virtual

At this stage, the new metrics are added, but they are disabled by default. See the "Deprecations" section of the Host Metrics receiver's README for details.

💡 Enhancements 💡

  • awsemfexporter: Added a log_retention field to the config to specify log retention policy for a Cloudwatch Log Group (#15678)
  • translator/jaeger: Add refType as attribute to link when translating Jaeger span references to OTEL. (#14465) The attribute is used to set the proper refType when translating back from OTEL to Jager.

In the case of a span with multiple parents, which Jaeger supports, all the refType are properly translated.

  • apachereceiver: add port resource attribute (#14791)
  • apachereceiver: Extract server name as resource attribute (#14791) The feature is enabled through a feature gate and will be enabled by default in v0.65.
  • mysqlreceiver: add more mysql metrics (#14138)

    • Add mysql.connection.errors metric (#14723)
    • Add mysql.mysqlx_connections metric (#14727)
    • Add mysql.joins metric (#14728)
    • Add mysql.table_open_cache metric (#14737)
    • Add mysql queries (all, client and slow) count metrics (#14738)
    • Add metrics based on events_statements_summary_by_digest table (#14770)
    • Add mysql.client.network.io metric (#14744)
  • elasticsearchreceiver: Add metrics related to GET operations (#14635)

  • elastisearchreceiver: Add new metrics related to segments, aggregated by all shards (#14635)

  • elasticsearchreceiver: add store size metric for index level (#14635)

  • elasticsearchreceiver: Add metrics related to merge operations with aggregated for all shards (#14635)

  • elasticsearchreceiver: add translog metrics on index level (#14635)

  • hostmetricsreceiver: Add new process metrics (#12482) Add process.context_switches and process.open_file_descriptors as process metrics. They are disabled by default.

  • metricstransformprocessor: Add support for scaling histogram metrics (#15690)

  • datadogexporter: Use minimum and maximum fields from delta OTLP Histograms and OTLP ExponentialHistograms when available. (#16048)

  • pkg/ottl: Add ConvertCase OTTL function with lower, upper, camel and snake case options. (#15379, #16070, #16083)

  • pkg/ottl: Add parent_span_id.string accessor. (#16041)

  • pkg/ottl: Add new Span Event context to allow for efficient transformation of Span Event telemetry. (#14907)

  • pkg/stanza, filelog, journald, syslog, tcplog, udplog, windowseventlog, logstransform: This component does not mutate data, but can be useful as a generic node in complex pipelines. (#15706)

  • pkg/stanza: improve performance (#16028)

  • signalfxexporter: Allow 2 additional metrics to be included when exporting to SignalFx, k8s.container.cpu_request and k8s.container.memory_request. (#16009)

  • hostmetricsreceiver: Added root_path config option, allowing the user to specify where the host filesystem is. (#5879, #16026)

  • snmpreceiver: adds integration tests for SNMP metric receiver (#13409)

  • snmpreceiver: adds scraper for SNMP metric receiver (#13409)

  • spanmetricsprocessor: Improve spanmetricsprocessor performance, reuse buffer to calculate key (#16033)

  • global: Update gopsutil to 3.22.10 to return Windows partitions, regardless of errors (#14315)

  • hostmetricsreceiver/filesystem: Add configuration option to track virtual partitions (#15680)

🧰 Bug fixes 🧰

  • clickhouseexporter: remove unnecessary function in trace table creation SQL (#15679)
  • elasticsearchexporter: Fixed nil panic error when setting custom headers in elasticsearch exporter (#16017)
  • elasticsearchreceiver: emit missing data points related to segments, aggregated by primary shards (#14635)
  • zipkinreceiver: Fix invalid timestamps when using Zipkin V1 receiver (#15720)
  • kubeletstatsreceiver: return an error if metadata containerID is empty and log a warning message (#16061) The kubelet apiserver /pod metadata endpoint might not have the containerID set for newly created containers. Mark these datapoints as failed and don't process them. The issue should be resolved on the nexy poll.

  • jaegertranslator: For HTTP status codes in the 4xx range span status MUST be left unset in case of SpanKind.SERVER and MUST be set to Error in case of SpanKind.CLIENT. (#8273)

  • mezmoexporter: Fix usage of HTTP client to honor settings (#15246) This change fixes mezmoexporter's usage of the user supplied HTTP client settings. Previously, the settings were ignored for every request.

  • vcenterreceiver: Print the correct error message if VM fetch fails. (#15682)

  • vcenterreceiver: Fix x509 with TLS.InsecureSkipVerify setting (#15701)

v0.63.0

🛑 Breaking changes 🛑

  • processor/cumulativetodelta: Sets the processor.cumulativetodeltaprocessor.EnableHistogramSupport feature gate to enabled by default. Histograms will be converted by default if they match include rules. (#15288)
  • pkg/ottl: Renames accessor for instrumentation scope from instrumentation_library to instrumentation_scope to match documentation (#14933)
  • pkg/ottl: Add lists to the OTTL grammar and change the function signature of Concat. (#13391) The following functions have changed: keep_keys now has a function signature of keep_keys(target, keys[]). Concat now has a function signature of Concat(keys[], delimiter).

  • pkg/ottl: Updates ParseStatements to return a []*Statement instead of []Statement. (#14911)

  • postgresqlreceiver: Change postgresql.bgwriter.duration data type from int to double (#14725, #14972)

  • extension/headerssetter: Remove deprecated extension/headerssetter module. (#13774) The headerssetter extension was superseded by headerssetterextension.

  • elasticsearchreceiver: removing direction feature gate (#14955)

  • hostmetricsreceiver: remove direction feature gate (#14959)

  • kubeletstatsreceiver: remove direction feature gate (#14961)

  • memcachedreceiver: removing direction feature gate (#14964)

  • vcenterreceiver: removing direction feature gate (#14963)

  • zookeeperreceiver: removing direction feature gate (#14962)

  • exporter/routingprocessor: Rename OTTL expression configuration parameter of the routing table to statement to align with the OTTL naming. (#14950)

  • dockerstatsreceiver: container.cpu.usage.system is no longer a default metric. Added more description for the metric. (#9794, #14558) Change is not breaking unless you are have enabled the featuregate receiver.dockerstats.useScraperV2 and are using the specified metric.

  • processor/transform: Convert the keep_keys and Concat functions to use list parameters and change the function signature of Concat. (#13391) The updated functions now have the following signatures: keep_keys now has a function signature of keep_keys(target, keys[]). Concat now has a function signature of Concat(keys[], delimiter).

🚩 Deprecations 🚩

  • exporter/influxdb: change status to beta (#14098)
  • receiver/influxdb: change status to beta (#14099)

🚀 New components 🚀

  • azureblobreciver: Add a new component azureblobreciver (#8834) Add a new component azureblobreceiver that reads logs and traces from Azure Blob Storage
  • k8sobjectsreceiver: Add a new k8sobjects receiver to collect(pull/watch) Kubernetes Objects (#14185)
  • httpcheckreceiver: New HTTP Check receiver allows users to run synthethic checks from the collector (#10607)

💡 Enhancements 💡

  • oracledbreceiver: Add metrics captured by this receiver (#13939)
  • hostmetricsreceiver: Add a new metric process.paging.faults to the process scraper of the hostmetrics receiver. (#14084)
  • receiver/prometheusreceiver: Append exemplars to the metrics received by prometheus receiver (#8353) Acknowledge exemplars coming from prometheus receiver and append it to otel format
  • azureblobreceiver: Implementation of the component (second PR) (#8834)
  • azureeventhubreceiver: Adds implementation of Azure event hub receiver for raw data (#12786)
  • bearertokenauthextension: Allow bearertokenauthextension to support custom auth schemes apart from "Bearer" (#14771)
  • clickhouseexporter: Add support export OTLP traces to ClickHouse (#8028)
  • mysqlreceiver: add mysql.opened_resources metric (#14138)
  • receiver/mysql: add metrics based on events_statements_summary_by_digest table (#14138)
  • mysqlreceiver: add mysql.mysqlx_worker_threads (#14138)
  • receiver/statsdreceiver: Add OTLP exponential histogram aggregator support for high-resolution histogram and timing metrics (#5742)
  • pkg/translator/loki: Add support for formatting Loki log lines in logfmt format, toggled by providing loki.format hint. It can have value logfmt or json. JSON is default if no format hint is present. (#15351)
  • exporter/lokiexporter: Add multi-tenancy support for Loki exporter via loki.tenant hint. (#14706)
  • pkg/translator/loki: Add support for grouping Loki requests by attribute that is resolved from the loki.tenant hint. (#14706)
  • cmd/mdatagen: Add ability to see if enabled option is overridden in user settings. (#15344)
  • oracledbreceiver: Adds DML locks and transaction metrics to capture usage and limits (#13939)
  • pkg/ottl: Add new Instrumentation Scope context to allow for efficient transformation of Instrumentation Scope telemetry. (#14892)
  • pkg/ottl: Add new Metric context to allow for efficient transformation of metric telemetry. (#14895)
  • snmpreceiver: adds SNMP config helper for SNMP Receiver metric scraper (#13409)
  • snmpreceiver: adds otel metric helper struct for SNMP metric receiver scraper (#13409)
  • snmpreceiver: changes the client of the SNMP metric receiver to only return data in its functions rather than try to process that data (#13409)
  • snmpreceiver: changes the config of the SNMP Metric Receiver to have "double" as an option in place of "float" (#13409)
  • solacereceiver: Updates Solace Receiver with a variety of improvements and fixes for compatibility with Solace PubSub+ Event Broker 10.2.0 (#15244)
  • syslogreceiver: Added RFC 6587 Octet Counting and Non-Transparent-Framing support. (#8390)
  • elasticsearchexporter: upgrade version of elasticsearch client to 8.4 (#15385)
  • dockerstatsreceiver: Log warning when using ScraperV1, and add documentation for migrating from V1 to V2. (#9794, #14968)
  • windowsperfcountersreceiver: Retry counter retrieval once, when error indicates possible rollover (#14343)

🧰 Bug fixes 🧰

  • servicegraph: Add servicegraph processor to component list (#14899) Bumps servicegraph stability to alpha
  • azuremonitorexporter: Application Insights Severity Level mapping was incorrectly based on SeverityText which was unique for every language/SDK. (#15275) Application Insights Severity Level mapping was incorrectly based on SeverityText which was unique for every language/SDK. The mapping approach has been changed to analyze SeverityNumber, which is supposed to be common across languages/SDKs.
  • awscloudwatchreceiver: Fix config validation for some named configurations. (#14952)
  • exporter/awsxrayexporter: Fix an issue where the awsxrayexporter would not parse .Net stacktrace correctly. (#14780)
  • postgresqlreceiver: Fix issue where WAL lag stats could cause panic (#14972)
  • prometheusremotewriteexporter: Fix value of +Inf histogram bucket to be equal to total count (#4975)
  • prometheusreceiver: Fix metrics being grouped into the same metrics family incorrectly (#13117)
  • spanmetricsprocessor: Sets TraceID and SpanID fields in Exemplar type (as per the spec) and removes the use of FilteredAttributes to pass these values around. (#13401)
  • splunkhecexporter: Skip SummaryDataPoint.Sum and HistogramDataPoint.Sum NaN values (#14877)
  • pkg/winperfcounters: Fix testing with -race flag for winperfcounters package and winperfcounter based receivers (#10145, #10146, #10149, #10150)

v0.62.0

🛑 Breaking changes 🛑

  • pkg/ottl: Enhance replace_all_patterns functions to take a new parameter that specifies whether the function applies to keys or values. (#12631)
  • pkg/ottl: Unexports several types intended only for the package's grammar. (#14599)
  • pkg/ottl: Changed Statement to be an interface with an Execute function. (#14869)
  • pkg/ottl: Rename the Queries signal configuration field to Statements and remove the ottlconfig package. (#14680)
  • confmap/provider/s3provider: Rename s3mapprovider to a s3provider making it consistent with other providers. (#14616)
  • processor/transform: Rename the queries config key to statements. (#14680)

🚀 New components 🚀

  • oracledbreceiver: Add a new Oracle DB receiver component collecting metrics by periodically querying the database. (#13939)
  • azuredataexplorer: Adding a new exporter to OpenTelemetry that supports Metrics, Logs and Traces into Azure Data Explorer, a timeseries & analytics offering from Azure (#11830)
  • awscloudwatchreceiver: Adds the awscloudwatchreceiver in an alpha state (#14449)
  • snmpreceiver: adds the snmpreceiver metric receiver (#13409)

💡 Enhancements 💡

  • probabilisticsamplerprocessor: add more mterics to probabilistic sampler for observ. (#13924)
  • mongodbatlasreceiver: Safeguard against large amounts of alert emissions. (#14610)
  • bearertokenauthextension: support reading tokens from file (#14325)
  • cumulativetodeltaprocessor: Reduce memory consumption in cumulativetodeltaprocessor by removing unnecessary storage of metric identities. (#13751)
  • carbonexporter: Change carbonexporter to use pdata, remove dependency on opencensus (#14589)
  • coralogixexporter: Adds support for mapping application name and subsystem using Resource attributes (#14398)
  • mysqlreceiver: add mysql.tmp_resources metric (#14138)
  • mysqlreceiver: add mysql.locked_connects metric (#14138)
  • elasticsearchreceiver: Add scraping index stats and generate search metrics (#14635)
  • pkg/telemetryquerylanguage: Add the Int factory function to the transform processor (#11810)
  • exporters: Use BuildInfo.Command for identifying the collector in some AWS exporter user agents. (#14719) Some exporters were using a build-time constant definition to change the identity of the collector binary in user agent strings. These will now use the collector service's BuildInfo.Command value.
  • jaegerexporter: Adds support for ValueTypeBytes to Jaeger's trace to jaegerproto translator. (#14574)
  • mongodbatlasreceiver: Adds capability to retrieve alerts from the API rather than listening (#14121)
  • pkg/ottl: Use generics to avoid context cast in getters and funcs. (#14482)
  • pkg/ottl: Simplify parser creation logic. (#14601)
  • pkg/ottl: Add new Resource context to allow for efficient transformation of resource telemetry. (#14887)
  • exporter/signalfxexporter/translation: Drop datapoints that have more than 36 dimensions and log a message when agent is set to debug (#14625) Additionally, the metric and dimension validation failures are now logged in Debug instead of Warn
  • sigv4authextension: Have "sts_region" default to "region" if not provided (#14573)
  • snmpreceiver: adds the client for the snmpreceiver (#13409)
  • snmpreceiver: adds the full configuration that the SNMP Receiver will use (#13409)
  • splunkhecreceiver: Updates Splunk receiver http status codes in order to be compliant with SplunkCloud (#14469)
  • pkg/stanza: readerFactory and Reader use helper.Encoding directly, no longer depends on helper.Splitter (#14593)
  • pkg/stanza: readerFactory and Reader use bufio.SplitFunc directly, no longer depends on helper.Splitter (#14766)
  • pkg/stanza: add splitter factory which return a split func (#14766)
  • exporter/awsxrayexporter: Change the value of xraysegment.url from dbConnectionString to the span name. This makes the XRay segment timeline more informationally useful. (#14342) This change contravenes the AWS documentation for what values should go into this segment field.
  • pkg/translator/zipkin: Change zipkin V1 conversion to use pdata. (#14592)
  • filterexpr: Prevent the matcher from panicking (#13573)

🧰 Bug fixes 🧰

  • clickhouseexporter: Fix serviceName variable scope (#8028)
  • exporter/datadogexporter: Fix an issue where the Datadog system metrics system.memory.{usage,total} would be incorrect in Kubernetes. (#14618)
  • mysqlreceiver: Fix sql queries for scraping table and index metrics. (#14138)
  • fileexporter: set rotation disabled by default (#14690)
  • fluentforwardreceiver: added case to handle uint64 timestamp (#11435)
  • sqlqueryreceiver: fix oracle db integration test (#12332)
  • prometheusreceiver: changes to use the new scrape_configs endpoint in the target allocator to dynamically pull scrape configuration. (#14597)
  • saphanareceiver: Fix incorrect use of units for saphana licenses metrics (#10565)
  • hostmetricsreceiver: Allow to continue collecting partition information even if an error is returned (#14315) Log the error and continue if partition information, however incomplete, was provided.
  • kubeletstatsreceiver: Fix use network io as network errors bug (#14318)

v0.61.0

🛑 Breaking changes 🛑

  • dockerstatsreceiver: For V2 scraper implementation, change the defaults from emitting everything to a sensible set of defaults. (#9794, #14093) This is only breaking if you have explicitly enabled the featuregate receiver.dockerstats.useScraperV2.
  • dockerstatsreceiver: Change 'stats' config key to 'metrics'. (#9794, #14184) Note: this is only breaking for those who have explicitly enabled the featuregate receiver.dockerstatsd.useScraperV2.
  • iisreceiver: Emit metrics per-site and per-app-pool with new resource attributes. (#14448)
  • pkg/telemetryquerylanguage: Unexport BoolExpressionEvaluator, Literal, NewGetter, and NewFunctionCall. (#13737)
  • mongodbatlasreceiver: Retain actual raw log line as Body. The raw attribute is now removed. Use Body instead for the raw log line. (#14178)
  • mysqlreceiver: The metrics are now being emitted with a resource attribute marking the endpoint of the database. (#14138)
  • pkg/ottl: Rename ParseQueries to ParseStatements and rename Query to Statement. (#14444)
  • jaegerreceiver: Remove remote sampling endpoint from the Jaeger receiver (#6633)
  • oteltransformationlanguage: Renames ottldatapoints to ottldatapoints to better represent how the context is intended to be used. (#14384)
  • pkg/ottl: Renames Telemetry Query Language to OpenTelemetry Transformation Language to avoid confusion with an analysis language. (#14150)
  • pkg/ottl: Flattens ottlcommon and ottlotel into ottlfuncs. (#14386)
  • pkg/ottl: Replaced Logger with TelemetrySettings (#14389)

🚩 Deprecations 🚩

  • coralogixexporter: deprecating jaeger based tracing configuration in favour of OpenTelemetry protocol based one. (#7931) Please remove the endpoint field and use the new traces.endpoint field with your OpenTelemetry endpoint.
  • elasticsearchreceiver, hostmetricsreceiver, kubelestatsreceiver, memcachedreceiver, vcenterreceiver, zookeeperreceiver: Log message to announce direction attribute feature gate deprecation (#14129) The change to remove the direction attribute has been reverted in the specification. As a result, the following feature gates will be removed in v0.62.0:
    • receiver.elasticsearchreceiver.emitMetricsWithDirectionAttribute
    • receiver.elasticsearchreceiver.emitMetricsWithoutDirectionAttribute
    • receiver.hostmetricsreceiver.emitMetricsWithDirectionAttribute
    • receiver.hostmetricsreceiver.emitMetricsWithoutDirectionAttribute
    • receiver.kubelestatsreceiver.emitMetricsWithDirectionAttribute
    • receiver.kubelestatsreceiver.emitMetricsWithoutDirectionAttribute
    • receiver.memcachedreceiver.emitMetricsWithDirectionAttribute
    • receiver.memcachedreceiver.emitMetricsWithoutDirectionAttribute
    • receiver.vcenterreceiver.emitMetricsWithDirectionAttribute
    • receiver.vcenterreceiver.emitMetricsWithoutDirectionAttribute
    • receiver.zookeeperreceiver.emitMetricsWithDirectionAttribute
    • receiver.zookeeperreceiver.emitMetricsWithoutDirectionAttribute
  • extensions/headerssetter: Deprecate the extensions/headerssetter module, use extensions/headerssetterextenions instead. (#13774)

🚀 New components 🚀

  • s3mapprovider: A new implementation of ConfigMapProvider for Amazon S3 (s3mapprovider) allows OTEL Collector the ability to load configuration for itself by fetching and reading config files stored in Amazon S3. (#12939)

💡 Enhancements 💡

  • loki: Split the conversion OTLP -> Loki into its own package (#13649)
  • kafkareceiver: Add direct unmarshaler, inserting Kafka payload bytes as the body of a log record (#13252)
  • apachereceiver: The receiver now supports 6 more metrics, more information in the linked issue. (#14095)
  • datadogexporter: Add logs support (#2651)
  • datadogexporter: The "hostmetrics" receiver metrics are now correctly mapped to Datadog system metrics. (#14005)
  • fileexporter: support for compressing the telemetry data before exporting. (#13626)
  • fileexporter: support for encoding telemetry data using proto marshaler (#13626)
  • googlecloudspannerreceiver: Fixed errors when transaction-stats columns are NULL (#14189)
  • cumulativetodeltaprocessor: Reduce memory consumption of histograms in cumulativetodeltaprocessor by allocating only a single identity per datapoint. (#13751)
  • chronyreceiver: Improved chronyreceiver's context and timeout handling (#14131) Updated chronyreceiver to use net.Dialer.DialContext and respect timeouts more closely
  • filterspan: Add span kind filtering. (#13612)
  • mysqlreceiver: The receiver now scraper 16 new metrics related to io_waits. (#14138)
  • filelog, journald, syslog, tcplog, udplog, windowseventlog: Allow 'parse_to' fields to accept 'attributes' and 'resource' (#14089)
  • sentryexporter: Make sentry status more detailed - use HTTP and Grpc codes from tags (#13407)
  • routingprocessor: Add support for using OpenTelemetry Transformation Language (OTTL) expressions as routing conditions. (#13158)
  • transformprocessor: Add Split function, which separates a string by the delimiter and returns an array of substrings. (#11790)
  • pkg/winperfcounters: Add counter path to error if scraping fails (#14443)

🧰 Bug fixes 🧰

  • awsemfexporter: Fix regression that causes null dimensions to be appended during dimension roll up. (#14532)
  • k8sprocessor: check every association for eventual update (#13119)
  • sentryexporter: Omit empty parent span id (#13415)
  • pkg/ottl: Replace invalid comparison print statement with a debug log entry (#14467)
  • servicegraphprocessor: Fixed metric names to match the specification. (#14187)
  • hostmetricsreceiver: On Windows systems, do not fail to start if a performance counter is missing or inaccessible. (#14032)
  • loki: Fix converting log resources to loki labels for more than one log record. (#14288)
  • mongodbatlasreceiver: Fix timestamp parsing for mongodb 4.2 audit logs (#14168)
  • mongodbatlasreceiver: Add missing fields for audit logs (#14177)
  • mongodbatlasreceiver: Fix potential infinite loop when scraping audit logs (#14169)
  • otlpjsonfilereceiver: logs receive operations should use StartLogsOp/EndLogsOp (#14535)
  • pkg/translator/prometheus: do not normalize metric name with colon (#14135)

v0.60.0

🛑 Breaking changes 🛑

  • pkg/stanza: Change name of ParserConfig.Config to more specific ParserConfig.SeverityConfig (#14126)
  • pkg/stanza/adapter: Remove OperatorConfigs type, rename LogReceiverType.DecodeInputConfig to LogReceiverType.InputConfig. (#14078)
  • postgresqlreceiver: The receiver will now emit resource attributes via default. (#13811) old behavior can be established by setting the featuregates receiver.postgresql.emitMetricsWithResourceAttributes to false and receiver.postgresql.emitMetricsWithoutResourceAttributes to true

  • k8sattributesprocessor: Change the way how key_regex setting is handled. After this change, provided expressions are applied to the full length of attribute values. (#9716)

  • pkg/telemetryquerylanguage: Add ability to specify attribute keys in the limit function that aren't allowed to be dropped (#9734) This breaking change affects the transform processor since we don't have a way to default values in a function call.

🚩 Deprecations 🚩

  • exporter/influxdb: Change status to unmaintained (#14098)
  • receiver/influxdb: Change status to unmaintained (#14099)

🚀 New components 🚀

  • instanaexporter: Enable Instana exporter (#13395)
  • servicegraph: Add traces processor that builds a map representing the interrelationships between various services in a system (#9232)

💡 Enhancements 💡

  • elasticsearchreceiver: Add additional node metric for cache count (#14027)
  • pkg/telemetryquerylanguage: Add Concat, which allows concatenating an arbitrary number of strings with a delimiter (#12476)
  • processor/filter: Added ability to filter by metric type using expression MetricType keyword. (#14107)
  • elasticsearchreceiver: Add additional two cluster-level metrics (#13748) Add additional cluster metrics for elasticsearch.cluster.in_flight_fetch & elasticsearch.cluster.pending_tasks.

  • dockerstatsreceiver: Simplify BlockIO metrics by taking operation out of the metric name and putting it in an attribute. (#9794, #13445)

  • elasticsearchreceiver: Added node.fs.disk.{free,total} to elasticsearch receiver (#13571)

  • elasticsearchexporter: Support sending OpenTelemetry tracing data to Elasticsearch index or data stream. (#12069)

  • elasticsearchreceiver: Adds new method Version in the client request to get the elasticsearch version number (#14012)

  • fileexporter: Support for rotation of telemetry files (#13626)

  • processor/filer: Add support for ExponentialHistogram and Summary metrics (#14116)

  • receiver/k8scluster: Moving initialization of k8s client from receiver init to receiver start phase. (#12582)

  • lokiexporter: Overhaul of the Loki Exporter, in preparation for native OTLP support at Loki (#12873)

  • awskinesisexporter: Upgrading client to use v2 of the AWS SDK (#13898)

  • prometheusreceiver: Remove storing pointers to pdata points, allow removing unnecessary pdata points copy. (#13922)

  • sigv4authextension: Add more context to credential errors generated by the sigv4auth extension. (#14031)

  • tailsampling: Add support for all sampling policies in and & composite policy (#11505)

  • pkg/telemetryquerylanguage: Add a Logger interface and allow it to be specified as an argument type in TQL functions. (#9730)

  • telemetryquerylanguage: Adds inequality operators <, <=, >=, > to TQL. (#12491)

  • telemetryquerylanguage: Add the Int factory function. (#11810)

  • telemetryquerylanguage: Add split factory function to separate a string by the delimiter, and returns an array of substrings. (#11790)

  • processor/transform: Add Concat, which allows concatenating an arbitrary number of strings with a delimiter (#12476)

🧰 Bug fixes 🧰

  • hostmetricsreceiver: Set process metrics start time to process create time (#11447)
  • awsemfexporter: Properly handle empty dimension set in metric_declarations (#13766)
  • clickhouseexporter: cast FlagsStruct into uint32 in ExecContext to fix export failure (#13843)
  • k8sprocessor: fix the passthrough mode (#13765) Treating k8s.pod.ip resource attribute in special way, as it is added by passthrough mode
  • elasticsearchreceiver: Fix issue where elasticsearch.os.* metrics were not being collected (#13983)
  • elasticsearchreceiver: Fix issue where elasticsearch.node.script.* metrics were not being collected (#13983)
  • elasticsearchreceiver: Fix issue where elasticsearch.node.translog.* metrics were not being collected (#13983)
  • elasticsearchreceiver: Fix issue where elasticsearch.cluster_state.* metrics were not being collected (#13930)
  • elasticsearchreceiver: Fix issue where elasticsearch.node.shards.data_set.size emits 0 value for unsupported version (#14012)
  • elasticsearchreceiver: Fix elasticsearch.node.disk.io.read/write metrics from By to KiBy (#13815)
  • elasticsearchreceiver: Fix issue where elasticsearch.indexing_pressure.memory.limit emits 0 value for unsupported version (#14012)
  • elasticsearchreceiver: Fix issue where elasticsearch.cluster.state_update.time emits attributes pairs that don't exist (#13984)
  • awsxrayexporter: Fixes a bug in the logic for parsing CloudWatch Log Group ARNs (#13702)
  • loadbalancingexporter: Fixed the case in loadbalancingexporter where a DNS resolver is defined without an explicit Port. (#10321)
  • k8sattributesprocessor: k8sattributesprocessor now correctly adds attributes to new pods that start after the collector (#13619)
  • tailsamplingprocessor: Fixes SpanCount sampler not using the correct span count for decision. (#13865)
  • filelogreceiver: Fix issue for missing key_value_parser operator (#13631)
  • mongodbatlasreceiver: fix log parsing for clusters using major version 4.2 (#14008)
  • chronyreceiver: When trying to read from socket, the socket type was incorrect (#13862)
  • postgresqlreceiver: Uses the postgres databasename when retrieving database inventory information (#13641)
  • prometheusreceiver/prometheusremotewriteexporter: Leave the sum unset in histograms without sums, and don't produce _sum metric points for histograms without sums (#7546)
  • processor/redaction: Update redaction attributes in case if data sent through the processor more than once, not not ignore them. (#13854)
  • chloggen: changelog generation tool moved to https://github.com/open-telemetry/opentelemetry-go-build-tools (#14022)
  • exporter/AlibabaCloudLogServiceExporter: Fix issue that promethus occuring error when the resource metric labels contains dot (#3429)
  • exporter/tanzuobservabilityexporter: This change causes tanzuobservabilityexporter to depend on 0.10.4 of the wavefront-sdk-go library. (#13417)
  • transformprocessor: Fixes panic of transformprocessor handling Gauge types (#13905)
  • vcenterreceiver: Fix incorrect KBy and MBy units, updating them to KiBy and MiBy (#13935)

v0.59.0

🛑 Breaking changes 🛑

  • elasticsearchreceiver: Remove direction for metrics. The feature gate: receiver.elasticsearchreceiver.emitMetricsWithoutDirectionAttribute can be set to apply the following (#13258) (#12189)
    • elasticsearch metrics:
    • elasticsearch.node.cluster.io will become:
      • elasticsearch.node.cluster.io.received
      • elasticsearch.node.cluster.io.sent
  • kubeletstatsreceiver: Remove direction for metrics. The feature gate: receiver.kubeletstatsreceiver.emitMetricsWithoutDirectionAttribute can be set to apply the following (#12588) (#12164)
    • kubeletstats metrics:
    • k8s.node.network.io will become:
      • k8s.node.network.io.transmit
      • k8s.node.network.io.receive
    • k8s.node.network.errors will become:
      • k8s.node.network.errors.transmit
      • k8s.node.network.errors.receive
  • processor/metricstransform: Remove processor.metricstransformprocessor.UseOTLPDataModel feature flag. OpenCensus-based implementation is not available anymore. (#13405)
  • exporter/mezmoexporter: This change removes the hardcoded "otel" hostname that was embedded in outgoing logs data. (#13410) It is replaced by:

    1. Sending to a new collector endpoint that does not require the hostname parameter.

    2. Recognizing the "host.name" resource attribute and using that value to fill in log metadata recognized upstream.

    This is a breaking change, and as such will generate a startup error if the exporter is configured to send to an endpoint that does not support this feature.

  • filelog, journald, otlpjsonfile, syslog, tcplog, udplog, windowseventlog receivers: Remove helper.Duration struct. Configured time values no longer have a default unit of s (#13439)

  • pkg/stanza: Remove HostIdentifier, HostIdentifierConfig and associated functions (#13396)

  • filelog, journald, syslog, tcplog, udplog, and windowseventlog receivers: Fix a bug where original severity text was not preserved. (#13263)

  • pkg/stanza: Update function and struct names in keyvalue parser (#13418)

  • cmd/mdatagen: Remove old metadata generator (#13374)

🚩 Deprecations 🚩

  • jaegerreceiver: Add remote sampling deprecation warning (#6633)

🚀 New components 🚀

  • pulsarreceiver: Add Apache Pulsar receiver (#9796)
  • instanaexporter: Add Instana exporter implementation (#13395)
  • instanaexporter: Add initial structure of the Instana exporter (#13395)

💡 Enhancements 💡

  • loadbalancingexporter: Added interval and timeout to the dns configuration in the loadbalancer exporter (#10199)
  • pkg/telemetryquerylanguage: Add Join, which allows joining an arbitrary number of strings with a delimiter (#12476)
  • elasticsearchreceiver: Add additional metrics (#13115) Add additional metrics for indexing_pressure, published_states, state_queue, ingest, script.

  • hostmetricsreceiver: Add threads count metric (#12482)

  • aerospikereceiver: Add query_count and query_tracked metrics (#13255)

  • docsgen: use contrib components, add makefile target (#12639)

  • dockerstatsreceiver: Change relevant memory metrics from gauges to sums, so they are aligned with spec recommendations and can be aggregated. (#9794)

  • pkg/stanza/csv_parser: Add ignore_quotes option that ignores all quoting in fields if true. (#13656)

  • pkg/telemetryquerylanguage: Add TQL mappings for InstrumentationScope.attributes (#13639)

  • k8sattributesprocessor: Add support for discovering Kubernetes CronJob name (#141)

  • coreinternal: Move test utilities out of testbed into coreinternal, allow use of these lightweight helpers from other modules. (#5742)

  • kafkametricsreceiver: Migrate receiver to the new metrics builder (#7142) This allows users to disable particular metrics in through user settings.

  • mongodbatlasreceiver: Add logs retrieval capability (#12347)

  • mongodbreceiver: Enhance partial error handling with descriptive metric/attribute messages. (#13367)

  • filelog, journald, syslog, tcplog, udplog, windowseventlog receivers: Add ability to set log body when when parsing. (#10274)

  • filelog, journald, syslog, tcplog, udplog, windowseventlog receivers: Enhance error message when csv_parser finds unexpected number of fields (#13427)

  • filelog, journald, syslog, tcplog, udplog, windowseventlog receivers: Enable debugging operators stdout and file_output (#13394)

  • postgresqlreceiver: Adds background writer metrics (#13327) Adds the following metrics:

    • postgresql.bgwriter.buffers.allocated
    • postgresql.bgwriter.buffers.writes
    • postgresql.bgwriter.checkpoint.count
    • postgresql.bgwriter.duration
    • postgresql.bgwriter.maxwritten.count
  • postgresqlreceiver: Adds more metrics regarding database tables. (#13228) metrics added: postgresql.database.count postgresql.table.count postgresql.table.size postgresql.table.vacuum.count

  • postgresqlreceiver: Adds WAL and connections metrics (#13399) metrics added

    • postgresql.replication.data_delay
    • postgresql.wal.age
    • postgresql.wal.lag
    • postgresql.connection.max
  • prometheusreceiver: allow to query scrape jobs from OpenTelemetryOperators TargetAllocator (#7944)

  • prometheusremotewrite: Support customization of target_info metric including the ability to disable it (#12300)

  • prometheusexporter: Adds a feature to prometheusexporter that enables it to export exemplars along with histogram metrics. (#5192)

  • prometheusexporter: Use HTTPServerSettings in the exporter to leverage inbuilt TLS. (#10851)

  • receivercreator: adds the unique EndpointID to generated receiver componentID to prevent collisions (#12670)

  • spanmetricsprocessor: The unit of the latency metric is now explicitly defined. (#13423)

  • extension/storage/storagetest: Add in-memory and file-backed test extensions and clients (#13086)

  • telemetryquerylanguage: Avoid copying attributes when filtering on keys in the keep_keys TQL function (#4756)

  • prometheusreceiver: Remove temporary maps to dedup and remove unuseful labels (#13705)

🧰 Bug fixes 🧰

  • processor/metricstransform: Aggregate cumulative data points with different start time. (#12611)
  • expvarreceiver: Fixes an bug where the mSpanSys value was recorded into the mCacheSys metric. (#13171)
  • extension/filestorage: Allow putting the compaction temp folder on a different filesystem. (#13449)
  • prometheusremotewriteexporter: Handle the case with 0 metrics gracefully. (#10364)
  • prometheusreceiver: Fix num data point for metrics recorded in prometheusreceiver (#13705)
  • loadbalancingexporter: Fixed a crash if endpointFor is called before any endpoints have been discovered (#10110)
  • prometheusreceiver: Fix timestamp for histograms and summaries with no Sum (#13705)
  • exporter/sumologic: Mark the exporter as mutating. (#13647)
  • jaegerremotesampling: Mark as alpha (#13005)
  • mongodbreceiver: Adds metric versioning checks to prevent partial errors (#13155)
  • mongodbreceiver: Change lpu integration test to use a mongodb 4.4 (#12981)
  • pkg/translator/prometheus: do not normalize metric name with multiple underscore (#13322)
  • prometheusreceiver: Make the error returned when dropping summary metrics that collide with histograms clearer. (#12976)
  • prometheusremotewriteexporter: Don't emit the target_info metric when it would only contain job and instance (#12768)
  • receiver_creator: Correct observer instance reference by updating watch_observers use ComponentID instead of just Type (#12801)
  • vcenterreceiver: Re-establish sessions when running with particular TLS settings. (#13447)

v0.58.0

🛑 Breaking changes 🛑

🚩 Deprecations 🚩

  • dotnetdiagnosticsreceiver: Change status to unmaintained (#12757)

🚀 New components 🚀

  • azureblobreceiver: Add a new component azureblobreciver (#8834) Add a new component azureblobreceiver that reads logs and traces from Azure Blob Storage
  • azureeventhubreceiver: New component to receive logs from Azure Event Hubs (#12786)
  • headers_setter: Add support for setting exporter headers from the upstream requests context (#5733, #7945, #4814)

💡 Enhancements 💡

  • filterprocessor: Add ability to filter based on logs SeverityText and Body. (#9235)
  • aerospikereceiver: Support tls configuration. Add tls and tlsname config items. (#12770)
  • datadogexporter: Send host info when sending hostmetadata from datadogexporter (#12944)
  • jaegerremotesampling: extend jaegerremotesampling with remote sampling via gRPC (#6694)
  • filterprocessor: Add log filtering based on SeverityNumber (#12959)
  • hostmetricsreceiver: Add new resource attribute process.parent_pid. The value of the attribute is the parent PID (#12290)
  • k8sattributesprocessor: Add support for discovering Kubernetes DaemonSet name and DaemonSet UID" (#141)
  • k8sattributesprocessor: Add support for discovering Kubernetes Job name and Job UID" (#141)
  • k8sattributesprocessor: Add support for discovering Kubernetes ReplicaSet name and ReplicaSet UID (#141)
  • k8sattributesprocessor: Add support for discovering Kubernetes StatefulSet name and StatefulSet UID" (#141)
  • loadbalancingexporter: Exporting trace pipelines based on Service name to avoid duplicate label svc + operation in collector hosts. (#12652)
  • lokiexporter: Don't retry on 4xx responses (excluding 429) from loki (#12930)
  • observers: Adds multiple observer.Notify subscriber support to observer.EndpointWatcher for multiple Endpoint event consumers. (#10830, #11541, #11544)
  • filelogreceiver: Process batches consecutively, rather than one per poll interval (#10285)
  • postgresqlreceiver: Client refactor to eventually support resource attributes. (#13087)
  • postgresqlreceiver: Adds Index Resource Attribute and Metrics Collection. (#13167) This enhancement will only be enabled with the receiver.postgresql.emitMetricsWithResourceAttributes feature gate being enabled.
  • pkg/translator/signalfx: report Histogram min/max when present, do not report sum when not present (#13153)
  • sigv4authextension: Added separate region for STS for cross region auth (#12736)
  • solacereceiver: Adds topic destination as a new attribute to receiver's spans (#12640)
  • pkg/telemetryquerylanguage: Add Getter slices to the TQL parser, allowing them to be specified as function parameters. (#12476)

🧰 Bug fixes 🧰

  • aerospikereceiver: Fix crash when connecting to an Aerospike server with authentication using a config with collect_cluster_metrics == false and no username or password. (#12979)
  • apachereceiver: Fix some partial errors not being correctly reported (#13133)
  • couchdbreceiver: Fix some partial errors not being correctly reported (#13007)
  • signalfxreceiver: log attempts to divide by zero at the debug level (#12969)
  • mongodbreceiver: Fix partial scraper errors not being reported (#13108)
  • mysqlreceiver: Fix some partial errors not being correctly reported (#13009)
  • tailsamplingprocessor: Fixing null pointer exception for span count sampling strategy. (#12745)

v0.57.2

🛑 Breaking changes 🛑

  • healthcheckextension: Remove deprecated port field from config. (#12668)
  • processor/cumulativetodelta: Removes the deprecated metrics config option. Use include/exclude instead. (#12732)
  • lokiexporter: Deprecate the format option (#12897)
  • metricstransformprocessor: Remove deprecated metric_name settings option (#12737)
  • pkg/stanza/fileconsumer: Unexport several fields that are meant for internal usage only (#12793)
  • pkg/stanza/fileconsumer: Rename fileconsumer.Input to fileconsumer.Manager (#12876)
  • prometheusremotewriteexporter: Export target_info not target for resource attributes (#12079)
  • pkg/translator/signalfx: Remove no longer necessary prom compatible configuration from FromTranslator (#12671)
  • signalfxexporter: Remove no longer necessary feature gate for prom compatible metrics (#12671)
  • zookeeperreceiver: Remove direction for metrics. The feature gate: receiver.zookeeperreceiver.emitMetricsWithoutDirectionAttribute can be set to apply the following (#12772) (#12184)
    • zookeeper metrics:
    • zookeeper.packet.count will become:
      • zookeeper.packet.received.count
      • zookeeper.packet.sent.count

🚀 New components 🚀

  • chronyreceiver: This will add in support for measuring tracking data from chronyd (#11789)

💡 Enhancements 💡

  • datadogexporter: Add host metadata tags to metrics on serverless environments (#12486)
  • observer: Add observer.Endpoint.ID to Env() (#12751)
  • aerospikereceiver: Scrape nodes in parallel when in collect_cluster_metrics mode. (#11563)
  • coralogixexporter: Add logs client to coralogixexporter (#12601)
  • awscontainerinsightreceiver: Pod Detection changes to support Containerd runtime in K8s (#12638)
  • dockerstatsreceiver: Enable a featuregate for the new implementation of scrape. Change the units in the new implementation to align to semantic convention. (#9794) This allows the new implementation of scrape to be used via a featuregate. It also updates the tests, which now test for expected descriptions and units in the new implementation.

  • healthcheckextension: Use confighttp.HTTPServerSettings to allow tls and auth. (#12668)

  • demo: Add connection time out for client in examples/demo/client (#12431)

  • prometheusexporter: Export target_info metrics with the resource attributes. (#8265)

  • resourcedetectionprocessor: update Azure resource detector to save "name" from Azure metadata API in azure.vm.name attribute (#12779)

  • pkg/telemetryquerylanguage: Adds standard contexts to the module that should be used when interacting with OTLP traces, metrics, and logs. (#12589)

  • pkg/telemetryquerylanguage: Adds a set of otel functions to the telemetryquerylanguage module. (#12754)

  • pkg/telemetryquerylanguage: Adds a set of common functions to the telemetryquerylanguage module. (#12739)

  • cumulativetodeltaprocessor: Cumulative Histogram metrics will now be converted to delta temporality and are no longer skipped. (#12423) This means that consumers who currently rely on Histograms being skipped would need to ensure they are excluded via config.

  • dockerstatsreceiver: Initial PR for onboarding dockerstats onto mdatagen scraping. (#9794) Additionally appends the internal docker client to allow options (bug fix).

  • mongodbreceiver: Enhance mongodbreceiver by adding new metrics (#12672)

  • chronyreceiver: Added internal chrony client (#11789) -| Added an internal client for the receiver with modifications of the upstream client to fit the collector

  • receivercreator: add per-receiver resource_attribute and validate endpoint type keys on global (#11766)

  • pkg/translator/signalfx: Optimize ToMetrics to emit datapoints under the same metric when same name and type. (#12902)

  • sqlqueryreceiver: Add static_attributes optional configuration to allow adding attributes/tags to queried metrics. (#11868)

🧰 Bug fixes 🧰

  • spanmetricsprocessor: Fix panic caused by race condition when accessing span attributes. (#12644)
  • awsxrayexporter: Stop dropping exception in aws xray events for non error codes (#12643)
  • signalfxexporter: use azure.vm.name instead of host.name to build azure resource id (#12779)
  • receiver/hostmetrics: Do not throw scraping errors if conntrack metrics collection is disabled (#12799)
  • kubeletstatsreceiver: Fetch metadata from initContainers (#12887)
  • metricstransformprocessor: Fix logic in merging exponential histogram. (#12865)
  • resourcedetectionprocessor: Add back host.name attribute when running on GKE (#12354)
  • filelogreceiver: Fix issue where checkpoints could be ignored if start_atwas set toend`` (#12769)
  • pkg/stanza: Stop readerFactory from returning an error when creating an unsafeReader (#12766) This bug caused the filelog receiver to crash when the collector was restarted and the logs were being read from the end of the file
  • prometheusreceiver: Fix handling of timestamps to prevent reset when a new datapoint is recorded (#12746)
  • exporter/prometheusremotewrite: Fix a panic when a histogram does not have any buckets (#12777)
  • signalfxexporter: fix invalid response error message (#12654)
  • skywalkingreceiver: Add extra link attributes from skywalking ref. (#12651)
  • spanmetricsprocessor: Modifies spanmetrics processor to handle negative durations without crashing. Related to open-telemetry/opentelemetry-js-contrib#1013 (#7250) Sets negative durations to count towards the smallest histogram bucket.
  • splunkhecexporter: use proper config flags to configure content length of gzip buffers for metrics and traces (#12906)

v0.57.1

This version has been skipped.

v0.57.0

This version has been skipped.

v0.56.0

🛑 Breaking changes 🛑

🚩 Deprecations 🚩

  • hostmetricsreceiver: Remove direction for disk metrics. The feature gate: receiver.hostmetricsreceiver.emitMetricsWithoutDirectionAttribute can be set to apply the following (#11849) (#11816)
    • disk scraper metrics:
    • system.disk.io will become:
      • system.disk.io.read
      • system.disk.io.write
    • system.disk.operations will become:
      • system.disk.operations.read
      • system.disk.operations.write
    • system.disk.operation_time will become:
      • system.disk.operation_time.read
      • system.disk.operation_time.write
    • system.disk.merged will become:
      • system.disk.merged.read
      • system.disk.merged.write

🚀 New components 🚀

  • telemetryquerylanguage: Expose the telemetry query language as a package. (#11751)
  • chronyreceiver: -| This component is a pure go implementation for capturing data from chrony (#11789)
  • otlpjsonfilereceiver: Add a new file receiver reading JSON-encoded OTLP data, after serialization specification (#10836)
  • pulsarexporter: Add Apache Pulsar exporter (#9795)
  • solacereceiver: Add Solace receiver to receive trace data from a Solace PubSub+ Event Broker. (#10572)

💡 Enhancements 💡

  • tanzuobservabilityexporter: Improve algorithm to translate OTEL delta exponential histograms into tanzu observability histograms (#12173)
  • internal/scrapertest: Add sortation functions for scrapertest (#10837)
  • elasticsearchreceiver: Add additional metrics (#12176) Add additional metrics for circuit breakers, disk IO r/w, translog, and CPU load.

  • supported platforms: Add linux-ppc64le architecture to cross build tests in CI (#12350)

  • dockerobserver: incorporate observer.EndpointsWatcher in preparation of multiple event subscribers and use existing internal event loop watcher (#10830, #11541)

  • hostmetrics: Adding connection tracking count and max metrics for linux (#11769)

  • hostmetricsreceiver: New config setting scrape_process_delay is used to indicate the minimum amount of time a process must be running before process metrics can be scraped for it. The default value is 0 seconds ("0s"). (#8976)

  • transformprocessor: Add ability to interact with enums via sybmols. (#10349)

  • telemetryquerylanguage: Adds to the grammar the ability to interpret Enums. (#11751)

  • transformprocessor: Update the transform processor to use the Telemetry Query Language package (#11751)

  • transformprocessor: Add delete_key and delete_matching_keys which allow deleting keys from maps. (#11823)

  • receiver/jaeger: Handle spans with own process (#10186)

  • k8sobserver: incorporate observer.EndpointsWatcher in preparation for multiple event subscribers (#10830, #11544)

  • exporter/loki: Handle multi-tenant use-cases (#3121)

  • metricstransformprocessor: Do not produce empty metrics (#12210)

  • schemaprocessor: renaming some internal packages to help improve maintainability (#8495)

  • groupbytrace: Promote groupbytrace to beta (#12169)

  • redisreceiver: Add redis.version resource attribute. (#12139)

  • podmanreceiver: Fetch containers stats one by one and add container image as metric attribute (#9013)

  • all: Components now report their stability level. (#12104)

  • sqlqueryreceiver: Add Oracle DB Support (#12137)

  • sqlserverreceiver: Added tests to validate counter names and a scraper test. (#9374)

  • templatequerylanguage: TQL grammar now supports complex where expressions with and, or and parentheses (#10195)

  • transformprocessor: Add .string accessor to get hex string for trace_id and span_id (#11555)

  • pkg/translator/jaeger: Handle spans with own process (#10186)

🧰 Bug fixes 🧰

  • cmd/chloggen: Compare changelog to common ancestor with main (#12149)
  • logstransformprocessor: Remove support for storage (#12424)
  • elasticsearchreceiver: Remove unused disk_usage_state attribute from documentation (#12429)
  • filterlog: change OR to AND logic for filtering logs - as desribed, and as is done for span filtering (#11439)
  • lokiexporter: Wrap quotes around log message (#11827)
  • tooling: Fix a bug in the makefile causing make rpm-package to fail (#12162)
  • prometheusexporter: Fix cumulative condition for the delta-to-cumulative (#4153)
  • xrayreceiver: Ensure that the UDP Poller ends the obsreport span it creates with every loop. (#12299) This avoids a memory leak that can happen when spans are created to track received segments but never ended.
  • googlecloudexporter: Various bug fixes in parsing OTel logs to GCP LogEntries (#12157)
  • datadogexporter: Fix logs related to the source provider. (#12160)
  • pkg/stanza/fileconsumer: Fix issue where reader could become stuck on newlines (#10125, #10127, #10128)
  • receivercreator: dynamically created receivers log with their name field (#16481)
  • skywalkingreceiver: Fix skywalking traceid and spanid convertion (#11562)
  • spanmetricsprocessor: Fixes the number of explicit bucket counts by removing the manually added "catch-all" bucket. (#11784)
  • spanmetricsprocessor: Fix concurrency bug causing premature key eviction. (#9018)
  • spanmetricsprocessor: Removes a comment that is no longer relevant due to a fix. (#12427)
  • sqlqueryreceiver: Metrics did not contain a timestamp. Timestamps are required for a variety of backends, especially prometheus. In order to work with prometheus we must set the metrics timestamp because metrics with the default timestamp (year 1970) will be dropped by prometheus backends. (#12088)
  • statsdreceiver: Fixing parsing issue for values on statsd receiver (#12120)
  • vcenterreceiver: Fixes calculation of vcenter.vm.disk.utilization. (#12342)

v0.55.0

🛑 Breaking changes 🛑

  • datadogexporter: Remove Sanitize method from Config struct. (#8373)
  • datadogexporter: (Under exporter.datadog.hostname.preview feature gate) Remove docker hostname detector (#11834)
  • k8sclusterreceiver: The receiver.k8sclusterreceiver.reportCpuMetricsAsDouble feature gate has been removed (#10838)

    • If users were disabling this feature gate, they may have to update monitoring for a few Kubernetes cpu metrics. For more details see feature-gate-configurations.
  • prometheusexporter: Automatically rename metrics with units to follow Prometheus naming convention (#8950)

🚩 Deprecations 🚩

  • datadogexporter: Deprecate config package in favor of structs on the datadogexporter package. (#8373)
  • k8sattributesprocessor: Announcing pod_association rules will be deprecated. Use pod_association.sources rules instead. This is in order to support metadata enrichment based on multiple attributes. (#4309)
  • hostmetricsreceiver: Remove direction for network, paging and process metrics. The feature gates receiver.hostmetricsreceiver.emitMetricsWithoutDirectionAttribute and receiver.hostmetricsreceiver.emitMetricsWithDirectionAttribute can be used to control the transition (#11815)

    • system.network.dropped will become:
      • system.network.dropped.receive
      • system.network.dropped.transmit
    • system.network.errors will become:
      • system.network.errors.receive
      • system.network.errors.transmit
    • system.network.io will become:
      • system.network.io.receive
      • system.network.io.transmit
    • system.network.packets will become:
      • system.network.packets.receive
      • system.network.packets.transmit
    • system.paging.operations will become:
      • system.paging.operations.page_in
      • system.paging.operations.page_out
    • process.disk.io will become:
      • process.disk.io.read
      • process.disk.io.write
  • logzioexporter: Announcing custom_endpoint, drain_interval, queue_capacity, queue_max_length configuration options will be deprecated in upcoming releases (#10821)

  • simpleprometheusreceiver: Announcing tls_enable, tls_config will be deprecated and use confighttp.HTTPClientSettings instead. (#11553)

🚀 New components 🚀

  • sqlqueryreceiver: Enable the component (#11848)

💡 Enhancements 💡

  • cmd/chloggen: Update CI process to validate new changelog strategy (#11841)
  • cmd/chloggen: Add new tool for conflict-free CHANGELOG.md management (#11539)
  • coralogixexporter: Add support for metrics (#11065)
  • coreinternal/attraction: Supports pattern for delete and hash attractions (#11886)
  • filterprocessor: Add ability to filter Spans (#6341)
  • flinkmetricsreceiver: Add attribute values to metadata (#11520)
  • k8sattributesprocessor: do not ignore hostNetwork pods for enrichment based on non IP attribute (#12073)
  • logzioexporter: Add support for logs pipeline and support for exporterhelper (#10821)
  • pkg/stanza: Export pkg/stanza/fileconsumer package (#11844)
  • prometheusreceiver: Add target_info labels to resource attributes (#11034)
  • redisreceiver: Add more metrics, redis.maxmemory, redis.role, redis.cmd.calls redis.cmd.usec (#11090)
  • sapmexporter: Add config option to log responses from Splunk APM (#11425)
  • splunkhecexporter: Update limits for max_content_length settings (#11550)
  • sqlqueryreceiver: Add core functionality (#10867)
  • tracegen: Add additional resource attributes (#11145)
  • transformprocessor: Add IsMatch factory function. This function allows regex matching in conditions. (#10903)
  • transformprocessor: replace_patternandreplace_all_patterns` use regex for pattern matching and replacing text in attributes/metrics (#11125)

🧰 Bug fixes 🧰

  • aerospikereceiver: Fix issue where namespaces would not be collected (#11465)
  • aerospikereceiver: Fix typo in metric name. Ensure namespace transactions are collected (#12085) (#12083)
  • coralogixexporter: Fix metrics bearer token (#11831)
  • datadogexporter: (Under exporter.datadog.hostname.preview feature gate) Make the hostname reported on GKE match the Datadog GCP integration hostname. (#11893)
  • datadogexporter: The traces.span_name_remappings setting now correctly refers to the OpenTelemetry key to be renamed without any sort of normalization. (#9693)
  • datadogexporter: Unify traces exporter behavior with Datadog Agent OTLP traces ingest. (#9693)
  • filelogreceiver: Read log lines from lost files first in a poll cycle (#12084)
  • filestorageextension: Copy values returned by Get (#11776)
  • cmd/chloggen: Fix problem where 'new' command would fail when branch name contained '/' (#11887)
  • kafkaexporter: Fixed config.Topic mutation causing Logs|Metrics|Traces to default to 1 topic (#11420)
  • mongodbreceiver: do not ignore TLS Settings in mongodbreceiver (#12092)
  • prometheusexporter: Expose the same metric from different targets correctly (#4986)
  • redactionprocessor: Respect allow_all_keys configuration (#11542)
  • saphanareceiver: Fix component memory query, add better error handling (#11507)
  • sapmreceiver: Fix issue where component instance use in multiple pipelines leads to start failures (#11518)
  • signalfxreceiver: Fix issue where component instance use in multiple pipelines leads to start failures (#11513)
  • splunkhecreceiver: Fix issue where component instance use in multiple pipelines leads to start failures (#11517)

v0.54.0

🛑 Breaking changes 🛑

  • transformprocessor: metric.is_monotonic is now accessed via a bool literal instead of a string. (#10473)
  • vcenterreceiver: Changed the attribute effective on vcenter.cluster.host.count as it will now be reported as a bool rather than a string (#10914)

🚩 Deprecations 🚩

  • datadogexporter: Deprecate instrumentation_library_metadata_as_tags (#11135)
  • datadogexporter: Deprecate Sanitize method of Config struct (#8829)
  • observiqexporter: Deprecate the observiq exporter (#10977)
  • honeycombexporter: Deprecate honeycomb exporter (#10318)

🚀 New components 🚀

  • expvarreceiver: Include expvarreceiver in components (#10847)
  • googlemanagedprometheusexporter Add the Google Managed Service for Prometheus exporter. (#10840)
  • googlemanagedprometheusexporter The Google Managed Service for Prometheus exporter is alpha. (#10925)

💡 Enhancements 💡

  • tailsamplingprocessor: Add trace_state policy (#10852)
  • mongodbatlasreceiver Add support for receiving alerts (#10854)
  • cmd/mdatagen: Allow attribute values of any types (#9245)
  • metricstransformprocessor: Migrate the processor from OC to pdata (#10817)
    • This behavior can be reverted by disabling the processor.metricstransformprocessor.UseOTLPDataModel feature gate.
  • transformprocessor: Add byte slice literal to the grammar. Add new SpanID and TraceID functions that take a byte slice and return a Span/Trace ID. (#10487)
  • transformprocessor: Add Summary transform functions. (#11041)
  • transformprocessor: Add nil literal to the grammar. (#11150)
  • elasticsearchreceiver: Add integration test for elasticsearch receiver (#10165)
  • tailsamplingprocessor: New sampler added that allows to sample based on minimum number of spans
  • datadogexporter: Some config validation and unmarshaling steps are now done on Validate and Unmarshal instead of Sanitize (#8829)
  • datadogexporter: Add exporter.datadog.hostname.preview feature flag and related warnings (#10926)
  • datadogexporter: Add instrumentation_scope_metadata_as_tags instead of instrumentation_library_metadata_as_tags in favor of https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v0.15.0 (#11135)
  • examples: Add an example for scraping Couchbase metrics (#10894)
  • filestorageextension: Add background compaction capability (#9327)
  • googlecloudpubsubreceiver: Added new Endpoint and Insecure connection configuration options. (#10845)
  • dynatraceexporter: Provide better estimated summaries for partial histograms. (#11044)
  • mongodbreceiver: Add integration test for mongodb receiver (#10864)
  • mezmoexporter: add logging for HTTP errors (#10875)
  • googlecloudexporter: Support writing to multiple GCP projects by setting the gcp.project.id resource attribute, and support service account impersonation (#11051)
  • k8sattributeprocessor: Add debug logs to help identify missing attributes (#11060)
  • jmxreceiver: Add latest releases of jmx metrics gatherer & wildfly jar to supported jars hash list (#11134)
  • rabbitmqreceiver: Add integration test for rabbitmq receiver (#10865)
  • transformprocessor: Allow using trace_state with key-value struct (#11029)

🧰 Bug fixes 🧰

  • kubletetstatsreceiver: Bring back k8s.container.name attribute (#10848)
  • transformprocessor: Fix issue where some metric fields were not working correctly in conditions. (#10473)
  • transformprocessor: Fix issue where some trace fields were not working correctly in conditions. (#10471)
  • transformprocessor: Fix issue where some log fields were not working correctly in conditions. (#10903)
  • pkg/stanza: Skip building fingerprint in case of configuration change (#10485)
  • windowseventlogreceiver: Fixed example config in readme (#10971)
  • pkg/stanza: Fix access to atomic variable without using atomic package (#11023)
  • exporter/awsemfexporter:: Fix dead links in README.md. (#11027)
  • googlecloudexporter: Fix (self-obs) point_count metric calculation, concurrent map write panic, and dropped log attributes (#11051)
  • signalfxexporter: Event Type is a required field, if not set, set it to unknown to prevent signalfx ingest from dropping it (#11121)
  • prometheusreceiver: validate that combined metric points (e.g. histograms) have the same timestamp (#9385)
  • splunkhecexporter: Fix flaky test when exporting traces (#11418)
  • mongodbatlasexporter: Fix mongodbatlas.system.memory.usage.max not being reported (#11126)
  • receiver/awsxrayreceiver: Fix null span exception fields causing null pointer exception (#11431)
  • pkg/stanza: use ObservedTimestamp to decide if flush log for recombine operator (#11433)

v0.53.0

🛑 Breaking changes 🛑

  • jmxreceiver: Remove properties & groovyscript parameters from JMX Receiver. Add ResourceAttributes & LogLevel parameter to supply some of the removed functionality with reduced attack surface (#9685)
  • resourcedetectionprocessor: 'gke' and 'gce' resource detectors are replaced with a single 'gcp' detector (#10347)
  • pkg/stanza: Removed reference to deprecated ClusterName (#10426)
  • couchbasereceiver: Fully removed unimplemented Couchbase receiver (#10482)
  • hostmetricsreciever: Fix Load Scraper to normalize 1m, 5m, and 15m averages independently (#8267)

🚀 New components 🚀

  • flinkmetricsreceiver: Add implementation of Flink Metric Receiver (#10121)
  • windowseventlogreceiver Added implementation of Windows Event Log Receiver (#9228)
  • vcenterreceiver: Add metrics receiver for new vcenterreceiver component (#9224)
  • googlecloudpubsubreceiver Activate the Google Cloud Pubsub receiver. (#10580)
  • googlecloudpubsubexporter Activate the Google Cloud Pubsub exporter. (#10580)
  • aerospikereceiver: Add implementation of Aerospike Metric Receiver. (#9961)

💡 Enhancements 💡

  • awsemfexporter: Add min and max support for histograms (#10577)
  • tailsamplingprocessor: Add support for string invert matching to and policy (#9553)
  • mezemoexporter: Add user agent string to outgoing HTTP requests (#10470)
  • prometheusreceiver: Improve performance of metrics builder (#10546)
  • transformprocessor: Add functions for conversion of scalar metric types (gauge_to_sum and sum_to_gauge) (#10255)
  • dynatraceexporter: Use min and max when provided in a data point for histograms (#10815)
  • dynatraceexporter: Truncate unmarshalable responses to avoid long log lines (#10568)
  • scrapertest: Add IgnoreResourceAttributeValue option to metric comparison (#10828)

🧰 Bug fixes 🧰

  • transformprocessor: Fix issue where incorrect error was returned if a bad path was passed to a function (#10141)
  • tanzuobservabilityexporter: Improve how negative values in exponential histograms are handled. (#10135)
  • dynatraceexporter: Ensure min is always less than or equal to mean and max is always greater or equal to mean for histogram estimation. (#10257)
  • resourcedetectionprocessor: GCP resource detector now properly detects zone/region on GKE (#10347)
  • resourcedetectionprocessor: GCP resource detector no longer fails to detect resource when using workload identity (#10486)
  • tailsamplingprocessor: Fix composite sampler with inverse policy
  • awsprometheusremotewriteexporter: Fix signing of empty request bodies. (#10578)
  • sigv4authextension: Fix signing of empty request bodies. (#10578)
  • prometheusexporter: Converting monotonic Delta to Cumulative sums (#9919)
  • statsdreceiver: Update the lastIntervalTime for Counter metrics (#9919)
  • resourcedetectionprocessor: GCP resource detector now correctly detects region on Google App Engine standard (#10814)
  • apachereceiver: Update units to follow semconv (#10587)

v0.52.0

🛑 Breaking changes 🛑

  • jmxreceiver: Hash the jars provided to JMX Receiver and only allow if they match an approved list (#9687)
  • jmxreceiver: Remove properties & groovyscript parameters from JMX Receiver. Add ResourceAttributes & LogLevel parameter to supply some of the removed functionality with reduced attack surface (#9685)

🚀 New components 🚀

  • aerospikereceiver: Add implementation of Aerospike Metrics Receiver (#9961)
  • bigipreceiver: Add implementation of F5 Big-IP Metric Receiver (#9680)
  • expvarreceiver: Initial work for a receiver designed to scrape memstats from Golang applications. (#9747)
  • mezmoexporter: Add implementation of Mezmo Log exporter (#9743)
  • nsxtreceiver: Added implementation of NSX-T Metric Receiver (#9568)
  • expvarreceiver: Add implementation of new receiver. (#10183)
  • telemetrygen: Started implementing an upgraded version of tracegen generating traces and metrics (#9597)

💡 Enhancements 💡

  • transformprocessor: Add transformation of metrics (#10100)
  • transformprocessor: Include transform processor in components (#10134)
  • kubeletstatsreceiver: Update receiver to use new Metrics Builder. All emitted metrics remain the same. (#9744)
  • transformprocessor: Add new replace_match and replace_all_matches functions (#10132)
  • resourcedetectionprocessor: Add "cname" and "lookup" hostname sources
  • jmxreceiver: Communicate with JMX metrics gatherer subprocess via properties file (#9685)
  • pkg/stanza: make multiline tests more like integration tests #10353

🧰 Bug fixes 🧰

  • datadogexporter: add error checks for datadog exporter (#9964)
  • datadogexporter: Fix host aliases not being properly sent to the Datadog backend (#9748)
  • groupbyattrsprocessor: copied aggregationtemporality when grouping metrics. (#9088)
  • jaeger: Update OTLP-Jaeger translation of span events according to the OTel Spec: use event log field instead of message to represent OTel Span Event Name (#10273)
  • mongodbreceiver: Fix issue where receiver startup could hang (#10111)
  • transformprocessor: Fix issue where metric.aggregation_temporality and metric.is_monotic were not actually gettable or settable (#10197)
  • signalfxexporter: Emit prometheus compatible histogram/summary to signalfx #10299
    • This behavior can be reverted using the exporter.signalfxexporter.PrometheusCompatible featuregate.
  • podmanreceiver: Container Stats Error structure (#9397)
  • pkg/stanza: pipeline.Operators() will return a consistently ordered list of operators whenever possible (#9761)
  • tanzuobservabilityexporter: add error checks for tanzuobservability exporter (#10188)

v0.51.0

🛑 Breaking changes 🛑

🚩 Deprecations 🚩

  • exporter/azuremonitor: Deprecate use of LogRecord.Name as the log envelope category name. There is no replacement. (#9258)
  • processor/k8sattributes: Deprecate use of k8s.cluster.name metadata parameter (obsolete) (#9968)

🚀 New components 🚀

  • schemaprocessor: Starting the initial work to allow from translating from semantic convention to another (#8371)
  • saphanareceiver: Added implementation of SAP HANA Metric Receiver (#8827)
  • logstransformprocessor: Add implementation of Logs Transform Processor (#9335)

💡 Enhancements 💡

  • cmd/mdatagen: Replace enum attributes values with typed constants (#9683)
  • elasticsearchreceiver: Update metrics scope name from otelcol/elasticsearch to otelcol/elasticsearchreceiver (#9757)
  • k8sclusterreceiver: Validate that k8s API supports a resource before setting up a watcher for it (#9523)
  • internal/stanza: Add support for remove operator (#9524)
  • k8sattributesprocessor: Support regex capture groups in tag_name (#9525)
  • mongoreceiver: Update metrics scope name from otelcol/mongodb to otelcol/mongodbreceiver (#9759)
  • transformprocessor: Add new truncation function to allow truncating string values in maps such as attributes or resource.attributes (#9546)
  • datadogexporter: Add api.fail_on_invalid_key to fail fast if api key is invalid (#9426)
  • transformprocessor: Add support for functions to validate parameters (#9563)
  • googlecloudexporter: Add GCP cloud logging exporter (#9679)
  • transformprocessor: Add new limit function to allow limiting the number of items in a map, such as the number of attributes in attributes or resource.attributes (#9552)
  • processor/attributes: Support attributes set by server authenticator (#9420)
  • datadogexporter: Experimental support for Exponential Histograms with delta aggregation temporality (#8350)
  • prometheusreceiver: Support OpenMetrics Info and Stateset metrics (#9378)

🧰 Bug fixes 🧰

  • k8sclusterreceiver: Fix the receiver to work with 1.19 and 1.20 k8s API versions (#9523)
  • azuremonitorexporter: Fix log exporter bug related to incorrectly mapping SpanId (#9579)
  • mysqlreceiver: Fix attribute values mismatch with its definition (#9688)
  • opencensusreceiver: Do not report fatal error if err is server closed (#9559).
  • sqlserverreceiver: Fix the receiver to have integer types on metrics where applicable (#9601)
  • prometheusreceiver: Fix the memory issue introduced in the 0.49.0 release (#9718)
  • couchdbreceiver: Fix issue where the receiver would not respect custom metric settings (#9598)
  • nginxreceiver: Include nginxreceiver in components (#9572)
  • pkg/translator/prometheusremotewrite: Fix data race when used with other exporters (#9736)
  • examples/demo: fix baggage not work in trace demo app. (#9418)
  • prometheusreceiver: Handle the condition where up metric value is NaN (#9253)
  • tanzuobservabilityexporter: Make metrics stanza in config be optional (#9098)
  • filelogreceiver: Update Kubernetes examples to fix native OTel logs collection issue where 0 length logs cause errors (#9754)
  • logstransformprocessor: Resolve node ordering to fix intermittent failures (#9761)
  • awsinsightreceiver: Migrate from ConfigMapsResourceLock to ConfigMapsLeasesResourceLock as per https://github.com/kubernetes/client-go/commit/276ea3ed979947d7cdd4b3d708862245ddcd8883 (#9885)
  • filelog, journald, syslog, tcplog, udplog: Add support for []string type for converting log record entries (#9887)

v0.50.0

🛑 Breaking changes 🛑

  • stackdriverexporter: Remove the stackdriver exporter in favor of the identical googlecloud exporter (#9274)
  • filelog, journald, syslog, tcplog, udplog: Remove preserve_to field from sub-parsers (#9331)
  • kafkametricsreceiver: instrumentation name updated from otelcol/kafkametrics to otelcol/kafkametricsreceiver (#9406)
  • kubeletstatsreceiver: instrumentation name updated from kubeletstats to otelcol/kubeletstatsreceiver (#9400)
  • datadogexporter: Remove GetHostTags method from TagsConfig struct (#9423)
  • googlecloudexporter: Graduate the exporter.googlecloud.OTLPDirect feature-gate to Beta. This includes changes to the configuration structure, and many changes to default behavior. (#9471)

🚩 Deprecations 🚩

  • cumulativetodeltaprocessor: Deprecated metrics configuration option in favor of include and exclude (#8952)
  • datadogexporter: Deprecate metrics::report_quantiles in favor of metrics::summaries::mode (#8846)
  • datadogexporter: Deprecate traces.sample_rate setting. It was never used anywhere. (#9771)

🚀 New components 🚀

  • iisreceiver: Add implementation of IIS Metric Receiver (#8832)
  • sqlserverreceiver: Add implementation of SQL Server Metric Receiver (#8398)
  • activedirectorydsreceiver: Add implementation of Active Directory Domain Services metric receiver (#9359)
  • sqlqueryreceiver: Add readme, factory, and config to initial implementation of SQL receiver (#9408)

💡 Enhancements 💡

  • pkg/translator/prometheusremotewrite: Allow to disable sanitize metric labels (#8270)
  • basicauthextension: Implement configauth.ClientAuthenticator so that the extension can also be used as HTTP client basic authenticator.(#8847)
  • azuremonitorexporter, lokiexporter, observiqexporter: Update timestamp processing logic (#9130)
  • cumulativetodeltaprocessor: add new include/exclude configuration options with regex support (#8952)
  • datadogexporter: Update deprecation messages to reflect new deprecation plan (#9422)
  • cmd/mdatagen: Update generated functions to have simple parse function to handle string parsing consistently and limit code duplication across receivers (#7574)
  • attributesprocessor: Support filter by severity (#9132)
  • transformprocessor: Add transformation of logs (#9368)
  • datadogexporter: Add metrics::summaries::mode to specify export mode for summaries (#8846)
  • prometheusreceiver: Add resource attributes for kubernetes resource discovery labels (#9416)

🧰 Bug fixes 🧰

  • fluentforwardreceiver: Release port on shutdown (#9111)
  • prometheusexporter: Prometheus fails to generate logs when prometheus exporter produced a check exception occurs. (#8949)
  • resourcedetectionprocessor: Wire docker detector (#9372)
  • kafkametricsreceiver: The kafkametricsreceiver was changed to connect to kafka during scrape, rather than startup. If kafka is unavailable the receiver will attempt to connect during subsequent scrapes until succcessful (#8817).
  • datadogexporter: Update Kubernetes example manifest to new executable name. (#9425).
  • riakreceiver: Fix issue where user configured metric settings were ignored. (#9561)
  • sqlserverreceiver: Update sqlserver.transaction_log.growth.count and sqlserver.transaction_log.shrink.count to be monotonic sums. (#9522)

v0.49.0

⚠️ Warning ⚠️

This release contains an issue in Prometheus receiver causing 30% memory consumption increase when there is a lot of target churn. The issue is currently being investigated and will be fixed in one of the new releases. More details: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/9278.

🛑 Breaking changes 🛑

  • filelogreceiver, journaldreceiver, syslogreceiver, tcplogreceiver, udplogreceiver:
    • Updated data model to align with stable logs data model, which includes various breaking changes. (#9139, #8835)
    • A detailed Upgrade Guide is available in the log-collection v0.29.0 release notes.
  • datadogexporter: Remove OnlyMetadata method from Config struct (#8980)
  • datadogexporter: Remove GetCensoredKey method from APIConfig struct (#8980)
  • mongodbatlasreceiver: Updated to uses newer metric builder which changed some metric and resource attributes (#9093)
  • dynatraceexporter: Make serialization package /internal (#9097)
  • attributesprocessor: Remove log names from filters (#9131)
  • k8sclusterreceiver: The receiver.k8sclusterreceiver.reportCpuMetricsAsDouble feature gate is now enabled by default (#9367)

🚩 Deprecations 🚩

  • datadogexporter: Deprecate service setting in favor of service.name semantic convention (#8784)
  • datadogexporter: Deprecate version setting in favor of service.version semantic convention (#8784)
  • datadogexporter: Deprecate env setting in favor of deployment.environment semantic convention (#9017)
  • datadogexporter: Deprecate GetHostTags method from TagsConfig struct (#8975)
  • datadogexporter: Deprecate tags setting in favor of host_metadata::tags (#9100)
  • datadogexporter: Deprecate send_metadata setting in favor of host_metadata::enabled (#9100)
  • datadogexporter: Deprecate use_resource_metadata setting in favor of host_metadata::hostname_source (#9100)
  • prometheusexecreceiver: Deprecate prom_exec receiver (#9058)
  • fluentbitextension: Deprecate Fluentbit extension (#9062)

🚀 New components 🚀

  • riakreceiver: Riak Metric Receiver (#8548)

💡 Enhancements 💡

  • splunkhecexporter: Add support for batching traces (#8995)
  • hostmetricsreceiver: Migrate Processes scraper to the Metrics builder (#8855)
  • tanzuobservabilityexporter: Use resourcetotelemetry helper (#8338)
  • Add make crosslink target to ensure replace statements are included in go.mod for all transitive dependencies within repository (#8822)
  • filestorageextension: Change bbolt DB settings for better performance (#9004)
  • jaegerremotesamplingextension: Add local and remote sampling stores (#8818)
  • attributesprocessor: Add support to filter on log body (#8996)
  • prometheusremotewriteexporter: Translate resource attributes to the target info metric (#8493)
  • prometheusexporter: Add job and instance labels to metrics so they can be scraped with honor_labels: true (#9115)
  • podmanreceiver: Add API timeout configuration option (#9014)
  • cmd/mdatagen: Add sem_conv_version field to metadata.yaml that is used to set metrics SchemaURL (#9010)
  • splunkheceporter: Add an option to disable log or profiling data (#9065)
  • windowsperfcountersreceiver: Move code into separate package for use in other windowsperfcounter receivers (#9108)
  • datadogexporter: Add host_metadata configuration section to configure host metadata export (#9100)
  • cmd/mdatagen: Update documentation generated for attributes to list enumerated values and show the "value" that will be visible on metrics when it is different from the attribute key in metadata.yaml (#8983)
  • routingprocessor: add option to drop resource attribute used for routing (#8990)

🧰 Bug fixes 🧰

  • filestorageextension: use correct bbolt options for compaction (#9134)
  • hostmetricsreceiver: Use cpu times for time delta in cpu.utilization calculation (#8857)
  • dynatraceexporter: Remove overly verbose stacktrace from certain logs (#8989)
  • googlecloudexporter: fix the exporter.googlecloud.OTLPDirect fature-gate, which was not applied when the flag was provided (#9116)
  • signalfxexporter: Fix bug to enable timeouts for correlating traces and metrics (#9101)
  • windowsperfcountersreceiver: fix exported values being integers instead of doubles (#9138)
  • prometheusreceiver: Fix issues with relabelling the job and instance labels. (#8780)
  • dynatraceexporter: Continue processing data points after a serialization error. (#9330)

v0.48.0

💡 Enhancements 💡

  • k8seventsreceiver: Add Api_version and resource_version (#8539)
  • datadogexporter: Add metrics::sums::cumulative_monotonic_mode to specify export mode for cumulative monotonic sums (#8490)
  • dynatraceexporter: add multi-instance deployment note to README.md (#8848)
  • resourcedetectionprocessor: Add attribute allowlist (#8547)
  • datadogexporter: Metrics payload data and Sketches payload data will be logged if collector is started in debug mode (#8929)
  • cmd/mdatagen: Add resource attributes definition to metadata.yaml and move pdata.Metrics creation to the generated code (#8555)

🛑 Breaking changes 🛑

  • windowsperfcountersreceiver: Added metrics configuration (#8376)
  • lokiexporter: Remove deprecated LogRecord.name field (#8951)
  • splunkhecexporter: Remove deprecated LogRecord.name field (#8951)

🚩 Deprecations 🚩

  • datadogexporter: Deprecate OnlyMetadata method from Config struct (#8359)
  • datadogexporter: Deprecate GetCensoredKey method from APIConfig struct (#8830)
  • datadogexporter: Deprecate metrics::send_monotonic_counter in favor of metrics::sums::cumulative_monotonic_mode (#8490)

🚀 New components 🚀

  • sigv4authextension: Enable component (#8518)

v0.47.0

💡 Enhancements 💡

  • googlecloudexporter: Add Validate method in config (#8559)
  • attributesprocessor: Add convert action (#7930)
  • attributesprocessor: Add metric support (#8111)
  • prometheusremotewriteexporter: Write-Ahead Log support enabled (#7304)
  • hostreceiver/filesystemscraper: Add filesystem utilization (#8027)
  • hostreceiver/pagingscraper: Add paging.utilization (#6221)
  • googlecloudexporter: [Alpha] Translate metrics directly from OTLP to gcm using the exporter.googlecloud.OTLPDirect feature-gate (#7177)
  • simpleprometheusreceiver: Add support for static labels (#7908)
  • spanmetricsprocessor: Dropping the condition to replace _ with key_ as __ label is reserved and _ is not (#8057)
  • podmanreceiver: Add container.runtime attribute to container metrics (#8262)
  • dockerstatsreceiver: Add container.runtime attribute to container metrics (#8261)
  • tanzuobservabilityexporter: instrumentation Library and Dropped Counts to Span Tags (#8120)
  • clickhouseexporter: Implement consume log logic. (#9705)
  • influxdbexporter: Add support for cumulative, non-monotonic metrics. (#8348)
  • oauth2clientauthextension: Add support for EndpointParams (#7307)
  • Add NewMetricData function to MetricsBuilder to consistently set instrumentation library name (#8255)
  • googlecloudpubsubreceiver Added implementation of Google Cloud Pubsub receiver. (#8391)
  • googlecloudpubsubexporter Added implementation of Google Cloud Pubsub exporter. (#8391)
  • coralogixexporter Allow exporter timeout to be configured (#7957)
  • prometheusremotewriteexporter support adding trace id and span id attached to exemplars (#8380)
  • influxdbexporter: accept histogram metric missing infinity bucket. (#8462)
  • skywalkingreceiver: Added implementation of Skywalking receiver. (#8549)
  • prometheusreceiver: Fix staleness bug for histograms and summaries (#8561)

🛑 Breaking changes 🛑

  • mongodbatlasreceiver: rename mislabeled attribute memory_state to correct disk_status on partition disk metrics (#7747)
  • mongodbatlasreceiver: Correctly set initial lookback for querying mongodb atlas api (#8246)
  • nginxreceiver: instrumentation name updated from otelcol/nginx to otelcol/nginxreceiver (#8255)
  • postgresqlreceiver: instrumentation name updated from otelcol/postgresql to otelcol/postgresqlreceiver (#8255)
  • redisreceiver: instrumentation name updated from otelcol/redis to otelcol/redisreceiver (#8255)
  • apachereceiver: instrumentation name updated from otelcol/apache to otelcol/apachereceiver ()
  • couchdbreceiver: instrumentation name updated from otelcol/couchdb to otelcol/couchdbreceiver (#8366)
  • prometheusreceiver Change resource attributes on metrics: instance -> service.instance.id, host.name -> net.host.name, port -> net.host.port, scheme -> http.scheme, job removed (#8266)
  • prometheusremotewriteexporter Use service.* resource attributes instead of job and instance resource attributes when adding job and instance labels to metrics (#8266)
  • mysqlreceiver: instrumentation name updated from otel/mysql to otelcol/mysqlreceiver (#8387)
  • zookeeperreceiver: instrumentation name updated from otelcol/zookeeper to otelcol/zookeeperreceiver (#8389)
  • coralogixexporter: Create dynamic subsystem name (#7957)
    • Deprecate configuration changed. Dynamic subsystem name from traces service name property.
  • rabbitmqreceiver: instrumentation name updated from otelcol/rabbitmq to otelcol/rabbitmqreceiver (#8400)

🧰 Bug fixes 🧰

  • zipkinexporter: Set "error" tag value when status is set to error (#8187)
  • prometheusremotewriteexporter: Correctly handle metric labels which collide after sanitization (#8378)
  • prometheusremotewriteexporter: Drop labels when exemplar attributes exceed the max number of characters (#8379)
  • k8sclusterreceiver: Add support to enable k8s node and container cpu metrics to be reported as double values (#8245)
    • Use "--feature-gates=receiver.k8sclusterreceiver.reportCpuMetricsAsDouble" to enable reporting node and container cpu metrics as a double values.
  • tanzuobservabilityexporter: Fix a typo in Instrumentation Library name and version tags (#8384)
  • logreceivers: Fix an issue where receiver would sometimes fail to build using Go 1.18 (#8521)
  • awsxrayreceiver: Add defaults for optional stack frame parameters (#8790)

🚩 Deprecations 🚩

  • datadogexporter: Deprecate automatic environment variable detection (#8397)

🚀 New components 🚀

  • sigv4authextension: New Component: Sigv4 Authenticator Extension (#8263)

v0.46.0

💡 Enhancements 💡

  • internal/stanza: Export metrics from Stanza receivers (#8025)
  • hostreceiver/pagingscraper: Migrate the scraper to the mdatagen metrics builder (#7139)
  • Do not drop zero trace/span id spans in the jaeger conversion (#7946)
  • Upgrade to use semantic conventions 1.6.1 (#7926)
  • dynatraceexporter: Validate QueueSettings and perform config validation in Validate() instead (#8020)
  • sapmexporter: Add validation for sending_queue setting (#8023)
  • signalfxexporter: Add validation for sending_queue setting (#8026)
  • internal/stanza: Add support for arbitrary attribute types (#8081)
  • resourcedetectionprocessor: Add confighttp.HTTPClientSettings To Resource Detection Config Fixes (#7397)
  • hostmetricsreceiver: Add cpu.utilization metrics to cpu scrapper (#7130)
  • honeycombexporter: Add validation for sending_queue setting (#8113)
  • routingprocessor: Expand error handling on failure to build exporters (#8125)
  • skywalkingreceiver: Add new skywalking receiver component folder and structure (#8107)
  • groupbyattrsprocesor: Allow empty keys, which allows to use the processor for compaction (#7793)
  • datadogexporter: Add rbac to example k8s manifest file (#8186)
  • splunkhecexporter: Add validation for sending_queue setting (#8256)

🛑 Breaking changes 🛑

  • Remove deprecated functions from jaeger translator (#8032)
  • internal/stanza: Remove write_to setting from input operators (#8081)
  • mongodbatlasreceiver: rename mongodb.atlas.* attributes to mongodb_atlas.* adhering to naming guidelines. Adding 3 new attributes (#7960)

🧰 Bug fixes 🧰

  • prometheusreceiver: Fix segfault that can occur after receiving stale metrics (#8056)
  • filelogreceiver: Fix issue where logs could occasionally be duplicated (#8123)
  • prometheusremotewriteexporter: Fix empty non-string resource attributes (#8116)

🚀 New components 🚀

v0.45.1

💡 Enhancements 💡

  • sumologicexporter: Move validation to Config (#7936)
  • elasticsearchexporter: Fix crash with batch processor (#7953).
  • splunkhecexporter: Batch metrics payloads (#7760)
  • tanzuobservabilityexporter: Add internal SDK metric tag (#7826)
  • hostreceiver/processscraper: Migrate the scraper to the mdatagen metrics builder (#7287)

🧰 Bug fixes 🧰

  • awsprometheusremotewriteexporter: fix dependencies issue (#7963)

🚀 New components 🚀

  • awsfirehose receiver: Add AWS Kinesis Data Firehose Receiver (#7918)

v0.45.0

💡 Enhancements 💡

  • hostreceiver/filesystemscraper: Migrate the scraper to the mdatagen metrics builder (#7772)
  • hostreceiver/memoryscraper: Migrate the scraper to the mdatagen metrics builder (#7312)
  • lokiexporter: Use record attributes as log labels (#7569)
  • routingprocessor: Do not err on failure to build exporters (#7423)
  • apachereceiver: Update to mdatagen v2 (#7573)
  • datadogexporter: Don't send host metadata if hostname is empty (#7426)
  • datadogexporter: Add insecure_skip_verify flag to configuration (#7422)
  • coralogixexporter: Update readme (#7785)
  • awscloudwatchlogsexporter: Remove name from aws cloudwatch logs exporter (#7554)
  • tanzuobservabilityexporter: Update OTel Collector's Exporter to match WF Proxy Handling of source (#7929)
  • hostreceiver/memoryscraper: Add memory.utilization (#6221)
  • awskinesisexporter: Add Queue Config Validation AWS Kinesis Exporter (#7835)
  • elasticsearchexporter: Remove usage of deprecated LogRecord.Name field (#7829).
  • loadbalancingexporter: Allow non-exist hostname on startup (#7935)
  • datadogexporter: Use exact sum, count and average on Datadog distributions (#7830)
  • storage/filestorage: add optional compaction to filestorage (#7768)
  • tanzuobservabilityexporter: Add attributes from the Resource to the resulting WF metric tags & set source value in WF metric (#8101)

🛑 Breaking changes 🛑

  • Use go mod compat, drops support for reproducibility with go 1.16 (#7915)
  • apachereceiver: Update instrumentation library name from otel/apache to otelcol/apache (#7754)
  • pkg/translator/prometheusremotewrite: Cleanup prw translator public functions (#7776)
  • prometheusreceiver: The OpenCensus-based metric conversion pipeline has been removed.
    • The receiver.prometheus.OTLPDirect feature gate has been removed as the direct pipeline is the only remaining pipeline.
  • translator/jaeger: Cleanup jaeger translator function names (#7775)
    • Deprecate old funcs with Internal word.
  • mysqlreceiver: Update data model and names for several metrics (#7924)
    • Change all metrics to Int values
    • Remove mysql.buffer_pool_pages. Replace with:
    • mysql.buffer_pool.pages
    • mysql.buffer_pool.data_pages
    • mysql.buffer_pool.page_flushes
    • Remove mysql.buffer_pool_size. Replace with:
    • mysql.buffer_pool.limit
    • mysql.buffer_pool.usage
    • Rename mysql.buffer_pool_operations to mysql.buffer_pool.operations

🚩 Deprecations 🚩

  • Deprecated log_names setting from filter processor. (#7552)

🧰 Bug fixes 🧰

  • tailsamplingprocessor: "And" policy only works as a sub policy under a composite policy (#7590)
  • prometheusreceiver: Correctly map description and units when converting Prometheus metadata directly to pdata. (#7748)
  • sumologicexporter: fix exporter panics on malformed histogram (#7548)
  • awsecscontainermetrics: CPU Reserved is now 1024/vCPU for ECS Container Insights (#6734)

🚀 New components 🚀

  • clickhouse exporter: Add ClickHouse Exporter (#6907)
  • pkg/translator/signalfx: Extract signalfx to metrics conversion in a separate package (#7778)
    • Extract FromMetrics to SignalFx translator package (#7823)

v0.44.0

💡 Enhancements 💡

  • kafkaexporter: Add compression and flush max messages options.
  • dynatraceexporter: Write error logs using plugin logger (#7360)
  • dynatraceexporter: Fix docs for TLS settings (#7568)
  • tanzuobservabilityexporter: Turn on metrics exporter (#7281)
  • attributesprocessor resourceprocessor: Add from_context value source
  • resourcedetectionprocessor: check cluster config to verify resource is on aws for eks resources (#7186)
  • awscloudwatchlogsexporter: enable awscloudwatchlogsexporter which accepts and exports log data (#7297)
  • translator/prometheusremotewrite: add a new module to help translate data from OTLP to Prometheus Remote Write (#7240)
  • azuremonitorexporter: In addition to traces, export logs to Azure Application Insights (#7403)
  • jmxreceiver: Added additional_jars configuration option to launch JMX Metric Gatherer JAR with extended CLASSPATH (#7378)
  • awscontainerinsightreceiver: add full pod name when configured to AWS Container Insights Receiver (#7415)
  • hostreceiver/loadscraper: Migrate the scraper to the mdatagen metrics builder (#7288)
  • awsecscontainermetricsreceiver: Rename attributes to follow semantic conventions (#7425)
  • datadogexporter: Always map conventional attributes to tags (#7185)
  • mysqlreceiver: Add golden files for integration test (#7303)
  • nginxreceiver: Standardize integration test (#7515)
  • mysqlreceiver: Update to use mdatagen v2 (#7507)
  • postgresqlreceiver: Add integration tests (#7501)
  • apachereceiver: Add integration test (#7517)
  • mysqlreceiver: Use scrapererror to report errors (#7513)
  • postgresreceiver: Update to mdatagen v2 (#7503)
  • nginxreceiver: Update to mdatagen v2 (#7549)
  • datadogexporter: Fix traces exporter's initialization log (#7564)
  • tailsamplingprocessor: Add And sampling policy (#6910)
  • coralogixexporter: Add Coralogix Exporter (#7383)
  • prometheusexecreceiver: Add default value for scrape_timeout option (#7587)

🛑 Breaking changes 🛑

  • resourcedetectionprocessor: Update os.type attribute values according to semantic conventions (#7544)
  • awsprometheusremotewriteexporter: Deprecation notice; may be removed after v0.49.0
    • Switch to using the prometheusremotewriteexporter + sigv4authextension instead

🧰 Bug fixes 🧰

  • resourcedetectionprocessor: fix meta allow list excluding keys with nil values (#7424)
  • postgresqlreceiver: Fix issue where empty metrics could be returned after failed connection (#7502)
  • resourcetotelemetry: Ensure resource attributes are added to summary and exponential histogram data points. (#7523)

🚩 Deprecations 🚩

  • Deprecated otel_to_hec_fields.name setting from splunkhec exporter. (#7560)

v0.43.0

💡 Enhancements 💡

  • coralogixexporter: First implementation of Coralogix Exporter (#6816)
  • cloudfoundryreceiver: Enable Cloud Foundry client (#7060)
  • elasticsearchexporter: add elasticsearchexporter to the components exporter list (#6002)
  • elasticsearchreceiver: Add metric metadata (#6892)
  • elasticsearchreceiver: Use same metrics as JMX receiver for JVM metrics (#7160)
  • elasticsearchreceiver: Implement scraping logic (#7174)
  • datadogexporter: Add http.status_code tag to trace stats (#6889)
  • datadogexporter: Add configuration option to use OTel span name into the Datatog resource name (#6611)
  • mongodbreceiver: Add initial client code to the component (#7125)
  • tanzuobservabilityexporter: Support delta histograms (#6897)
  • awscloudwatchlogsexporter: Use cwlogs package to export logs (#7152)
  • mysqlreceiver: Add the receiver to available components (#7078)
  • tanzuobservabilityexporter: Documentation for the memory_limiter configuration (#7164)
  • dynatraceexporter: Do not shut down exporter when metrics ingest module is temporarily unavailable (#7161)
  • mongodbreceiver: Add metric metadata (#7163)
  • mongodbreceiver: Add metric scraping (#7175)
  • postgresqlreceiver: add the receiver to available components (#7079)
  • rabbitmqreceiver: Add scraper logic (#7299)
  • tanzuobservability exporter: Support summary metrics (#7121)
  • mongodbatlasreceiver: Add retry and backoff to HTTP client (#6943)
  • Use Jaeger gRPC instead of Thrift in the docker-compose example (#7243)
  • tanzuobservabilityexporter: Support exponential histograms (#7127)
  • receiver_creator: Log added and removed endpoint env structs (#7248)
  • prometheusreceiver: Use the OTLP data conversion path by default. (#7282)
    • Use --feature-gates=-receiver.prometheus.OTLPDirect to re-enable the OpenCensus conversion path.
  • extension/observers: Correctly set image and tag on container endpoints (#7279)
  • tanzuobservabilityexporter: Document how to enable memory_limiter (#7286)
  • hostreceiver/networkscraper: Migrate the scraper to the mdatagen metrics builder (#7048)
  • hostmetricsreceiver: Add MuteProcessNameError config flag to mute specific error reading process executable (#7176)
  • scrapertest: Improve comparison logic (#7305)
  • hostmetricsreceiver: add cpu_average option for load scraper to report the average cpu load (#6999)
  • scrapertest: Add comparison option to ignore specific attributes (#6519)
  • tracegen: Add option to pass in custom headers to export calls via command line (#7308)
  • tracegen: Provide official container images (#7179)
  • scrapertest: Add comparison function for pdata.Metrics (#7400)
  • prometheusremotewriteexporter : Dropping the condition to replace _ with key_ as __ label is reserved and _ is not (#7112)

🛑 Breaking changes 🛑

  • tanzuobservabilityexporter: Remove status.code
  • tanzuobservabilityexporter: Use semantic conventions for status.message (#7126)
  • k8sattributesprocessor: Move kube and observability packages to internal folder (#7159)
  • k8sattributesprocessor: Unexport processor Options (#7311)
  • zookeeperreceiver: Refactored metrics to have correct units, types, and combined some metrics via attributes. (#7280)
  • prometheusremotewriteexporter: PRWExporter struct and NewPRWExporter() function are now unexported. (#TBD)
  • newrelicexporter marked as deprecated (#7284)

🚀 New components 🚀

  • rabbitmqreceiver: Establish codebase for RabbitMQ metrics receiver (#7239)
  • Add basicauth extension (#7167)
  • k8seventsreceiver: Implement core logic (#6885)

🧰 Bug fixes 🧰

  • k8sattributeprocessor: Parse IP out of net.Addr to correctly tag k8s.pod.ip (#7077)
  • k8sattributeprocessor: Process IP correctly for net.Addr instances that are not typed (#7133)
  • mdatagen: Fix validation of enabled field in metadata.yaml (#7166)
  • elasticsearch: Fix timestamp for each metric being startup time (#7255)
  • prometheusremotewriteexporter: Fix index out of range panic caused by expiring metrics (#7149)
  • resourcedetection: Log the error when checking for ec2metadata availability (#7296)

v0.42.0

💡 Enhancements 💡

  • couchbasereceiver: Add couchbase client (#7122)
  • couchdbreceiver: Add couchdb scraper (#7131)
  • couchdbreceiver: Add couchdb client (#6880)
  • elasticsearchreceiver: Implement scraper client (#7019)
  • couchdbreceiver: Add metadata metrics (#6878)
  • prometheusremotewriteexporter: Handling Staleness flag from OTLP (#6679)
  • prometheusexporter: Handling Staleness flag from OTLP (#6805)
  • prometheusreceiver: Set OTLP no-data-present flag for stale scraped metrics. (#7043)
  • mysqlreceiver: Add Integration test (#6916)
  • datadogexporter: Add compatibility with ECS Fargate semantic conventions (#6670)
  • k8s_observer: discover k8s.node endpoints (#6820)
  • redisreceiver: Add missing description fields to keyspace metrics (#6940)
  • redisreceiver: Set start timestamp uniformly for gauge and sum metrics (#6941)
  • kafkaexporter: Allow controlling Kafka acknowledgment behaviour (#6301)
  • lokiexporter: Log the first part of the http body on failed pushes to loki (#6946)
  • resourcedetectionprocessor: add the consul detector (#6382)
  • awsemfexporter: refactor cw_client logic into separate cwlogs package (#7072)
  • prometheusexporter: Dropping the condition to replace _ with key_ as __ label is reserved and _ is not (#7506)

🛑 Breaking changes 🛑

  • memcachedreceiver: Update metric names (#6594)
  • memcachedreceiver: Fix some metric units and value types (#6895)
  • sapm receiver: Use Jaeger status values instead of OpenCensus (#6682)
  • jaeger receiver/exporter: Parse/set Jaeger status with OTel spec values (#6682)
  • awsecscontainermetricsreceiver: remove tag from container.image.name (#6436)
  • k8sclusterreceiver: remove tag from container.image.name (#6436)

🚀 New components 🚀

  • ecs_task_observer: Discover running containers in AWS ECS tasks (#6894)
  • mongodbreceiver: Establish codebase for MongoDB metrics receiver (#6972)
  • couchbasereceiver: Establish codebase for Couchbase metrics receiver (#7046)
  • dbstorage: New experimental dbstorage extension (#7061)
  • redactionprocessor: Remove sensitive data from traces (#6495)

🧰 Bug fixes 🧰

  • ecstaskobserver: Fix "Incorrect conversion between integer types" security issue (#6939)
  • Fix typo in "direction" metrics attribute description (#6949)
  • zookeeperreceiver: Fix issue where receiver could panic during shutdown (#7020)
  • prometheusreceiver: Fix metadata fetching when metrics differ by trimmable suffixes (#6932)
  • Sanitize URLs being logged (#7021)
  • prometheusreceiver: Fix start time tracking for long scrape intervals (#7053)
  • signalfxexporter: Don't use syscall to avoid compilation errors on some platforms (#7062)
  • tailsamplingprocessor: Add support for new policies as composite sub-policies (#6975)

💡 Enhancements 💡

  • lokiexporter: add complete log record to body (#6619)
  • k8sclusterreceiver add container.image.tag attribute (#6436)
  • spanmetricproccessor: use an LRU cache for the cached Dimensions key-value pairs (#2179)
  • skywalkingexporter: add skywalking metrics exporter (#6528)
  • deltatorateprocessor: add int counter support (#6982)
  • filestorageextension: document default values (#7022)
  • redisreceiver: Migrate the scraper to the mdatagen metrics builder (#6938)

v0.41.0

🛑 Breaking changes 🛑

  • None

🚀 New components 🚀

  • asapauthextension (#6627)
  • mongodbatlasreceiver (#6367)

🧰 Bug fixes 🧰

  • filestorageextension: fix panic when configured directory cannot be accessed (#6103)
  • hostmetricsreceiver: fix set of attributes for system.cpu.time metric (#6422)
  • k8sobserver: only record pod endpoints for running pods (#5878)
  • mongodbatlasreceiver: fix attributes fields in metadata.yaml (#6440)
  • prometheusexecreceiver: command line processing on Windows (#6145)
  • spanmetricsprocessor: fix exemplars support (#6140)
  • Remap arm64 to aarch64 on rpm/deb packages (#6635)

💡 Enhancements 💡

  • datadogexporter: do not use attribute localhost-like hostnames (#6477)
  • datadogexporter: retry per network call (#6412)
  • datadogexporter: take hostname into account for cache (#6223)
  • exporter/lokiexporter: adding a feature for loki exporter to encode JSON for log entry (#5846)
  • googlecloudspannerreceiver: added fallback to ADC for database connections. (#6629)
  • googlecloudspannerreceiver: added parsing only distinct items for sample lock request label. (#6514)
  • googlecloudspannerreceiver: added request tag label to metadata config for top query stats. (#6475)
  • googlecloudspannerreceiver: added sample lock requests label to the top lock stats metrics. (#6466)
  • googlecloudspannerreceiver: added transaction tag label to metadata config for top transaction stats. (#6433)
  • groupbyattrsprocessor: added support for metrics signal (#6248)
  • hostmetricsreceiver: ensure SchemaURL is set (#6482)
  • kubeletstatsreceiver: add support for read-only kubelet endpoint (#6488)
  • mysqlreceiver: enable native authentication (#6628)
  • mysqlreceiver: remove requirement for password on MySQL (#6479)
  • receiver/prometheusreceiver: do not add host.name to metrics from localhost/unspecified targets (#6476)
  • spanmetricsprocessor: add setStatus operation (#5886)
  • splunkhecexporter: remove duplication of host.name attribute (#6527)
  • tanzuobservabilityexporter: add consumer for sum metrics. (#6385)
  • Update log-collection library to v0.23.0 (#6593)

v0.40.0

🛑 Breaking changes 🛑

  • tencentcloudlogserviceexporter: change Endpoint to Region to simplify configuration (#6135)

🚀 New components 🚀

  • Add memcached receiver (#5839)

🧰 Bug fixes 🧰

  • Fix token passthrough for HEC (#5435)
  • datadogexporter: Fix missing resource attributes default mapping when resource_attributes_as_tags: false (#6359)
  • tanzuobservabilityexporter: Log and report missing metric values. (#5835)
  • mongodbatlasreceiver: Fix metrics metadata (#6395)

💡 Enhancements 💡

  • awsprometheusremotewrite exporter: Improve error message when failing to sign request
  • mongodbatlas: add metrics (#5921)
  • healthcheckextension: Add path option (#6111)
  • Set unprivileged user to container image (#6380)
  • k8sclusterreceiver: Add allocatable type of metrics (#6113)
  • observiqexporter: Allow Dialer timeout to be configured (#5906)
  • routingprocessor: remove broken debug log fields (#6373)
  • prometheusremotewriteexporter: Add exemplars support (#5578)
  • fluentforwardreceiver: Convert attributes with nil value to AttributeValueTypeEmpty (#6630)

v0.39.0

🛑 Breaking changes 🛑

  • httpdreceiver renamed to apachereceiver to match industry standards (#6207)
  • tencentcloudlogserviceexporter change Endpoint to Region to simplify configuration (#6135)

🚀 New components 🚀

  • Add postgresqlreceiver config and factory (#6153)
  • Add TencentCloud LogService exporter tencentcloudlogserviceexporter (#5722)
  • Restore jaegerthrifthttpexporter (#5666)
  • Add skywalkingexporter (#5690, #6114)

🧰 Bug fixes 🧰

  • datadogexporter: Improve cumulative metrics reset detection using StartTimestamp (#6120)
  • mysqlreceiver: Address issues in shutdown function (#6239)
  • tailsamplingprocessor: End go routines during shutdown (#5693)
  • googlecloudexporter: Update google cloud exporter to correctly close the metric exporter (#5990)
  • statsdreceiver: Fix the summary point calculation (#6155)
  • datadogexporter Correct default value for send_count_sum_metrics (#6130)

💡 Enhancements 💡

  • datadogexporter: Increase default timeout to 15 seconds (#6131)
  • googlecloudspannerreceiver: Added metrics cardinality handling for Google Cloud Spanner receiver (#5981, #6148, #6229)
  • mysqlreceiver: Mysql add support for different protocols (#6138)
  • bearertokenauthextension: Added support of Bearer Auth for HTTP Exporters (#5962)
  • awsxrayexporter: Fallback to rpc.method for segment operation when aws.operation missing (#6231)
  • healthcheckextension: Add new health check feature for collector pipeline (#5643)
  • datadogexporter: Always add current hostname (#5967)
  • k8sattributesprocessor: Add code to fetch all annotations and labels by specifying key regex (#5780)
  • datadogexporter: Do not rely on collector to resolve envvar when possible to resolve them (#6122)
  • datadogexporter: Add container tags to attributes package (#6086)
  • datadogexporter: Preserve original TraceID (#6158)
  • prometheusreceiver: Enhance prometheus receiver logger to determine errors, test real e2e usage (#5870)
  • awsxrayexporter: Added support for AWS AppRunner origin (#6141)

v0.38.0

🛑 Breaking changes 🛑

  • datadogexporter Make distributions the default histogram export option. (#5885)
  • redisreceiver Update Redis receiver's metric names. (#5837)
  • Remove scraperhelper from contrib, use the core version. (#5826)

🚀 New components 🚀

  • googlecloudspannerreceiver Added implementation of Google Cloud Spanner receiver. (#5727)
  • awsxrayproxy Wire up awsxrayproxy extension. (#5747)
  • awscontainerinsightreceiver Enable AWS Container Insight receiver. (#5960)

🧰 Bug fixes 🧰

  • statsdreceiver: fix start timestamp / temporality for counters. (#5714)
  • Fix security issue related to github.com/tidwall/gjson. (#5936)
  • datadogexporter Fix cumulative histogram handling in distributions mode (#5867)
  • datadogexporter Skip nil sketches (#5925)

💡 Enhancements 💡

  • Extend kafkareceiver configuration capabilities. (#5677)
  • Convert mongodbatlas receiver to use scraperhelper. (#5827)
  • Convert dockerstats receiver to use scraperhelper. (#5825)
  • Convert podman receiver to use scraperhelper. (#5822)
  • Convert redisreceiver to use scraperhelper. (#5796)
  • Convert kubeletstats receiver to use scraperhelper. (#5821)
  • googlecloudspannerreceiver Migrated Google Cloud Spanner receiver to scraper approach. (#5868)
  • datadogexporter Use a Consumer interface for decoupling from zorkian's package. (#5315)
  • mdatagen - Add support for extended metric descriptions (#5688)
  • signalfxexporter Log datapoints option. (#5689)
  • cumulativetodeltaprocessor: Update cumulative to delta. (#5772)
  • Update configuration default values in log receivers docs. (#5840)
  • fluentforwardreceiver: support more complex fluent-bit objects. (#5676)
  • datadogexporter Remove spammy logging. (#5856)
  • datadogexporter Remove obsolete report_buckets config. (#5858)
  • Improve performance of metric expression matcher. (#5864)
  • tanzuobservabilityexporter Introduce metricsConsumer and gaugeMetricConsumer. (#5426)
  • awsxrayexporter rpc.system has priority to determine aws namespace. (#5833)
  • tailsamplingprocessor Add support for composite sampling policy to the tailsampler. (#4958)
  • kafkaexporter Add support for AWS_MSK_IAM SASL Auth (#5763)
  • Refactor the client Authenticators for the new "ClientAuthenticator" interfaces (#5905)
  • mongodbatlasreceiver Add client wrapper for MongoDB Atlas support (#5386)
  • redisreceiver Update Redis config options (#5861)
  • routingprocessor: allow routing for all signals (#5869)
  • extension/observer/docker add ListAndWatch to observer (#5851)

v0.37.1

🧰 Bug fixes 🧰

  • Fixes a problem with v0.37.0 which contained dependencies on v0.36.0 components. They should have been updated to v0.37.0.

v0.37.0

🚀 New components 🚀

🛑 Breaking changes 🛑

  • Remove squash on configtls.TLSClientSetting for splunkhecexporter (#5541)
  • Remove squash on configtls.TLSClientSetting for elastic components (#5539)
  • Remove squash on configtls.TLSClientSetting for observiqexporter (#5540)
  • Remove squash on configtls.TLSClientSetting for AWS components (#5454)
  • Move k8sprocessor to k8sattributesprocessor.
  • Rename k8s_tagger configuration k8sattributes.
  • filelog receiver: use empty value for SeverityText field instead of "Undefined" (#5423)
  • Rename configparser.ConfigMap to config.Map
  • Rename pdata.AggregationTemporality* to pdata.MetricAggregationTemporality*
  • Remove deprecated batchpertrace package/module (#5380)

💡 Enhancements 💡

  • k8sattributes processor: add container metadata enrichment (#5467, #5572)
  • resourcedetection processor: Add an option to force using hostname instead of FQDN (#5064)
  • dockerstats receiver: Move docker client into new shared internal/docker (#4702)
  • spanmetrics processor:
    • Add exemplars to metrics (#5263)
    • Support resource attributes in metrics dimensions (#4624)
  • filter processor:
    • Add log filtering by regexp type filters (#5237)
    • Add record level log filtering (#5418)
  • dynatrace exporter: Handle non-gauge data types (#5056)
  • datadog exporter:
    • Add support for exporting histograms as sketches (#5082)
    • Scrub sensitive information from errors (#5575)
    • Add option to send instrumentation library metadata tags with metrics (#5431)
  • podman receiver: Add api_version, ssh_key, and ssh_passphrase config options (#5430)
  • signalfx exporter:
    • Add max_connections config option (#5432)
    • Add dimension name to log when value > 256 chars (#5258)
    • Discourage setting of endpoint path (#4851)
  • kubeletstats receiver: Convert to pdata instead of using OpenCensus (#5458)
  • tailsampling processor: Add invert_match config option to string_attribute policy (#4393)
  • awsemf exporter: Add a feature flag in UserAgent for AWS backend to monitor the adoptions (#5178)
  • splunkhec exporter: Handle explicitly NaN and Inf values (#5581)
  • hostmetrics receiver:
    • Collect more process states in processes scraper (#4856)
    • Add device label to paging scraper (#4854)
  • awskinesis exporter: Extend to allow for dynamic export types (#5440)

🧰 Bug fixes 🧰

  • datadog exporter:
    • Fix tags on summary and bucket metrics (#5416)
    • Fix cache key generation for cumulative metrics (#5417)
  • resourcedetection processor: Fix failure to start collector if at least one detector returns an error (#5242)
  • prometheus exporter: Do not record obsreport calls (#5438)
  • prometheus receiver: Metric type fixes to match Prometheus functionality (#4865)
  • sentry exporter: Fix sentry tracing (#4320)
  • statsd receiver: Set quantiles for metrics (#5647)

v0.36.0

🛑 Breaking changes 🛑

  • filter processor: The configs for logs filter processor have been changed to be consistent with the metrics filter processor. (#4895)
  • splunk_hec receiver:
    • source_key, sourcetype_key, host_key and index_key have now moved under hec_metadata_to_otel_attrs (#4726)
    • path field on splunkhecreceiver configuration is removed: We removed the path attribute as any request going to the Splunk HEC receiver port should be accepted, and added the raw_path field to explicitly map the path accepting raw HEC data. (#4951)
  • feat(dynatrace): tags is deprecated in favor of default_dimensions (#5055)

💡 Enhancements 💡

  • filter processor: Add ability to include logs based on resource attributes in addition to excluding logs based on resource attributes for strict matching. (#4895)
  • kubelet API: Add ability to create an empty CertPool when the system run environment is windows
  • JMX receiver: Allow JMX receiver logging level to be configured (#4898)
  • datadog exporter: Export histograms as in OpenMetrics Datadog check (#5065)
  • dockerstats receiver: Set Schema URL (#5239)
  • Rename memorylimiter -> memorylimiterprocessor (#5262)
  • awskinesis exporter: Refactor AWS kinesis exporter to be synchronous (#5248)

v0.35.0

🛑 Breaking changes 🛑

  • Rename configparser.Parser to configparser.ConfigMap (#5070)
  • Rename TelemetryCreateSettings -> TelemetrySettings (#5169)

💡 Enhancements 💡

  • chore: update influxdb exporter and receiver (#5058)
  • chore(dynatrace): use payload limit from api constants (#5077)
  • Add documentation for filelog's new force_flush_period parameter (#5066)
  • Reuse the gzip reader with a sync.Pool (#5145)
  • Add a trace observer when splunkhecreceiver is used for logs (#5063)
  • Remove usage of deprecated pdata.AttributeValueMapToMap (#5174)
  • Podman Stats Receiver: Receiver and Metrics implementation (#4577)

🧰 Bug fixes 🧰

  • Use staleness markers generated by prometheus, rather than making our own (#5062)
  • datadogexporter exporter: skip NaN and infinite values (#5053)

v0.34.0

🚀 New components 🚀

💡 Enhancements 💡

  • tailsampling processor: Add new policy probabilistic (#3876)

v0.33.0

🎉 OpenTelemetry Collector Contrib v0.33.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

💡 Enhancements 💡

  • Collector contrib has now full support for metrics proto v0.9.0.

v0.32.0

🎉 OpenTelemetry Collector Contrib v0.32.0 (Beta) 🎉

This release is marked as "bad" since the metrics pipelines will produce bad data.

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🛑 Breaking changes 🛑

  • splunk_hec receiver/exporter: com.splunk.source field is mapped to source field in Splunk instead of service.name (#4596)
  • redis receiver: Move interval runner package to internal/interval (#4600)
  • datadog exporter: Export summary count and sum as monotonic counts (#4605)

💡 Enhancements 💡

  • logzio exporter:
    • New implementation of an in-memory queue to store traces, data compression with gzip, and queue configuration options (#4395)
    • Make Hclog2ZapLogger struct and methods private for public go api review (#4431)
  • newrelic exporter (#4392):
    • Marked unsupported metric as permanent error
    • Force the interval to be valid even if 0
  • awsxray exporter: Add PHP stacktrace parsing support (#4454)
  • file_storage extension: Implementation of batch storage API (#4145)
  • datadog exporter:
    • Skip sum metrics with no aggregation temporality (#4597)
    • Export delta sums as counts (#4609)
  • elasticsearch exporter: Add dedot support (#4579)
  • signalfx exporter: Add process metric to translation rules (#4598)
  • splunk_hec exporter: Add profiling logs support (#4464)
  • awsemf exporter: Replace logGroup and logStream pattern with metric labels (#4466)

🧰 Bug fixes 🧰

  • awsxray exporter: Fix the origin on ECS/EKS/EB on EC2 cases (#4391)
  • splunk_hec exporter: Prevent re-sending logs that were successfully sent (#4467)
  • signalfx exporter: Prefix temporary metric translations (#4394)

v0.31.0

🎉 OpenTelemetry Collector Contrib v0.31.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🛑 Breaking changes 🛑

  • influxdb receiver: Removed metrics_schema config option (#4277)

💡 Enhancements 💡

  • Update to OTLP 0.8.0:
    • Remove use of IntHistogram (#4276)
    • Update exporters/receivers for NumberDataPoint
  • Remove use of deprecated pdata slice Resize() (#4203, #4208, #4209)
  • awsemf exporter: Added the option to have a user who is sending metrics from EKS Fargate Container Insights to reformat them to look the same as insights from ECS so that they can be ingested by CloudWatch (#4130)
  • k8scluster receiver: Support OpenShift cluster quota metrics (#4342)
  • newrelic exporter (#4278):
    • Requests are now retry-able via configuration option (defaults to retries enabled). Permanent errors are not retried.
    • The exporter monitoring metrics now include an untagged summary metric for ease of use.
    • Improved error logging to include URLs that fail to post messages to New Relic.
  • datadog exporter: Upscale trace stats when global sampling rate is set (#4213)

🧰 Bug fixes 🧰

  • statsd receiver: Add option to set Counter to be monotonic (#4154)
  • Fix internal/stanza severity mappings (#4315)
  • awsxray exporter: Fix the wrong AWS env resource setting (#4384)
  • newrelic exporter (#4278):
    • Configuration unmarshalling did not allow timeout value to be set to 0 in the endpoint specific section.
    • Request cancellation was not propagated via context into the http request.
    • The queued retry logger is set to a zap.Nop logger as intended.

v0.30.0

🎉 OpenTelemetry Collector Contrib v0.30.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • oauth2clientauth extension: ported from core (#3848)
  • metrics-generation processor: is now enabled and available (#4047)

🛑 Breaking changes 🛑

  • Removed jaegerthrifthttp exporter (#4089)

💡 Enhancements 💡

  • tailsampling processor:
    • Add new policy status_code (#3754)
    • Add new tail sampling processor policy: status_code (#3754)
  • awscontainerinsights receiver:
    • Integrate components and fix bugs for EKS Container Insights (#3846)
    • Add Cgroup to collect ECS instance metrics for container insights receiver #3875
  • spanmetrics processor: Support sub-millisecond latency buckets (#4091)
  • sentry exporter: Add exception event capture in sentry (#3854)

v0.29.0

🎉 OpenTelemetry Collector Contrib v0.29.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🛑 Breaking changes 🛑

  • redis receiver (#3808)
    • removed configuration service_name. Use resource processor or resource_attributes setting if using receivercreator
    • removed type label and set instrumentation library name to otelcol/redis as other receivers do

💡 Enhancements 💡

  • tailsampling processor:
    • Add new policy latency (#3750)
    • Add new policy status_code (#3754)
  • splunkhec exporter: Include trace_id and span_id if set (#3850)
  • newrelic exporter: Update instrumentation naming in accordance with otel spec (#3733)
  • sentry exporter: Added support for insecure connection with Sentry (#3446)
  • k8s processor:
    • Add namespace k8s tagger (#3384)
    • Add ignored pod names as config parameter (#3520)
  • awsemf exporter: Add support for TaskDefinitionFamily placeholder on log stream name (#3755)
  • loki exporter: Add resource attributes as Loki label (#3418)

🧰 Bug fixes 🧰

  • datadog exporter:
    • Ensure top level spans are computed (#3786)
    • Update env clobbering behavior (#3851)
  • awsxray exporter: Fixed filtered attribute translation (#3757)
  • splunkhec exporter: Include trace and span id if set in log record (#3850)

v0.28.0

🎉 OpenTelemetry Collector Contrib v0.28.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

🛑 Breaking changes 🛑

💡 Enhancements 💡

  • Enabled Dependabot for Github Actions (#3543)
  • Change obsreport helpers for receivers to use the new pattern created in Collector (#3439,#3443,#3449,#3504,#3521,#3548)
  • datadog exporter:
    • Add logging for unknown or unsupported metric types (#3421)
    • Add collector version tag to internal health metrics (#3394)
    • Remove sublayer stats calc and mutex (#3531)
    • Deduplicate hosts for which we send running metrics (#3539)
    • Add support for summary datatype (#3660)
    • Add datadog span operation name remapping config option (#3444)
    • Update error formatting for error spans that are not exceptions (#3701)
  • nginx receiver: Update the nginx metrics to more closely align with the conventions (#3420)
  • elasticsearch exporter: Init JSON encoding support (#3101)
  • jmx receiver:
    • Allow setting system properties (#3450)
    • Update tested JMX Metric Gatherer release (#3695)
  • Refactor components for the Client Authentication Extensions (#3507)
  • Remove redundant conversion calls (#3688)
  • storage extension: Add a Close method to Client interface (#3506)
  • splunkhec exporter: Add metric_type as key which maps to the type of the metric (#3696)
  • k8s processor: Add semantic conventions to k8s-tagger for pod metadata (#3544)
  • kubeletstats receiver: Refactor kubelet client to internal folder (#3698)
  • newrelic exporter (#3690):
    • Updates the log level from error to debug when New Relic rate limiting occurs
    • Updates the sanitized api key that is reported via metrics
  • filestorage extension: Add ability to specify name (#3703)
  • awsemf exporter: Store the initial value for cumulative metrics (#3425)
  • awskinesis exporter: Refactor to allow for extended types of encoding (#3655)
  • ecsobserver extension:
    • Add task definition, ec2, and service fetcher (#3503)
    • Add exporter to convert task to target (#3333)

🧰 Bug fixes 🧰

  • awsemf exporter: Remove delta adjustment from summaries by default (#3408)
  • alibabacloudlogservice exporter: Sanitize labels for metrics (#3454)
  • statsd receiver: Fix StatsD drop metrics tags when using summary as observer_type for timer/histogram (#3440)
  • awsxray exporter: Restore setting of Throttle for HTTP throttle response (#3685)
  • awsxray receiver: Fix quick start bug (#3653)
  • metricstransform processor: Check all data points for matching metric label values (#3435)

v0.27.0

🎉 OpenTelemetry Collector Contrib v0.27.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

💡 Enhancements 💡

  • splunkhec exporter:
    • Include the response in returned 400 errors (#3338)
    • Map summary metrics to Splunk HEC metrics (#3344)
    • Add HEC telemetry (#3260)
  • newrelic exporter: Include dropped attributes and events counts (#3187)
  • datadog exporter:
    • Add Fargate task ARN to container tags (#3326)
    • Improve mappings for span kind dd span type (#3368)
  • signalfx exporter: Add info log for host metadata properties update (#3343)
  • awsprometheusremotewrite exporter: Add SDK and system information to User-Agent header (#3317)
  • metricstransform processor: Add filtering capabilities matching metric label values for applying changes (#3201)
  • groupbytrace processor: Added workers for queue processing (#2902)
  • resourcedetection processor: Add docker detector (#2775)
  • tailsampling processor: Support regex on span attribute filtering (#3335)

🧰 Bug fixes 🧰

  • datadog exporter:
    • Update Datadog attributes to tags mapping (#3292)
    • Consistent hostname and default metrics behavior (#3286)
  • signalfx exporter: Handle character limits on metric names and dimensions (#3328)
  • newrelic exporter: Fix timestamp value for cumulative metrics (#3406)

v0.26.0

🎉 OpenTelemetry Collector Contrib v0.26.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • influxdb exporter to support sending tracing, metrics, and logging data to InfluxDB

🛑 Breaking changes 🛑

  • signalfx exporter (#3207):
    • Additional metrics excluded by default by signalfx exporter
    • system.disk.io_time
    • system.disk.operation_time
    • system.disk.weighted_io_time
    • system.network.connections
    • system.processes.count
    • system.processes.created

💡 Enhancements 💡

  • Add default config and systemd environment file support for DEB/RPM packages (#3123)
  • Log errors on receiver start/stop failures (#3208)
  • newrelic exporter: Update API key detection logic (#3212)
  • splunkhec exporter:
    • Mark permanent errors to avoid futile retries (#3253)
    • Add TLS certs verification (#3204)
  • datadog exporter:
    • Add env and tag name normalization to trace payloads (#3200)
    • add ignore_resources configuration option (#3245)
  • jmx receiver: Update for latest snapshot and header support (#3283)
  • awsxray exporter: Added support for stack trace translation for .NET language (#3280)
  • statsd receiver: Add timing/histogram for statsD receiver as OTLP summary (#3261)

🧰 Bug fixes 🧰

  • awsprometheusremotewrite exporter:
    • Remove sending_queue (#3186)
    • Use the correct default for aws_auth.service (#3161)
    • Identify the Amazon Prometheus region from the endpoint (#3210)
    • Don't panic in case session can't be constructed (#3221)
  • datadog exporter: Add max tag length (#3185)
  • sapm exporter: Fix crash when passing the signalfx access token (#3294)
  • newrelic exporter: Update error conditions (#3322)

v0.25.0

🎉 OpenTelemetry Collector Contrib v0.25.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • kafkametricsreceiver new receiver component for collecting metrics about a kafka cluster - primarily lag and offset. configuration instructions
  • file_storage extension to read and write data to the local file system (#3087)

🛑 Breaking changes 🛑

  • newrelic exporter (#3091):
    • Removal of common attributes (use opentelemetry collector resource processor to add attributes)
    • Drop support for cumulative metrics being sent to New Relic via a collector

💡 Enhancements 💡

  • Update opentelemetry-log-collection to v0.17.0 for log receivers (#3017)
  • datadog exporter:
    • Add peer.service priority instead of service.name (#2817)
    • Improve support of semantic conventions for K8s, Azure and ECS (#2623)
  • Improve and batch logs translation for stanza (#2892)
  • statsd receiver: Add timing/histogram as OTLP gauge (#2973)
  • honeycomb exporter: Add Retry and Queue settings (#2714)
  • resourcedetection processor:
    • Add AKS resource detector (#3035)
    • Use conventions package constants for ECS detector (#3171)
  • sumologic exporter: Add graphite format (#2695)
  • Add trace attributes to the log entry for stanza (#3018)
  • splunk_hec exporter: Send log record name as part of the HEC log event (#3119)
  • newrelic exporter (#3091):
    • Add support for logs
    • Performance improvements
    • Optimizations to the New Relic payload to reduce payload size
    • Metrics generated for monitoring the exporter
    • Insert Key vs License keys are auto-detected in some cases
    • Collector version information is properly extracted via the application start info parameters

🧰 Bug fixes 🧰

  • splunk_hec exporter: Fix sending log payload with missing the GZIP footer (#3032)
  • awsxray exporter: Remove propagation of error on shutdown (#2999)
  • resourcedetection processor:
    • Correctly report DRAGONFLYBSD value (#3100)
    • Fallback to os.Hostname when FQDN is not available (#3099)
  • httpforwarder extension: Do not report ErrServerClosed when shutting down the service (#3173)
  • collectd receiver: Do not report ErrServerClosed when shutting down the service (#3178)

v0.24.0

🎉 OpenTelemetry Collector Contrib v0.24.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • fluentbit extension and fluentforward receiver moved from opentelemetry-collector

💡 Enhancements 💡

  • Check NO_WINDOWS_SERVICE environment variable to force interactive mode on Windows (#2819)
  • resourcedetectionprocessor:
    • Add task revision to ECS resource detector (#2814)
    • Add GKE detector (#2821)
    • Add Amazon EKS detector (#2820)
    • Add VMScaleSetName field to Azure detector (#2890)
  • awsemf exporter:
    • Add parse_json_encoded_attr_values config option to decode json-encoded strings in attribute values (#2827)
    • Add output_destination config option to support AWS Lambda (#2720)
  • googlecloud exporter: Handle cloud.availability_zone semantic convention (#2893)
  • newrelic exporter: Add instrumentation.provider to default attributes (#2900)
  • Set unprivileged user to container image (#2925)
  • splunkhec exporter: Add max_content_length_logs config option to send log data in payloads less than max content length (#2524)
  • k8scluster and kubeletstats receiver: Replace package constants in favor of constants from conventions in core (#2996)

🧰 Bug fixes 🧰

  • spanmetrics processor:
    • Rename calls metric to calls_total and set IsMonotonic to true (#2837)
    • Validate duplicate dimensions at start (#2844)
  • awsemf exporter: Calculate delta instead of rate for cumulative metrics (#2512)
  • signalfx exporter:
    • Remove more unnecessary translation rules (#2889)
    • Implement summary type (#2998)
  • awsxray exporter: Remove translation to HTTP status from OC status (#2978)
  • awsprometheusremotewrite exporter: Close HTTP body after RoundTrip (#2955)
  • splunkhec exporter: Add ResourceAttributes to Splunk Event (#2843)

v0.23.0

🎉 OpenTelemetry Collector Contrib v0.23.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • groupbyattrs processor to group the records by provided attributes
  • dotnetdiagnostics receiver to read metrics from .NET processes

🛑 Breaking changes 🛑

  • stackdriver exporter marked as deprecated and renamed to googlecloud
  • Change the rule expression in receiver creator for matching endpoints types from type.port, type.hostport and type.pod to type == "port", type == "hostport" and type == "pod" (#2661)

💡 Enhancements 💡

  • loadbalancing exporter: Add support for logs (#2470)
  • sumologic exporter: Add carbon formatter (#2562)
  • awsecscontainermetrics receiver: Add new metric for stopped container (#2383)
  • awsemf exporter:
    • Send EMF logs in batches (#2572)
    • Add prometheus type field for CloudWatch compatibility (#2689)
  • signalfx exporter:
    • Add resource attributes to events (#2631)
    • Add translation rule to drop dimensions (#2660)
    • Remove temporary host translation workaround (#2652)
    • Remove unnecessary default translation rules (#2672)
    • Update exclude_metrics option so that the default exclude rules can be overridden by setting the option to [] (#2737)
  • awsprometheusremotewrite exporter: Add support for given IAM roles (#2675)
  • statsd receiver: Change to use OpenTelemetry type instead of OpenCensus type (#2733)
  • resourcedetection processor: Add missing entries for cloud.infrastructure_service (#2777)

🧰 Bug fixes 🧰

  • dynatrace exporter: Serialize each datapoint into separate line (#2618)
  • splunkhec exporter: Retain all otel attributes (#2712)
  • newrelic exporter: Fix default metric URL (#2739)
  • googlecloud exporter: Add host.name label if hostname is present in node (#2711)

v0.22.0

🎉 OpenTelemetry Collector Contrib v0.22.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

💡 Enhancements 💡

  • dynatrace exporter: Send metrics to Dynatrace in chunks of 1000 (#2468)
  • k8s processor: Add ability to associate metadata tags using pod UID rather than just IP (#2199)
  • signalfx exporter:
    • Add statusCode to logging field on dimension client (#2459)
    • Add translation rules for cpu.utilization_per_core (#2540)
    • Updates to metadata handling (#2531)
    • Calculate extra network I/O metrics (#2553)
    • Calculate extra disk I/O metrics (#2557)
  • statsd receiver: Add metric type label and enable_metric_type option (#2466)
  • sumologic exporter: Add support for carbon2 format (#2562)
  • resourcedetection processor: Add Azure detector (#2372)
  • k8scluster receiver: Use OTel conventions for metadata (#2530)
  • newrelic exporter: Multi-tenant support for sending trace data and performance enhancements (#2481)
  • stackdriver exporter: Enable retry_on_failure and sending_queue options (#2613)
  • Use standard way to convert from time.Time to proto Timestamp (#2548)

🧰 Bug fixes 🧰

  • signalfx exporter:
    • Fix calculation of network.total metric (#2551)
    • Correctly convert dimensions on metadata updates (#2552)
  • awsxray exporter and receiver: Fix the type of content_length (#2539)
  • resourcedetection processor: Use values in accordance to semantic conventions for AWS (#2556)
  • awsemf exporter: Fix concurrency issue (#2571)

v0.21.0

🎉 OpenTelemetry Collector Contrib v0.21.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • loki exporter to export data via HTTP to Loki

🛑 Breaking changes 🛑

  • signalfx exporter: Allow periods to be sent in dimension keys (#2456). Existing users who do not want to change this functionality can set nonalphanumeric_dimension_chars to _-

💡 Enhancements 💡

  • awsemf exporter:
    • Support unit customization before sending logs to AWS CloudWatch (#2318)
    • Group exported metrics by labels (#2317)
  • datadog exporter: Add basic span events support (#2338)
  • alibabacloudlogservice exporter: Support new metrics interface (#2280)
  • sumologic exporter:
    • Enable metrics pipeline (#2117)
    • Add support for all types of log body (#2380)
  • signalfx exporter: Add nonalphanumeric_dimension_chars config option (#2442)

🧰 Bug fixes 🧰

  • resourcedetection processor: Fix resource attribute environment variable (#2378)
  • k8scluster receiver: Fix nil pointer bug (#2450)

v0.20.0

🎉 OpenTelemetry Collector Contrib v0.20.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • spanmetrics processor to aggregate Request, Error and Duration (R.E.D) metrics from span data
  • awsxray receiver to accept spans in the X-Ray Segment format
  • groupbyattrs processor to group the records by provided attributes

🛑 Breaking changes 🛑

  • Rename kinesis exporter to awskinesis (#2234)
  • signalfx exporter: Remove send_compatible_metrics option, use translation_rules instead (#2267)
  • datadog exporter: Remove default prefix from user metrics (#2308)

💡 Enhancements 💡

  • signalfx exporter: Add k8s metrics to default excludes (#2167)
  • stackdriver exporter: Reduce QPS (#2191)
  • datadog exporter:
    • Translate otel exceptions to DataDog errors (#2195)
    • Use resource attributes for metadata and generated metrics (#2023)
  • sapm exporter: Enable queuing by default (#1224)
  • dynatrace exporter: Allow underscores anywhere in metric or dimension names (#2219)
  • awsecscontainermetrics receiver: Handle stopped container's metadata (#2229)
  • awsemf exporter: Enhance metrics batching in AWS EMF logs (#2271)
  • f5cloud exporter: Add User-Agent header with version to requests (#2292)

🧰 Bug fixes 🧰

  • signalfx exporter: Reinstate network/filesystem translation rules (#2171)

v0.19.0

🎉 OpenTelemetry Collector Contrib v0.19.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • f5cloud exporter to export metric, trace, and log data to F5 Cloud
  • jmx receiver to report metrics from a target MBean server in conjunction with the JMX Metric Gatherer

🛑 Breaking changes 🛑

  • signalfx exporter: The exclude_metrics option now takes slice of metric filters instead of just metric names (slice of strings) (#1951)

💡 Enhancements 💡

  • datadog exporter: Sanitize datadog service names (#1982)
  • awsecscontainermetrics receiver: Add more metadata (#2011)
  • azuremonitor exporter: Favor RPC over HTTP spans (#2006)
  • awsemf exporter: Always use float64 as calculated rate (#2019)
  • splunkhec receiver: Make the HEC receiver path configurable, and use /* by default (#2137)
  • signalfx exporter:
    • Drop non-default metrics and add include_metrics option to override (#2145, #2146, #2162)
    • Rename system.network.dropped_packets metric to system.network.dropped (#2160)
    • Do not filter cloud attributes from dimensions (#2020)
  • redis receiver: Migrate to pdata metrics #1889

🧰 Bug fixes 🧰

  • datadog exporter: Ensure that version tag is added to trace stats (#2010)
  • loadbalancing exporter: Rolling update of collector can stop the periodical check of DNS updates (#1798)
  • awsecscontainermetrics receiver: Change the type of exit_code from string to int and deal with the situation when there is no data (#2147)
  • groupbytrace processor: Make onTraceReleased asynchronous to fix processor overload (#1808)
  • Handle cases where the time field of Splunk HEC events is encoded as a String (#2159)

v0.18.0

🎉 OpenTelemetry Collector Contrib v0.18.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • sumologic exporter to send logs and metrics data to Sumo Logic
  • dynatrace exporter to send metrics to Dynatrace

💡 Enhancements 💡

  • datadog exporter:
    • Add resource attributes to tags conversion feature (#1782)
    • Add Kubernetes conventions for hostnames (#1919)
    • Add container tags to datadog export for container infra metrics in service view (#1895)
    • Update resource naming and span naming (#1861)
    • Add environment variables support for config options (#1897)
  • awsxray exporter: Add parsing of JavaScript stack traces (#1888)
  • elastic exporter: Translate exception span events (#1858)
  • signalfx exporter: Add translation rules to aggregate per core CPU metrics in default translations (#1841)
  • resourcedetection processor: Gather tags associated with the EC2 instance and add them as resource attributes (#1899)
  • simpleprometheus receiver: Add support for passing params to the prometheus scrape config (#1949)
  • azuremonitor exporter: Implement Span status code specification changes - gRPC (#1960)
  • metricstransform processor: Add grouping option ($1887)
  • alibabacloudlogservice exporter: Use producer to send data to improve performance (#1981)

🧰 Bug fixes 🧰

  • datadog exporter: Handle monotonic metrics client-side (#1805)
  • awsxray exporter: Log error when translating span (#1809)

v0.17.0

🎉 OpenTelemetry Collector Contrib v0.17.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

💡 Enhancements 💡

  • awsemf exporter: Add collector version to EMF exporter user agent (#1778)
  • signalfx exporter: Add configuration for trace correlation (#1795)
  • statsd receiver: Add support for metric aggregation (#1670)
  • datadog exporter: Improve logging of hostname detection (#1796)

🧰 Bug fixes 🧰

  • resourcedetection processor: Fix ecs detector to not use the default golang logger (#1745)
  • signalfx receiver: Return 200 when receiver succeed (#1785)
  • datadog exporter: Use a singleton for sublayer calculation (#1759)
  • awsxray and awsemf exporters: Change the User-Agent content order (#1791)

v0.16.0

🎉 OpenTelemetry Collector Contrib v0.16.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🛑 Breaking changes 🛑

  • honeycomb exporter: Update to use internal data format (#1689)

💡 Enhancements 💡

  • newrelic exporter: Add support for span events (#1643)
  • awsemf exporter:
    • Add placeholder support in log_group_name and log_stream_name config (#1623, #1661)
    • Add label matching filtering rule (#1619)
  • resourcedetection processor: Add new resource detector for AWS Elastic Beanstalk environments (#1585)
  • loadbalancing exporter:
    • Add sort of endpoints in static resolver (#1692)
    • Allow specifying port when using DNS resolver (#1650)
  • Add batchperresourceattr helper library that splits an incoming data based on an attribute in the resource (#1694)
  • alibabacloudlogservice exporter:
    • Add logs exporter (#1609)
    • Change trace type from opencensus to opentelemetry (#1713)
  • datadog exporter:
    • Improve trace exporter performance (#1706, #1707)
    • Add option to only send metadata (#1723)
  • awsxray exporter:
    • Add parsing of Python stack traces (#1676)
    • Add collector version to user agent (#1730)

🧰 Bug fixes 🧰

  • loadbalancing exporter:
    • Fix retry queue for exporters (#1687)
    • Fix periodicallyResolve for DNS resolver checks (#1678)
  • datadog exporter: Fix status code handling (#1691)
  • awsxray exporter:
    • Fix empty traces in X-Ray console (#1709)
    • Stricter requirements for adding http request url (#1729)
    • Fix status code handling for errors/faults (#1740)
  • signalfx exporter:
    • Split incoming data requests by access token before enqueuing (#1727)
    • Disable retry on 400 and 401, retry with backoff on 429 and 503 (#1672)
  • awsecscontainermetrics receiver: Improve error handling to fix seg fault (#1738)

v0.15.0

🎉 OpenTelemetry Collector Contrib v0.15.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • zookeeper receiver: Collects metrics from a Zookeeper instance using the mntr command
  • loadbalacing exporter: Consistently exports spans belonging to the same trace to the same backend
  • windowsperfcounters receiver: Captures the configured system, application, or custom performance counter data from the Windows registry using the PDH interface
  • awsprometheusremotewrite exporter: Sends metrics data in Prometheus TimeSeries format to a Prometheus Remote Write Backend and signs each outgoing HTTP request following the AWS Signature Version 4 signing process

💡 Enhancements 💡

  • awsemf exporter:
    • Add metric_declarations config option for metric filtering and dimensions (#1503)
    • Add SummaryDataType and remove Min/Max from Histogram (#1584)
  • signalfxcorrelation exporter: Add ability to translate host dimension (#1561)
  • newrelic exporter: Use pdata instead of the OpenCensus for traces (#1587)
  • metricstransform processor:
    • Add combine action for matched metrics (#1506)
    • Add submatch_case config option to specify case of matched label values (#1640)
  • awsecscontainermetrics receiver: Extract cluster name from ARN (#1626)
  • elastic exporter: Improve handling of span status if the status code is unset (#1591)

🧰 Bug fixes 🧰

  • awsemf exporter: Add check for unhandled metric data types (#1493)
  • groupbytrace processor: Make buffered channel to avoid goroutines leak (#1505)
  • stackdriver exporter: Set options.UserAgent so that the OpenCensus exporter does not override the UA ($1620)

v0.14.0

🎉 OpenTelemetry Collector Contrib v0.14.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • datadog exporter to send metric and trace data to Datadog (#1352)
  • tailsampling processor moved from core to contrib (#1383)

🛑 Breaking changes 🛑

  • jmxmetricsextension migrated to jmxreceiver (#1182, #1357)
  • Move signalfx correlation code out of sapm to signalfxcorrelation exporter (#1376)
  • Move Splunk specific utils outside of common (#1306)
  • stackdriver exporter:
  • datadog exporter: Remove option to change the namespace prefix (#1483)

💡 Enhancements 💡

  • splunkhec receiver: Add ability to ingest metrics (#1276)
  • signalfx receiver: Improve pipeline error handling (#1329)
  • datadog exporter:
    • Improve hostname resolution (#1285)
    • Add flushing/export of traces and trace-related statistics (#1266)
    • Enable traces on Windows (#1340)
    • Send otel.exporter running metric (#1354)
    • Add tag normalization util method (#1373)
    • Send host metadata (#1351)
    • Support resource conventions for hostnames (#1434)
    • Add version tag extract (#1449)
  • Add batchpertrace library to split the incoming batch into several batches, one per trace (#1257)
  • statsd receiver:
    • Add timer support (#1335)
    • Add sample rate support for counter, transfer gauge to double and transfer counter to int only (#1361)
  • awsemf exporter: Restructure metric translator logic (#1353)
  • resourcedetection processor:
    • Add EC2 hostname attribute (#1324)
    • Add ECS Resource detector (#1360)
  • sapm exporter: Add queue settings (#1390)
  • metrictransform processor: Add metric filter option (#1447)
  • awsxray exporter: Improve ECS attribute and origin translation (#1428)
  • resourcedetection processor: Initial system detector (#1405)

🧰 Bug fixes 🧰

  • Remove duplicate definition of cloud providers with core conventions (#1288)
  • kubeletstats receiver: Handle nil references from the kubelet API (#1326)
  • awsxray receiver:
    • Add kind type to root span to fix the empty parentID problem (#1338)
    • Fix the race condition issue (#1490)
  • awsxray exporter:
    • Setting the tlsconfig InsecureSkipVerify using NoVerifySSL (#1350)
    • Drop invalid xray trace id (#1366)
  • elastic exporter: Ensure span name is limited (#1371)
  • splunkhec exporter: Don't send 'zero' timestamps to Splunk HEC (#1157)
  • stackdriver exporter: Skip processing empty metrics slice (#1494)

v0.13.0

🎉 OpenTelemetry Collector Contrib v0.13.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

💡 Enhancements 💡

  • sapm exporter:
    • Enable queuing by default (#1224)
    • Add SignalFx APM correlation (#1205)
    • Make span source attribute and destination dimension names configurable (#1286)
  • signalfx exporter:
    • Pass context to the http client requests (#1225)
    • Update disk.summary_utilization translation rule to accommodate new labels (#1258)
  • newrelic exporter: Add span.kind attribute (#1263)
  • datadog exporter:
    • Add Datadog trace translation helpers (#1208)
    • Add API key validation (#1216)
  • splunkhec receiver: Add the ability to ingest logs (#1268)
  • awscontainermetrics receiver: Report CpuUtilized metric in percentage (#1283)
  • awsemf exporter: Only calculate metric rate for cumulative counter and avoid SingleDimensionRollup for metrics with only one dimension (#1280)

🧰 Bug fixes 🧰

  • Make signalfx exporter a metadata exporter (#1252)
  • awsecscontainermetrics receiver: Check for empty network rate stats and set zero (#1260)
  • awsemf exporter: Remove InstrumentationLibrary dimension in CloudWatch EMF Logs if it is undefined (#1256)
  • awsxray receiver: Fix trace/span id transfer (#1264)
  • datadog exporter: Remove trace support for Windows for now (#1274)
  • sapm exporter: Correlation enabled check inversed (#1278)

v0.12.0

🎉 OpenTelemetry Collector Contrib v0.12.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • awsemf exporter to support exporting metrics to AWS CloudWatch (#498, #1169)
  • http_forwarder extension that forwards HTTP requests to a specified target (#979, #1014, #1150)
  • datadog exporter that sends metric and trace data to Datadog (#1142, #1178, #1181, #1212)
  • awsecscontainermetrics receiver to collect metrics from Amazon ECS Task Metadata Endpoint (#1089, #1148, #1160)

💡 Enhancements 💡

  • signalfx exporter:
    • Add host metadata synchronization (#1039, #1118)
    • Add copy_dimensions translator option (#1126)
    • Update k8s_cluster metric translations (#1121)
    • Add option to exclude metrics (#1156)
    • Add avg aggregation method (#1151)
    • Fallback to host if cloud resource id not found (#1170)
    • Add backwards compatible translation rules for the dockerstatsreceiver (#1201)
    • Enable queuing and retries (#1223)
  • splunkhec exporter:
    • Add log support (#875)
    • Enable queuing and retries (#1222)
  • k8scluster receiver: Standardize metric names (#1119)
  • awsxray exporter:
    • Support AWS EKS attributes (#1090)
    • Store resource attributes in X-Ray segments (#1174)
  • honeycomb exporter:
    • Add span kind to the event sent to Honeycomb (#474)
    • Add option to adjust the sample rate using an attribute on the span (#1162)
  • jmxmetrics extension: Add subprocess manager to manage child java processes (#1028)
  • elastic exporter: Initial metrics support (#1173)
  • k8s processor: Rename default attr names for label/annotation extraction (#1214)
  • Add common SignalFx host id extraction (#1100)
  • Allow MSI upgrades (#1165)

🧰 Bug fixes 🧰

  • awsxray exporter: Don't set origin to EC2 when not on AWS (#1115)

v0.11.0

🎉 OpenTelemetry Collector Contrib v0.11.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • add dockerstats receiver as top level component (#1081)
  • add tracegen utility (#956)

💡 Enhancements 💡

  • stackdriver exporter: Allow overriding client options via config (#1010)
  • k8scluster receiver: Ensure informer caches are synced before initial data sync (#842)
  • elastic exporter: Translate deployment.environment resource attribute to Elastic APM's semantically equivalent service.environment (#1022)
  • k8s processor: Add logs support (#1051)
  • awsxray exporter: Log response error with zap (#1050)
  • signalfx exporter
    • Add dimensions to renamed metrics (#1041)
    • Add translation rules for disk_ops.total and disk_ops.pending metrics (#1082)
    • Add event support (#1036)
  • kubeletstats receiver: Cache detailed PVC labels to reduce API calls (#1052)
  • signalfx receiver: Add event support (#1035)

v0.10.0

🎉 OpenTelemetry Collector Contrib v0.10.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • add initial docker stats receiver, without sourcing in top level components (#495)
  • add initial jmx metrics extension structure, without sourcing in top level components (#740)
  • routing processor for routing spans based on HTTP headers (#907)
  • splunkhec receiver to receive Splunk HEC metrics, traces and logs (#840)
  • Add skeleton for http_forwarder extension that forwards HTTP requests to a specified target (#979)

💡 Enhancements 💡

  • stackdriver exporter
    • Add timeout parameter (#835)
    • Add option to configurably set UserAgent string (#758)
  • signalfx exporter
    • Reduce memory allocations for big batches processing (#871)
    • Add AWSUniqueId and gcp_id generation (#829)
    • Calculate cpu.utilization compatibility metric (#839, #974, #954)
  • metricstransform processor: Replace {{version}} in label values (#876)
  • resourcedetection processor: Logs Support (#970)
  • statsd receiver: Add parsing for labels and gauges (#903)

🧰 Bug fixes 🧰

  • k8s processor
    • Wrap metrics before sending further down the pipeline (#837)
    • Fix setting attributes on metrics passed from agent (#836)
  • awsxray exporter: Fix "pointer to empty string" is not omitted bug (#830)
  • azuremonitor exporter: Treat UNSPECIFIED span kind as INTERNAL (#844)
  • signalfx exporter: Remove misleading warnings (#869)
  • newrelic exporter: Fix panic if service name is empty (#969)
  • honeycomb exporter: Don't emit default proc id + starttime (#972)

v0.9.0

🎉 OpenTelemetry Collector Contrib v0.9.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🛑 Breaking changes 🛑

  • Remove deprecated lightstep exporter (#828)

🚀 New components 🚀

  • statsd receiver for ingesting StatsD messages (#566)

💡 Enhancements 💡

  • signalfx exporter
    • Add disk usage translations (#760)
    • Add disk utilization translations (#782)
    • Add translation rule to drop redundant metrics (#809)
  • kubeletstats receiver
    • Sync available volume metadata from /pods endpoint (#690)
    • Add ability to collect detailed data from PVC (#743)
  • awsxray exporter: Translate SDK name/version into xray model (#755)
  • elastic exporter: Translate semantic conventions to Elastic destination fields (#671)
  • stackdriver exporter: Add point count metric (#757)
  • awsxray receiver
    • Ported the TCP proxy from the X-Ray daemon (#774)
    • Convert to OTEL trace format (#691)

🧰 Bug fixes 🧰

  • kubeletstats receiver: Do not break down metrics batch (#754)
  • host observer: Fix issue on darwin where ports listening on all interfaces are not correctly accounted for (#582)
  • newrelic exporter: Fix panic on missing span status (#775)

v0.8.0

🎉 OpenTelemetry Collector Contrib v0.8.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • Receivers
    • prometheusexec subprocess manager (##499)

💡 Enhancements 💡

  • signalfx exporter
    • Add/Update metric translations (#579, #584, #639, #640, #652, #662)
    • Add support for calculate new metric translator (#644)
    • Add renaming rules for load metrics (#664)
    • Update container.name to k8s.container.name in default translation rule (#683)
    • Rename working-set and page-fault metrics (#679)
  • awsxray exporter
    • Translate exception event into xray exception (#577)
    • Add ingestion of X-Ray segments via UDP (#502)
    • Parse Java stacktrace and populate in xray cause (#687)
  • kubeletstats receiver
    • Add metric_groups option (#648)
    • Set datapoint timestamp in receiver (#661)
    • Change container.name label to k8s.container.name (#680)
    • Add working-set and page-fault metrics (#666)
    • Add basic support for volume metrics (#667)
  • stackdriver trace exporter: Move to new interface and pdata (#486)
  • metricstranform processor: Keep timeseries and points in order after aggregation (#663)
  • k8scluster receiver: Change container.spec.name label to k8s.container.name (#681)
  • Migrate receiver creator to internal data model (#701)
  • Add ec2 support to resourcedetection processor (#587)
  • Enable timeout, sending queue and retry for SAPM exporter (#707)

🧰 Bug fixes 🧰

  • azuremonitor exporter: Correct HTTP status code success mapping (#588)
  • k8scluster receiver: Fix owner reference in metadata updates (#649)
  • awsxray exporter: Fix handling of db system (#697)

🚀 New components 🚀

  • Skeleton for AWS ECS container metrics receiver (#463)
  • prometheus_exec receiver (#655)

v0.7.0

🎉 OpenTelemetry Collector Contrib v0.7.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🛑 Breaking changes 🛑

  • awsxray receiver updated to support udp: tcp_endpoint config option renamed to endpoint (#497)
  • TLS config changed for sapmreceiver (#488) and signalfxreceiver receivers (#488)

🚀 New components 🚀

  • Exporters
  • Extensions
    • endpoints observer: adds generic endpoint watcher (#427)
    • host observer: looks for listening network endpoints on host (#432)

💡 Enhancements 💡

  • Update honeycomb exporter for v0.8.0 compatibility
  • Extend metricstransform processor to be able to add a label to an existing metric (#441)
  • Update kubeletstats metrics according to semantic conventions (#475)
  • Updated awsxray receiver config to use udp (#497)
  • Add /pods endpoint support in kubeletstats receiver to add extra labels (#569)
  • Add metric translation options to signalfx exporter (#477, #501, #571, #573)

🧰 Bug fixes 🧰

  • azuremonitor exporter: Mark spanToEnvelope errors as permanent (#500)

v0.6.0

🎉 OpenTelemetry Collector Contrib v0.6.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🛑 Breaking changes 🛑

  • Removed jaegarlegacy (#397) and zipkinscribe receivers (#410)
  • kubeletstats receiver: Renamed k8s.pod.namespace pod label to k8s.namespace.name and k8s.container.name container label to container.name

🚀 New components 🚀

  • Processors
    • metricstransform renames/aggregates within individual metrics (#376) and allow changing the data type between int and float (#402)

💡 Enhancements 💡

  • awsxray exporter: Use peer.service as segment name when set. (#385)
  • splunk exporter: Add trace exports support (#359, #399)
  • Build and publish Windows MSI (#408) and DEB/RPM Linux packages (#405)

🧰 Bug fixes 🧰

  • kubeletstats receiver:
    • Fixed NPE for newly created pods (#404)
    • Updated to latest change in the ReceiverFactoryOld interface (#401)
    • Fixed logging and self reported metrics (#357)
  • awsxray exporter: Only convert SQL information for SQL databases. (#379)
  • resourcedetection processor: Correctly obtain machine-type info from gce metadata (#395)
  • k8scluster receiver: Fix container resource metrics (#416)

v0.5.0

Released 01-07-2020

🎉 OpenTelemetry Collector Contrib v0.5.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🚀 New components 🚀

  • Processors
    • resourcedetection to automatically detect the resource based on the configured set of detectors (#309)

💡 Enhancements 💡

  • kubeletstats receiver: Support for ServiceAccount authentication (#324)
  • signalfx exporter and receiver
    • Add SignalFx metric token passthrough and config option (#325)
    • Set default endpoint of signalfx receiver to :9943 (#351)
  • awsxray exporter: Support aws plugins EC2/ECS/Beanstalk (#343)
  • sapm exporter and receiver: Add SAPM access token passthrough and config option (#349)
  • k8s processor: Add metrics support (#358)
  • k8s observer: Separate annotations from labels in discovered pods (#363)

🧰 Bug fixes 🧰

  • honeycomb exporter: Remove shared use of libhoney from goroutines (#305)

v0.4.0

Released 17-06-2020

🎉 OpenTelemetry Collector Contrib v0.4.0 (Beta) 🎉

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release (be sure to check the release notes here as well!). Check out the Getting Started Guide for deployment and configuration information.

🛑 Breaking changes 🛑

  • signalfx exporter url parameter changed to ingest_url (no impact if only using realm setting)

🚀 New components 🚀

  • Receivers
    • receiver_creator to create receivers at runtime (#145), add observer support to receiver_creator (#173), add rules support (#207), add dynamic configuration values (#235)
    • kubeletstats receiver (#237)
    • prometheus_simple receiver (#184)
    • kubernetes-cluster receiver (#175)
    • redis receiver (#138)
  • Exporters
    • alibabacloudlogservice exporter (#259)
    • SplunkHEC metrics exporter (#246)
    • elastic APM exporter (#240)
    • newrelic exporter (#229)
  • Extensions
    • k8s observer (#185)

💡 Enhancements 💡

  • awsxray exporter
    • Use X-Ray convention of segment name == service name (#282)
    • Tweak xray export to improve rendering of traces and improve parity (#241)
    • Add handling for spans received with nil attributes (#212)
  • honeycomb exporter
    • Use SendPresampled (#291)
    • Add span attributes as honeycomb event fields (#271)
    • Support resource labels in Honeycomb exporter (#20)
  • k8s processor
    • Add support of Pod UID extraction to k8sprocessor (#219)
    • Use k8s.pod.ip to record resource IP instead of just ip (#183)
    • Support same authentication mechanism as other kubernetes components do (#307)
  • sapm exporter: Add TLS for SAPM and SignalFx receiver (#215)
  • signalfx exporter
    • Add metric metadata syncer to SignalFx exporter (#231)
    • Add TLS for SAPM and SignalFx receiver (#215)
  • stackdriver exporter: Add support for resource mapping in config (#163)

🧰 Bug fixes 🧰

  • awsxray exporter: Wrap bad request errors for proper handling by retry queue (#205)
  • lightstep exporter: Ensure Lightstep exporter doesnt crash on nil node (#250)
  • sapm exporter: Do not break Jaeger traces before sending downstream (#193)
  • k8s processor: Ensure Jaeger spans work in passthrough mode (262)

🧩 Components 🧩

Receivers

Traces Metrics
Jaeger Legacy Carbon
SAPM (SignalFx APM) Collectd
Zipkin Scribe K8s Cluster
Redis
SignalFx
Simple Prometheus
Wavefront

Processors

  • K8s

Exporters

Commercial Community
Alibaba Cloud Log Service Carbon
AWS X-ray Elastic
Azure Monitor Jaeger Thrift
Honeycomb Kinesis
Lightstep
New Relic
SAPM (SignalFx APM)
SignalFx (Metrics)
Splunk HEC
Stackdriver (Google)

Extensions

  • Observer
    • K8s

v0.3.0 Beta

Released 2020-03-30

Breaking changes

  • Make prometheus receiver config loading strict. #697 Prometheus receiver will now fail fast if the config contains unused keys in it.

Changes and fixes

Features

Receivers / Exporters:

  • AWS X-Ray
  • Carbon
  • CollectD
  • Honeycomb
  • Jaeger
  • Kinesis
  • LightStep
  • OpenCensus
  • OpenTelemetry
  • SAPM
  • SignalFx
  • Stackdriver
  • Wavefront
  • Zipkin
  • Zipkin Scribe

Processors:

  • Attributes
  • Batch
  • Memory Limiter
  • Queued Retry
  • Resource
  • Sampling
  • Span
  • Kubernetes

Extensions:

  • Health Check
  • Performance Profiler
  • zPages

v0.2.8

Released 2020-03-25

Alpha v0.2.8 of OpenTelemetry Collector Contrib.

  • Implemented OTLP receiver and exporter.
  • Added ability to pass config to the service programmatically (useful for custom builds).
  • Improved own metrics / observability.

v0.2.7

Released 2020-03-17

Self-Observability

  • New command-line switch to control legacy and new metrics. Users are encouraged to experiment and migrate to the new metrics.
  • Improved error handling on shutdown.

Processors

  • Fixed passthrough mode k8sprocessor.
  • Added HASH action to attribute processor.

Receivers and Exporters

  • Added Honeycomb exporter.
  • Added LightStep exporter.
  • Added regular expression for Carbon receiver, allowing the metric name to be broken into proper label keys and values.
  • Updated Stackdriver exporter to use a new batch API.

v0.2.6 Alpha

Released 2020-02-18

Self-Observability

  • Updated metrics prefix to otelcol and expose command line argument to modify the prefix value.
  • Batch dropped span now emits zero when no spans are dropped.

Processors

  • Extended Span processor to have include/exclude span logic.
  • Ability to choose strict or regexp matching for include/exclude filters.

Receivers and Exporters

  • Added Carbon receiver and exporter.
  • Added Wavefront receiver.

v0.0.5 Alpha

Released 2020-01-30

  • Regexp-based filtering of span names.
  • Ability to extract attributes from span names and rename span.
  • File exporter for debugging.
  • Span processor is now enabled by default.

v0.0.1 Alpha

Released 2020-01-11

First release of OpenTelemetry Collector Contrib.