# Changelog ## 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 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 USAGE`` and `MEM %` showed by the `stats` docker CLI command. It also support v1 and v2 of cgroups. Expect to see an increase of these metrics if currently running the receiver in a cgroups v1 environment. As well as see a decrease in these values if running on cgroups v2 environment. - `exporter/splunkhec`: Fix a bug causing incorrect data in the partial error returned by the exporter (#21720) ## v0.77.0 ### 🛑 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](https://grafana.com/docs/loki/latest/clients/promtail/#loki-push-api) as specified [here](https://grafana.com/docs/loki/latest/api/#push-log-entries-to-loki) (#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 `CPUUtilizationCalculator`s, 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](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.71.0/receiver/hostmetricsreceiver#transition-to-process-memory-metric-names-aligned-with-opentelemetry-specification). - `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](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.68.0/receiver/hostmetricsreceiver#transition-to-process-memory-metric-names-aligned-with-opentelemetry-specification). ### 💡 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 🚩 - `humioexporter`: Humio now known as LogScale beginning with version 1.68 supports OTLP using HTTP and no longer requires a product specific exporter. (#17013) See https://library.humio.com/humio-server/endpoints.html ### 🚀 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](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/transformprocessor#config) 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 🛑 - `clickhouseexporter`: update table schema (#8028) 1. add ServiceName field as primary key. 2. use Map type for attribute, add secondary index. - `postgresqlreceiver`: Moves metric attributes `table` and `database` to resource attributes. (#12960) This move has been hidden behind a featuregate. Please see https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/postgresqlreceiver/README.md#feature-gate-configurations for more information transitioning. This affects the following metrics. - postgresql.blocks_read - postgresql.commits - postgresql.db_size - postgresql.backends - postgresql.operations - postgresql.rollbacks - `all`: Update minimum go version to 1.18 (#12918) ### 🚩 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_at`` was set to `end`` (#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 🛑 - `datadogexporter`: Change default value of `host_metadata::hostname_source` to `config_or_system` (#10424) - This behavior can be reverted by disabling the `exporter.datadog.hostname.preview` feature gate. - `datadogexporter`: Make automatically detected hostname match the one reported by other Datadog products. (#10424) - This behavior can be reverted by disabling the `exporter.datadog.hostname.preview` feature gate. - `dynatraceexporter`: Improve serialization of certain Instrument/Temporality pairings (#11828) - Non-monotonic cumulative Sum metrics will be exported as Gauges from now on. Non-monotonic cumulative Sums (usually UpDownCounters) will show the current value instead of a change rate. - `transformprocessor`: Field `metric.type` is now accessed as an enum/int64 instead of a string. (#10349) - `memcachedreceiver`: Remove direction for metrics. The feature gate: receiver.memcachedreceiver.emitMetricsWithoutDirectionAttribute can be set to apply the following (#12404) (#12165) - `memcached` metrics: - `memcached.network` will become: - `memcached.network.sent` - `memcached.network.received` - `tracegen`: Moving component under `cmd` for consistency (#12474) - `datadogexporter`: Remove deprecated configuration features. (#9099, #9016, #8845, #8783, #8781, #8489, #8396) - [Remove `env` in favor of `deployment.environment` semantic convention](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/9016) - [Remove `version` in favor of `service.version` semantic convention](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/8783) - [Remove `service` in favor of `service.name` semantic convention](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/8781) - [Remove `tags`, `send_metadata` and `use_resource_metadata` in favor of `host_metadata` section](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/9099) - [Remove `metrics::report_quantiles` in favor of `metrics::summaries::mode`](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/8845) - [Remove `metrics::send_monotonic_counter` in favor of `metrics::sums::cumulative_monotonic_mode`](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/8489) - [Remove automatic support for environment variable detection in favor of Collector's `${}` syntax](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/8396) - [Remove `metrics::instrumentation_library_metadata_as_tags` in favor of `metrics::instrumentation_scope_as_tags`](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/11135) - `datadogexporter`: Remove deprecated `config` package. (#8373) - `observiqexporter`: Remove the observiq exporter (#12406) - `vcenterreceiver`: Adds the `vcenter.cluster.name` resource attribute to `vcenter.datastore` metrics (#12357) - `vcenterreceiver`: remove metadata declaration and references to uncollected metric `vcenter.vm.cpu.utilization` (#12358) - `vcenterreceiver`: Remove direction for metrics. The feature gate: receiver.vcenterreceiver.emitMetricsWithoutDirectionAttribute can be set to apply the following (#11849) (#12185) - `vcenter.host.disk.throughput` will become: - `vcenter.host.disk.throughput.read` - `vcenter.host.disk.throughput.write` - `vcenter.host.disk.latency.avg` will become: - `vcenter.host.disk.latency.avg.read` - `vcenter.host.disk.latency.avg.write` - `vcenter.host.network.throughput` will become: - `vcenter.host.network.throughputt.receive` - `vcenter.host.network.throughput.transmit` - `vcenter.host.network.packet.errors` will become: - `vcenter.host.network.packet.errors.receive` - `vcenter.host.network.packet.errors.transmit` - `vcenter.host.network.packet.count` will become: - `vcenter.host.network.packet.count.receive` - `vcenter.host.network.packet.count.transmit` - `vcenter.vm.disk.latency.avg.read` will become: - `vcenter.vm.disk.latency.avg.read` - `vcenter.vm.disk.latency.avg.write` - `vcenter.vm.network.throughput` will become: - `vcenter.vm.network.throughput.receive` - `vcenter.vm.network.throughput.transmit` - `vcenter.vm.network.packet.count` will become: - `vcenter.vm.network.packet.count.receive` - `vcenter.vm.network.packet.count.transmit` ### 🚩 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](https://chrony.tuxfamily.org/) (#11789) - `otlpjsonfilereceiver`: Add a new file receiver reading JSON-encoded OTLP data, after [serialization specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/file-exporter.md#json-file-serialization) (#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](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.54.0/receiver/k8sclusterreceiver#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_pattern` and `replace_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 🛑 - `datadogexporter`: Replace HistogramMode defined as string with enum. (#9589) - `pkg/translator/signalfx`: Change signalfx translator to expose To/From translator structs. (#9740) - `transformprocessor`: Add parameter validation to `truncate_all` and `limit` functions. The `limit` parameter can no longer be negative. (#9783) - `newrelicexporter` deleted. Use New Relic [native OTLP ingest](https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/opentelemetry-setup/) instead. (#9894) - `k8sclusterreceiver`: Removing `ClusterName` as per https://github.com/kubernetes/apimachinery/commit/430b920312ca0fa10eca95967764ff08f34083a3. (#9885) ### 🚩 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](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/prometheusreceiver) 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](https://github.com/open-telemetry/opentelemetry-log-collection/releases/tag/v0.28.0) 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) - Users may have to update monitoring for a few Kubernetes cpu metrics, for more details see [feature-gate-configurations](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.54.0/receiver/k8sclusterreceiver#feature-gate-configurations). ### 🚩 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 `Option`s (#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](https://www.consul.io/) 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 🚀 - [`journald` receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/journaldreceiver) to parse Journald events from systemd journal using the [opentelemetry-log-collection](https://github.com/open-telemetry/opentelemetry-log-collection) library ### 🛑 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 🚀 - [`cumulativetodelta` processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/cumulativetodeltaprocessor) to convert cumulative sum metrics to cumulative delta - [`file` exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/fileexporter) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`jaeger` exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/jaegerexporter) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`kafka` exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/kafkaexporter) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`opencensus` exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/opencensusexporter) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`prometheus` exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/prometheusexporter) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`prometheusremotewrite` exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/prometheusremotewriteexporter) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`zipkin` exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/zipkinexporter) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`attribute` processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/attributesprocessor) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`filter` processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/filterprocessor) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`probabilisticsampler` processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`resource` processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourceprocessor) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`span` processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/spanprocessor) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`hostmetrics` receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`jaeger` receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/jaegerreceiver) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`kafka` receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/kafkareceiver) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`opencensus` receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/opencensusreceiver) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`prometheus` receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/prometheusreceiver) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`zipkin` receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/zipkinreceiver) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`bearertokenauth` extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/bearertokenauthextension) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`healthcheck` extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/healthcheckextension) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`oidcauth` extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/oidcauthextension) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`pprof` extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/pprofextension) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) - [`testbed`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/testbed) from core repository ([#3474](https://github.com/open-telemetry/opentelemetry-collector/issues/3474)) ### 💡 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.32.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) for deployment and configuration information. ### 🚀 New components 🚀 - [`cumulativetodelta` processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/cumulativetodeltaprocessor) to convert cumulative sum metrics to cumulative delta ### 💡 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. - See https://github.com/open-telemetry/opentelemetry-collector/issues/3824 The OpenTelemetry Collector Contrib contains everything in the [opentelemetry-collector release](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.32.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.31.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.30.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.29.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.28.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) for deployment and configuration information. ### 🚀 New components 🚀 - `humio` exporter to export data to Humio using JSON over the HTTP [Ingest API](https://library.humio.com/humio-server/api-ingest.html) - `udplog` receiver to receives logs from udp using the [opentelemetry-log-collection](https://github.com/open-telemetry/opentelemetry-log-collection) library - `tanzuobservability` exporter to send traces to [Tanzu Observability](https://tanzu.vmware.com/observability) ### 🛑 Breaking changes 🛑 - `f5cloud` exporter (#3509): - Renamed the config 'auth' field to 'f5cloud_auth'. This will prevent a config field name collision when [Support for Custom Exporter Authenticators as Extensions](https://github.com/open-telemetry/opentelemetry-collector/pull/3128) is ready to be integrated. ### 💡 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.27.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) for deployment and configuration information. ### 🚀 New components 🚀 - `tcplog` receiver to receive logs from tcp using the [opentelemetry-log-collection](https://github.com/open-telemetry/opentelemetry-log-collection) library - `influxdb` receiver to accept metrics data as [InfluxDB Line Protocol](https://docs.influxdata.com/influxdb/v2.0/reference/syntax/line-protocol/) ### 💡 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.26.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) for deployment and configuration information. ### 🚀 New components 🚀 - `influxdb` exporter to support sending tracing, metrics, and logging data to [InfluxDB](https://www.influxdata.com/products/) ### 🛑 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_resource`s 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.25.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) for deployment and configuration information. ### 🚀 New components 🚀 - `kafkametricsreceiver` new receiver component for collecting metrics about a kafka cluster - primarily lag and offset. [configuration instructions](receiver/kafkametricsreceiver/README.md) - `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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.24.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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) - `resourcedetection `processor: - 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.23.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.22.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) for deployment and configuration information. ### 🚀 New components 🚀 - `filelog` receiver to tail and parse logs from files using the [opentelemetry-log-collection](https://github.com/open-telemetry/opentelemetry-log-collection) library ### 💡 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.21.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.20.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.19.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-java-contrib/blob/v1.0.0-alpha/contrib/jmx-metrics/README.md) ### 🛑 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.18.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.17.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.16.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.15.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.14.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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: - Config options `metric_prefix` & `skip_create_metric_descriptor` are now nested under `metric`, see [README](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.14.0/exporter/stackdriverexporter/README.md). - Trace status codes no longer reflect gRPC codes as per spec changes: open-telemetry/opentelemetry-specification#1067 - `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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.13.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.12.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.11.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.10.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.9.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.8.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.7.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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 - `sentry` adds tracing exporter for [Sentry](https://sentry.io/) (#565) - 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.6.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.5.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.4.0) (be sure to check the release notes here as well!). Check out the [Getting Started Guide](https://opentelemetry.io/docs/collector/getting-started/) 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 - Enable best effort serve by default of Prometheus Exporter (https://github.com/orijtech/prometheus-go-metrics-exporter/pull/6) - Fix null pointer exception in the logging exporter #743 - Remove unnecessary condition to have at least one processor #744 - Updated Honeycomb exported to `honeycombio/opentelemetry-exporter-go v0.3.1` ### 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. [v0.3.0]: https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.2.8...v0.3.0 [v0.2.8]: https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.2.7...v0.2.8 [v0.2.7]: https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.2.6...v0.2.7 [v0.2.6]: https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.0.5...v0.2.6 [v0.0.5]: https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.0.1...v0.0.5 [v0.0.1]: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.0.1