Skip to content

Releases: open-telemetry/opentelemetry-collector-contrib

v0.108.0

27 Aug 21:13
v0.108.0
3a3b701
Compare
Choose a tag to compare

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

End User Changelog

🛑 Breaking changes 🛑

  • all: Added support for go1.23, bumped the minimum version to 1.22 (#34658)

  • lokiexporter: Update the scope name for telemetry produced by the lokiexporter from otelcol/loki to github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter (#34612)

  • azuretranslator: The scope name has been updated from otelcol/azureresourcelogs and otelcol/azureresourcetraces to github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure (#34712)

  • datadogreceiver: The scope name has been updated from otelcol/datadogreceiver to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver/internal/translator (#34711)

  • splunkhecexporter: The scope name has been updated from otelcol/splunkhec to github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter (#34710)

  • googlecloudmonitorreceiver: The scope name has been updated from otelcol/googlecloudmonitoringreceiver to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudmonitoringreceiver (#34709)

  • elasticsearchexporter: Update OTel mapping mode for logs and metrics; Remove trace_flags (#34472)
    Update logs and metrics OTel mapping mode to always emit "scope" and zero int, but not emit empty strings for known fields. Breaking change to remove trace_flags from logs.

  • elasticsearchexporter: Change default retry.retry_on_status to [429] (#32584)
    To retain the previous behavior, set retry.retry_on_status to [429, 500, 502, 503, 504].

  • gitproviderreceiver: Update metric names and attributes to match the newest Semantic Conventions for VCS. (#34278)
    Attribute Changes:

    • branch.name is now ref.name
    • Added a ref.type attribute
    • pull_request.state is now change.state
    • git.vendor.name is now vcs.vendor.name
      Metric Changes:
    • git.repository.count is now vcs.repository.count
    • git.repository.contributor.count is now vcs.repository.contributor.count
    • git.repository.branch.count is now vcs.repository.ref.count
    • git.repository.branch.time is now `vcs.repository.ref.time
    • git.repository.branch.commit.aheadby.count is now vcs.repository.ref.revisions_ahead
    • git.repository.branch.commit.behindby.count is now `vcs.repository.ref.revisions_behind
    • git.repository.branch.line.addition.count is now vcs.repository.ref.lines_added
    • git.repository.branch.line.deletion.count is now vcs.repository.ref.lines_deleted
    • git.repository.pull_request.time_open is now vcs.change.time_open
    • git.repository.pull_request.time_to_merge is now vcs.change.time_to_merge
    • git.repository.pull_request.time_to_approval is now vcs.change.time_to_approval
    • git.repository.pull_request.count is now vcs.change.count
  • transformprocessor: Promote processor.transform.ConvertBetweenSumAndGaugeMetricContext feature flag from alpha to beta (#34567)

  • exporter/datadog: The logs::dump_payloads config option is invalid when the Datadog Agent logs pipeline is enabled (now enabled by default). (#34420)
    An error will be raised if logs::dump_payloads is set while the Datadog Agent logs pipeline is enabled. To avoid this error, remove the logs::dump_payloads config option or temporarily disable the exporter.datadogexporter.UseLogsAgentExporter feature gate.

  • vcenterreceiver: Several host performance metrics now return 1 data point per time series instead of 5. (#34708)
    The 5 data points previously sent represented consecutive 20s sampling periods. Depending on the collection interval
    these could easily overlap. Sending just the latest of these data points is more in line with other performance metrics.

    This change also fixes an issue with the googlecloud exporter seeing these datapoints as duplicates.

    Following is the list of affected metrics which will now only report a single datapoint per set of unique attribute values.

    • vcenter.host.cpu.reserved
    • vcenter.host.disk.latency.avg
    • vcenter.host.disk.latency.max
    • vcenter.host.disk.throughput
    • vcenter.host.network.packet.drop.rate
    • vcenter.host.network.packet.error.rate
    • vcenter.host.network.packet.rate
    • vcenter.host.network.throughput
    • vcenter.host.network.usage

🚀 New components 🚀

  • exporter/doris: Add a new component for exporting logs, traces and metrics to Doris (#33479)

💡 Enhancements 💡

  • geoipprocessor: Add a context configuration option to specify the IP address attribute telemetry location. (#34036)
  • awss3receiver: Enhance the logging of the AWS S3 Receiver in normal operation to make it easier for user to debug what is happening. (#30750)
  • datadogreceiver: Implement '/info' endpoint (#34772)
  • datadogreceiver: Add sampling.priority attribute for Probabilistic Sampling Processor (#34267)
  • datadogreceiver: Implement '/stats' endpoint (#34790)
  • datadogconnector: Add a config traces::bucket_interval (#34554)
    traces::bucket_interval specifies the time interval size of aggregation buckets that aggregate the Datadog trace metrics. It is also the time interval that Datadog trace metrics payloads are flushed to the pipeline. Default is 10s if unset.
  • deltatocumulative: Promote to alpha stability (#34747)
    promotes the deltatocumulative processor to alpha stability, as most features are now implemented and ready for wider testing.
  • deltatocumulative: explicit-bounds histograms (#30705)
    implements aggregation of explicit-bounds (traditional) histograms.
  • elasticsearchexporter: Add OTel mapping mode for metrics (#34248)
  • elasticsearchexporter: Add OTel mapping mode for traces (#34588, #34590)
    Add OTel mapping mode support for traces, without span events.
  • filelogreceiver: If acquire_fs_lock is true, attempt to acquire a shared lock before reading a file. (#34801)
    Unix only. If a lock cannot be acquired then the file will be ignored until the next poll cycle.
  • solacereceiver: Updated the format for generated metrics. Included a receiver_name attribute that identifies the Solace receiver that generated the metrics (#34541)
  • geoipprocessor: Move processor's stability to alpha. (#34737)
  • prometheusreceiver: Ensure Target Allocator's confighttp is used in the receiver's service discovery (#33370)
  • datadogreceiver: Include error when logging unmarshaling failures in Datadog receiver. (#34515)
  • metricstransformprocessor: Add scaling exponential histogram support (#29803)
  • exporter/datadog: Use Datadog Agent logs pipeline by default for exporting logs to Datadog. Upgrades exporter.datadogexporter.UseLogsAgentExporter feature flag to beta. (#34420)
  • pkg/ottl: Introduce UserAgent converter to parse UserAgent strings (#32434)

🧰 Bug fixes 🧰

  • tailsamplingprocessor: Update the policy value in metrics dimension value to be unique across multiple tail sampling components with the same policy name. (#34192)
    This change ensures that the policy value in the metrics exported by the tail sampling processor is unique across multiple tail sampling processors with the same policy name.

  • datadogreceiver: add feature discovery (#34718)

  • datadogconnector: Put back the otelcol_ prefix for Datadog internal metrics on trace and APM stats exporting (#34807)
    Recovers these metrics from an upstream breaking change. See open-telemetry/opentelemetry-collector#9759 and open-telemetry/opentelemetry-collector#10940.

  • datadogexporter: Put back the otelcol_ prefix for Datadog internal metrics on trace and APM stats exporting (#34807)
    Recovers these metrics from an upstream breaking change. See open-telemetry/opentelemetry-collector#9759 and open-telemetry/opentelemetry-collector#10940.

  • awsfirehosereceiver: Fix validation of requests with empty access key (fixes CVE-2024-45043 / GHSA-prf6-xjxh-p698) (#34847)

  • connector/exceptionsconnector: Fix dimensions configuration did not take effect for resource attributes (#34603)

  • prometheusreceiver: Group scraped metrics into resources created from job and instance label pairs (#34237)
    The receiver will now create a resource for each distinct job/instance label combination.
    In addition to the label/instance pairs detected from the scraped metrics, a resource representing the overall
    scrape configuration will be created. This additional resource will contain the scrape metrics, such as the number of scraped metrics, the scrape duration, etc.

  • cmd/opampsupervisor: Fix supervisor support for Windows. (#34570)

  • tailsamplingprocessor: Fix the behavior for numeric tag filters with inverse_match set to true. (#34296)

  • pkg/stanza: fix nil value conversion (#34672)

  • k8sclusterreceiver: Lower the log level of a message indicating a cache miss from WARN to DEBUG. (#34817)

API Changelog

🛑 Breaking changes 🛑

  • pkg/stanza/operator/input/windows: Change type name from EvtRpcLogin to EvtRPCLogin. (#34656)

v0.107.0

13 Aug 05:02
v0.107.0
23d56ed
Compare
Choose a tag to compare

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

End User Changelog

v0.107.0

This release fixes CVE-2024-42368 on the bearerauthtokenextension (#34516)

🛑 Breaking changes 🛑

  • clickhouseexporter: Add compress option to ClickHouse exporter, with default value of lz4 (#34365)
    This change adds a new compress option to the config field and enables it by default.
    Prior to this change, compression was not enabled by default.
    The only way to enable compression prior to this change was via the DSN URL.
    With this change, lz4 compression will be enabled by default.
    The list of valid options is provided by the underlying clickhouse-go driver.
    While this change is marked as breaking, there should be no effect to existing deployments by enabling compression.
    Compression should improve network performance on most deployments that have a remote ClickHouse server.

  • Update the scope name for telemetry produce by components. The following table summarizes the changes:

Component name Previous scope New scope PR number
azureeventhubreceiver otelcol/azureeventhubreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver #34611
cloudfoundryreceiver otelcol/cloudfoundry github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver #34612
cloudflarereceiver otelcol/cloudflare github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver #34613
azuremonitorreceiver otelcol/azuremonitorreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver #34618
fileconsumer otelcol/fileconsumer github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer #34619
loadbalancingexporter otelcol/loadbalancing github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter #34429
sumologicexporter otelcol/sumologic github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter #34438
prometheusremotewriteexporter otelcol/prometheusremotewrite github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter #34440
activedirectorydsreceiver otelcol/activedirectorydsreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver #34492
aerospikereceiver otelcol/aerospikereceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver #34518
apachereceiver otelcol/apachereceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver #34517
apachesparkreceiver otelcol/apachesparkreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver #34519
bigipreceiver otelcol/bigipreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver #34520
chronyreceiver otelcol/chronyreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver #34524
couchdbreceiver otelcol/couchdbreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver #34525
countconnector otelcol/countconnector github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector #34583
deltatocumulativeprocessor otelcol/deltatocumulative github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor #34550
dockerstatsreceiver otelcol/dockerstatsreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver #34528
elasticsearchreceiver otelcol/elasticsearchreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver #34529
expvarreceiver otelcol/expvarreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver #34530
filestatsreceiver otelcol/filestatsreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver #34429
filterprocessor otelcol/filter github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor #34550
flinkmetricsreceiver otelcol/flinkmetricsreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver #34533
fluentforwardreceiver otelcol/fluentforwardreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver #34534
gitproviderreceiver otelcol/gitproviderreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/gitproviderreceiver #34496
googlespannerreceiver otelcol/googlecloudspannermetrics github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlespannerreceiver #34593
grafanacloudconnector otelcol/grafanacloud github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector #34552
groupbyattrsprocessor otelcol/groupbyattrs github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor #34550
groupbytraceprocessor otelcol/groupbytrace github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor #34550
haproxyreceiver otelcol/haproxyreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver #34498
hostmetricsreceiver receiver's scrapers otelcol/hostmetricsreceiver/* github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/* #34526
httpcheckreceiver otelcol/httpcheckreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver #34497
iisreceiver otelcol/iisreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver #34535
k8sattributesprocessor otelcol/k8sattributes github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor #34550
k8sclusterreceiver otelcol/k8sclusterreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver #34536
kafkametricsreceiver otelcol/kafkametricsreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver #34538
kafkareceiver otelcol/kafkareceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver #34539
kubeletstatsreceiver otelcol/kubeletstatsreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver #34537
memcachedreceiver otelcol/memcachedreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver #34542
mongodbatlasreceiver otelcol/mongodbatlasreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver #34543
mongodbreceiver otelcol/mongodbreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver #34544
mysqlreceiver otelcol/mysqlreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver #34545
nginxreceiver otelcol/nginxreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver #34493
nsxtreceiver otelcol/nsxtreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver #34429
oracledbreceiver otelcol/oracledbreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver #34491
otelarrowreceiver otelcol/otelarrowreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver #34546
podmanreceiver otelcol/podmanreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver #34429
postgresqlreceiver otelcol/postgresqlreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver #34476
probabilisticsamplerprocessor otelcol/probabilisticsampler github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor #34550
prometheusreceiver otelcol/prometheusreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver #34589
rabbitmqreceiver otelcol/rabbitmqreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver #34475
sshcheckreceiver otelcol/sshcheckreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver #34448
vcenterreceiver otelcol/vcenter github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver #34449
zookeeperreceiver otelcol/zookeeper github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver #34450
redisreceiver otelcol/redisreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver #34470
riakreceiver otelcol/riakreceiver `github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiv...
Read more

v0.106.1

31 Jul 13:14
v0.106.1
67e9293
Compare
Choose a tag to compare

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

End User Changelog

v0.106.1

🧰 Bug fixes 🧰

v0.106.0

30 Jul 01:48
v0.106.0
5914351
Compare
Choose a tag to compare

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

End User Changelog

v0.106.0

🛑 Breaking changes 🛑

  • vcenterreceiver: Enables various vCenter metrics that were disabled by default until v0.106.0 (#33607)
    The following metrics will be enabled by default "vcenter.datacenter.cluster.count", "vcenter.datacenter.vm.count", "vcenter.datacenter.datastore.count",
    "vcenter.datacenter.host.count", "vcenter.datacenter.disk.space", "vcenter.datacenter.cpu.limit", "vcenter.datacenter.memory.limit",
    "vcenter.resource_pool.memory.swapped", "vcenter.resource_pool.memory.ballooned", and "vcenter.resource_pool.memory.granted". The
    "resourcePoolMemoryUsageAttribute" has also been bumped up to release v.0.107.0

  • googlemanagedprometheusexporter: Fix typo in exporter.googlemanagedpromethues.intToDouble feature gate (#34232)

🚩 Deprecations 🚩

  • k8sattributesprocessor: Deprecate extract.annotations.regex and extract.labels.regex config fields in favor of the ExtractPatterns function in the transform processor. The FieldExtractConfig.Regex parameter will be removed in version v0.111.0. (#25128)
    Deprecating of FieldExtractConfig.Regex parameter means that it is recommended to use the ExtractPatterns function from the transform processor instead. To convert your current configuration please check the ExtractPatterns function documentation. You should use the pattern parameter of ExtractPatterns instead of using the FieldExtractConfig.Regex parameter.

🚀 New components 🚀

  • otlpjsonconnector: New component that will allow extracting otlpjson data from incoming Logs. (#34239, #34208)
  • redis_storage: Adds a new storage extension using Redis to store data in transit (#31682)

💡 Enhancements 💡

  • processor/transform: Add scale_metric function that scales all data points in a metric. (#16214)

  • vcenterreceiver: Adds vCenter vSAN host metrics. (#33556)
    Introduces the following vSAN host metrics to the vCenter receiver:

    • vcenter.host.vsan.throughput
    • vcenter.host.vsan.iops
    • vcenter.host.vsan.congestions
    • vcenter.host.vsan.cache.hit_rate
    • vcenter.host.vsan.latency.avg
  • transformprocessor: Support aggregating metrics based on their attributes. (#16224)

  • metricstransformprocessor: Adds the 'median' aggregation type to the Metrics Transform Processor. Also uses the refactored aggregation business logic from internal/core package. (#16224)

  • telemetrygen: uses the go logging SDK instead of pdata (#18902)

  • elasticsearchexporter: Add explicit bounds histogram support to metrics (#34045)

  • hostmetricsreceiver: allow configuring log pipeline to send host EntityState event (#33927)

  • elasticsearchexporter: Introduce an experimental OTel native mapping mode for logs (#33290)

  • extension/healthcheckv2: Add extension/subcomponent management logic. (#26661)

  • otlpjsonconnector: Add connector's implementations (#34249, #34208)

  • windowsperfcountersreceiver: Improve handling of non-existing instances for Windows Performance Counters (#33815)
    It is an expected that when querying Windows Performance Counters the targeted instances may not be present.
    The receiver will no longer require the use of recreate_query to handle non-existing instances.
    As soon as the instances are available, the receiver will start collecting metrics for them.
    There won't be warning log messages when there are no matches for the configured instances.

  • kafkareceiver: Add settings session_timeout and heartbeat_interval to Kafka Receiver for group management facilities (#28630)

  • otelarrowreceiver, otelarrowexporter: OTel-Arrow internal packages moved into this repository. (#33567)
    New integration testing between otelarrowexporter and otelarrowreceiver.

  • otlpjsonconnector: Move connector's stability to alpha. (#34208, #34253)

  • pkg/ottl: Adds an Format function to OTTL that calls fmt.Sprintf (#33405)

  • vcenterreceiver: Adds a number of default disabled vSAN metrics for Clusters. (#33556)

  • vcenterreceiver: Adds a number of default disabled vSAN metrics for Virtual Machines. (#33556)

🧰 Bug fixes 🧰

  • clickhouseexporter: Increase the default number of queue consumers to 10 (#34176)
  • opencensusreceiver: Do not report an error into resource status during receiver shutdown when the listener connection was closed. (#33865)
  • datadogconnector: Produce stats for non-root client and producer spans when connector.datadogconnector.NativeIngest and compute_top_level_by_span_kind are enabled (#34197)
    You should have only run into this bug when ALL the conditions below are met
    1. feature gate connector.datadogconnector.NativeIngest is enabled
    2. config compute_top_level_by_span_kind is set to true
    3. config compute_stats_by_span_kind is unset or set to false
    4. you have child spans with client or producer span kind
  • datadogconnector: Respect _dd.measured when connector.datadogconnector.NativeIngest is enabled (#34197)
    Spans with attribute _dd.measured set to 1 will always get Datadog APM stats
  • deltatocumulativeprocessor: fix bucket counts when downscaling exp histograms with odd offsets (#33831)
  • otelarrowreceiver: Fix potential goroutine leak when in stream-shutdown. (#34236)
  • otelarrowreceiver: Eliminate one spurious span error. (#34175)
  • pkg/ottl: Handle JSON array provided to ParseJSON function (#33535)
  • exporter/datadog: Fixes a bug where otelcol_exporter_sent_log_records was reporting double as many logs sent when using the logs agent feature gate. (#33887)
  • statsdeceiver: Log only non-EOF errors when reading payload received via TCP. (#33951)
  • vcenterreceiver: Adds destroys to the ContainerViews in the client. (#34254)
    This may not be necessary, but it should be better practice than not.

v0.105.0

16 Jul 21:48
d6be16b
Compare
Choose a tag to compare

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

End User Changelog

v0.105.0

🛑 Breaking changes 🛑

  • skywalkingexporter: Remove unmaintained component (#23796)
  • elasticsearchexporter: Make "dedup" option no-op, always de-duplicate. (#33773)
    Elasticsearch does not permit duplicate keys in JSON objects, so there is no value in being able to configure deduplication.
  • elasticsearchexporter: Remove defunct "file" and "fields" configuration settings. (#33803)
    This is a breaking change only because removing the attributes would prevent collector startup if those attributes are specified, but otherwise there is no functional change. These configuration attributes have never done anything.
  • stanza: errors from Operator.Process are returned instead of silently ignored. (#33783)
    This public function is affected: https://pkg.go.dev/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/operator/helper#WriterOperator.Write
  • vcenterreceiver: Enables various vCenter metrics that were disabled by default until v0.105 (#34022)
    The following metrics will be enabled by default "vcenter.host.network.packet.drop.rate",
    "vcenter.vm.cpu.readiness", "vcenter.host.cpu.capacity", and "vcenter.host.cpu.reserved".

🚩 Deprecations 🚩

  • lokiexporter: Deprecate component (#33916)

🚀 New components 🚀

  • sumconnector: creates a wireframe and initial pr to develop from (#32669)
  • extensions/observer/cfgardenobserver: Add a new observer that discovers containers through the Garden API (#33618)

💡 Enhancements 💡

  • pkg/ottl: Added Hex() converter function (#31929)

  • pkg/ottl: Add IsRootSpan() converter function. (#32918)
    Converter IsRootSpan() returns true if the span in the corresponding context is root, that means its parent_span_id equals to hexadecimal representation of zero. In all other scenarios function returns false.

  • vcenterreceiver: Adds additional vCenter resource pool metrics and a memory_usage_type attribute for vcenter.resource_pool.memory.usage metric to use. (#33607)
    Added "vcenter.resource_pool.memory.swapped", "vcenter.resource_pool.memory.ballooned", and "vcenter.resource_pool.memory.granted"
    metrics. Also added an additional attribute, "memory_usage_type" for "vcenter.resource_pool.memory.usage" metric, which is
    currently under a feature gate.

  • kubeletstatsreceiver: Add k8s.pod.memory.node.utilization and k8s.container.memory.node.utilization metrics (#33591)

  • vcenterreceiver: Adds vCenter metrics at the datacenter level. (#33607)
    Introduces various datacenter metrics which work by aggregating stats from datastores, clusters, hosts, and VM's.

  • processor/resource, processor/attributes: Add an option to extract value from a client address by specifying client.address value in the from_context field. (#34051)

  • awss3receiver: Add support for retrieving logs and metrics to the AWS S3 Receiver. (#30750)

  • receiver/azuremonitorreceiver: Add support for Managed Identity and Default Credential auth (#31268, #33584)

  • azuremonitorreceiver: Add maximum_number_of_records_per_resource config parameter in order to overwrite default (#32165)

  • clickhouseexporter: Upgrading stability for logs to beta (#33615)
    The logs exporter has been proven to be stable for large scale production deployments.
    Configuration options specific to logs are unlikely to change.

  • cloudfoundryreceiver: Add support to receive CloudFoundry Logs (#32671)

  • datadogreceiver: Add support for metrics in Datadog receiver (#18278)

  • datadogexporter: Add a feature gate exporter.datadogexporter.TraceExportUseCustomHTTPClient that allows a custom HTTP client to be used in trace export (#34025)
    This is an experimental feature. By default the feature gate is disabled and trace export uses a default HTTP client.

  • elasticsearchexporter: Introduce experimental telemetry.log_request_body and telemetry.log_response_body config (#33854)

  • cmd/opampsupervisor: Adds support for forwarding custom messages to/from the agent (#33575)

  • geoipprocessor: Add providers configuration and maxmind provider factory (#33269)

  • healthcheckv2extension: Add partial gRPC service implementation to healthcheckv2. (#26661)

  • healthcheckv2extension: Add support for streaming Watch RPC to healthcheckv2 gRPC service. (#26661)

  • healthcheckv2extension: Add HTTP service to healthcheckv2 (#26661)

  • splunkhecexporter: Increase the performance of JSON marshaling (#34011)

  • pkg/stanza: Add parse_ints config in json parser to support parsing int or float properly (#33696)

  • loadbalancingexporter: Adds a new streamID routingKey, which will route based on the datapoint ID. See updated README for details (#32513)

  • awsxrayexporter: Allow multiple log group names/arns to be set in environmental variables (#33795)

  • dockerobserver: Add hint to error when using float for api_version field (#34043)

  • dockerstatsreceiver: Add hint to error when using float for api_version field (#34043)

  • pkg/ottl: Emit traces for statement sequence executions to troubleshoot OTTL statements/conditions (#33433)

  • pkg/stanza: Bump 'logs.jsonParserArray' and 'logs.assignKeys' feature gates to beta. (#33948)
    This enables the feature gates by default to allow use of the
    json_array_parser and assign_keys operations.

  • receiver/filelog: Add filelog.container.removeOriginalTimeField feature-flag for removing original time field (#33946)

  • statsdreceiver: Allow configuring summary percentiles (#33701)

  • pkg/stanza: Switch to faster json parser lib for container operator (#33929)

  • telemetrygen: telemetrygen --rate flag changed from Int64 to Float64 (#33984)

  • extension/opamp: Rely on the Collector APIs to do config redaction (#34078)
    Previously all config fields had to be redacted, now configopaque.String is used to determine
    which fields should be redacted. As a result, fields that are not sensitive are no longer redacted.

  • azuremonitorreceiver: Upgrade stability to alpha (#33689)

  • windowsperfcountersreceiver: windowsperfcountersreceiver now appends an index number to additional instance names that share a name. An example of this is when scraping 
rocess(*) counters with multiple running instances of the same executable. (#32319)
    NOTES

    • This change can expose cardinality issues where the counters were previously collapsed under the non-indexed instance name.
    • The change mimics Windows Performance Monitor behavior: The first instance name remains unchanged, additional instances are suffixed with #<N> where N=1 and is increased for each duplicate.
      • e.g. Given 3 powershell instances, this will return powershell, powershell#1 and powershell#2.

🧰 Bug fixes 🧰

  • servicegraphconnector: Fix failed label does not work leads to servicegraph metrics error (#32018)
  • apachesparkreceiver: Updating the stability to reflect that the component is shipped as part of contrib. (#33906)
  • azureblobreceiver: Updating the stability to reflect that the component is shipped as part of contrib. (#33902)
  • countconnector: Updating the stability to reflect that the component is shipped as part of contrib. (#33903)
  • deltatorateprocessor: Updating the stability to reflect that the component is shipped as part of contrib. (#33904)
  • httpcheckreceiver: Updating the stability to reflect that the component is shipped as part of contrib. (#33897)
  • metricsgenerationprocessor: Updating the stability to reflect that the component is shipped as part of contrib. (#33905)
  • podmanreceiver: Updating the stability to reflect that the component is shipped as part of contrib. (#33899)
  • purefareceiver: Updating the stability to reflect that the component is shipped as part of contrib. (#33901)
  • purefbreceiver: Updating the stability to reflect that the component is shipped as part of contrib. (#33900)
  • zookeeperreceiver: Updating the stability to reflect that the component is shipped as part of contrib. (#33898)
  • probabilisticsamplerprocessor: Fix bug where log sampling was being reported by the counter otelcol_processor_probabilistic_sampler_count_traces_sampled (#33874)
  • cmd/telemetrygen: Fix make docker-telemetrygen command. (#33989)
  • processor/groupbyattrsprocessor: Fix dropping of metadata fields when processing metrics. (#33419)
  • testbed: Fixes incorrect count for sent data items in load generator. (#34057)
  • prometheusreceiver: Fix hash computation to include non exported fields like regex in scrape configuration for TargetAllocator (#29313)
  • datadogexporter: Exit when API key validation fails and api::fail_on_invalid_key is set to true. (#33935)
  • kafkametricsreceiver: Fix issue with incorrect consumer offset (#33309)
  • sqlserverreceiver: Enable default metrics to properly trigger SQL Server scrape (#34065)
  • syslogreceiver: Allow to define max_octets for octet counting RFC5424 syslog parser (#33182)
  • windowsperfcountersreceiver: Metric definitions with no matching performance counter are no longer included as metrics with zero datapoints in the scrape output. (#4972)

Go API Changelog

No changes.

v0.104.0

01 Jul 23:16
v0.104.0
38f97b6
Compare
Choose a tag to compare

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

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

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

End User Changelog

🛑 Breaking changes 🛑

  • sumologicexporter: removed compress_encoding (#33604)

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

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

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

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

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

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

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

🚩 Deprecations 🚩

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

🚀 New components 🚀

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

💡 Enhancements 💡

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

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

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

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

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

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

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

  • sumologicexporter: added timeout validation (#33151)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🧰 Bug fixes 🧰

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

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

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

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

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

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

    This was breaking the documented behaviour that inv...

Read more

v0.103.0

19 Jun 13:22
v0.103.0
6dd3bae
Compare
Choose a tag to compare

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

End User Changelog

🛑 Breaking changes 🛑

  • cmd/opampsupervisor,extension/opamp: Upgrade the opamp-go library to v0.15.0 (#33416)
    With this change, UUIDv7 is recommended for the OpAMP extension's instance_uid field instead of ULID. ULIDs will continue to work, but may be displayed as UUIDs.
    The supervisor's persistent state (${storage_dir}/persistent_state.yaml) will need to be cleared to generate a new UUIDv7 instead of a ULID.
    This change may be incompatible with management servers using v0.14.0 of opamp-go.

  • mongodbreceiver: Now only supports TCP connections (#32199)
    This fixes a bug where hosts had to explicitly set tcp as the transport type. The transport option has been removed.

  • cmd/configschema: Removes the deprecated configschema command. This command will no longer be released or supported. (#33384)

  • sqlserverreceiver: sqlserver.database.io.read_latency has been renamed to sqlserver.database.latency with a direction attribute. (#29865)

🚩 Deprecations 🚩

  • healthcheckextension: Remove incorrect logic behind check_collector_pipeline config (#33469)
    This logic incorrectly set the pipeline to OK after waiting for enough callbacks from the
    opencensus library to be called. As this was broken, I'm removing it to remove the dependency
    on opencensus as well. Improvements will be available via healthcheckv2 extension.

  • googlecloudspannerreceiver: Mark the component as unmaintained. If we don't find new maintainers, it will be deprecated and removed. (#32651)

💡 Enhancements 💡

  • filelogreceiver: If include_file_record_number is true, it will add the file record number as the attribute log.file.record_number (#33530)

  • kubeletstats: Add k8s.pod.cpu.node.utilization metric (#33390)

  • awss3exporter: endpoint should contain the S3 bucket (#32774)

  • awss3receiver: Add support for encoding extensions to be used in the AWS S3 Receiver. (#30750)

  • gitproviderreceiver: Adds branch commit and line based metrics (#22028)
    Adds the following branch based metrics.

    • git.repository.branch.time
    • git.repository.branch.commit.aheadby.count
    • git.repository.branch.commit.behindby.count
    • git.repository.branch.line.deletion.count
    • git.repository.branch.line.addition.count
  • statsdreceiver: update statsd receiver to use mdatagen (#33524)

  • coralogixexporter: Allow setting application name from cx.application.name and cx.subsystem.name resource attributes (#33217)

  • metricstransformprocessor: Adds the 'count' aggregation type to the Metrics Transform Processor. (#24978)

  • elasticsearchexporter: Add support for confighttp options, notably "auth". (#33367)
    Add support for confighttp and related configuration settings, such as "auth".
    This change also means that the Elasticsearch URL may be specified as "endpoint",
    like the otlphttp exporter.

  • elasticsearchexporter: Check that endpoints are valid URLs during config validation. (#33350)
    Check that endpoints are valid URLs during config validation so that
    an invalid endpoint causes a fatal error during startup, rather than
    leading to a persistent runtime error.

  • opampsupervisor: Add config validation for the supervisor config (#32843)

  • statsdreceiver: Added received/accepted/refused metrics (#24278)

  • filelogreceiver: Add support for gzip compressed log files (#2328)

  • confmap/provider/secretsmanagerprovider: Add support for JSON formatted secrets in secretsmanagerprovider confmap (#32143)
    The secretsmanagerprovider confmap will now allow to get secret by a json key if the secret value is json.
    To specify key separate key from secret name/arn by # e.g. mySecret#mySecretKey.

  • geoipprocessor: Add initial processing based on source.address resource attribute (#32663)

  • healthcheckv2extension: Add shared aggregation logic for status events. (#26661)

  • tailsamplingprocessor: Simple LRU Decision Cache for "keep" decisions (#31583)

  • processor/tailsampling: Migrates internal telemetry to OpenTelemetry SDK via mdatagen (#31581)
    The metric names and their properties, such as bucket boundaries for histograms, were kept like before, to keep backwards compatibility.

  • kafka: Added disable_fast_negotiation configuration option for Kafka Kerberos authentication, allowing the disabling of PA-FX-FAST negotiation. (#26345)

  • pkg/ottl: Added keep_matching_keys function to allow dropping all keys from a map that don't match the pattern. (#32989)

  • OTel-Arrow: Update to OTel-Arrow v0.24.0 (#26491)

  • pkg/ottl: Add debug logs to help troubleshoot OTTL statements/conditions (#33274)

  • pkg/ottl: Introducing append function for appending items into an existing array (#32141)

  • pkg/ottl: Introducing Uri converter parsing URI string into SemConv (#32433)

  • probabilisticsamplerprocessor: Add Proportional and Equalizing sampling modes (#31918)
    Both the existing hash_seed mode and the two new modes use OTEP 235 semantic conventions to encode sampling probability.

  • prometheusreceiver: Resource attributes produced by the prometheus receiver now include stable semantic conventions for server and url. (#32814)
    To migrate from the legacy net.host.name, net.host.port, and http.scheme resource attributes, |
    migrate to server.address, server.port, and url.scheme, and then |
    set the receiver.prometheus.removeLegacyResourceAttributes feature gate.

  • datadogexporter: The Datadog Exporter now supports the proxy_url parameter to configure an HTTP proxy to use when sending telemetry to Datadog. (#33316)

  • spanmetrics: Produce delta temporality span metrics with StartTimeUnixNano and TimeUnixNano values representing an uninterrupted series (#31671, #30688)
    This allows producing delta span metrics instead of the more memory-intensive cumulative metrics, specifically when a downstream component can convert the delta metrics to cumulative.

  • sqlserverreceiver: Add support for more Database IO metrics (#29865)
    The following metrics have been added:

    • sqlserver.database.latency
    • sqlserver.database.io
    • sqlserver.database.operations
  • cmd/opampsupervisor: Receive and report effective config to the OpAMP server (#30622)

  • processor/transform: Add transform.flatten.logs featuregate to give each log record a distinct resource and scope. (#32080)
    This option is useful when applying transformations which alter the resource or scope. e.g. set(resource.attributes["to"], attributes["from"]), which may otherwise result in unexpected behavior. Using this option typically incurs a performance penalty as the processor must compute many hashes and create copies of resource and scope information for every log record.

  • receiver/windowsperfcounters: Counter configuration now supports recreating the underlying performance query at scrape time. (#32798)

🧰 Bug fixes 🧰

  • filelogreceiver: Container parser should add k8s metadata as resource attributes and not as log record attributes (#33341)
  • deltatocumulative: properly drop samples when at limit (#33285)
    fixes a segfault in the limiting behavior, where streams exceeding the limit still had their samples processed. due to not being tracked, this led to a nil-pointer deref
  • postgresqlreceiver: Fix bug where postgresql.rows always returning 0 for state="dead" (#33489)
  • prometheusreceiver: Fall back to scrape config job/instance labels for aggregated metrics without instance/job labels (#32555)
  • elasticsearchexporter: Duplicate Key in JSON (#33454)
  • logzioexporter: Fix issue where log attributes were not correctly exported (#33231)
  • exporter/datadog: Prevents collector shut down when Datadog logs pipeline fails to validate API key (#33195)

API Changelog

🛑 Breaking changes 🛑

  • stanza: remove deprecated code (#33519)
    This change removes:
    • adapter.LogEmitter, use helper.LogEmitter instead
    • adapter.NewLogEmitter, use helper.NewLogEmitter instead
    • fileconsumer.Manager's SugaredLogger struct member
    • pipeline.DirectedPipeline's SugaredLogger struct member
    • testutil.Logger, use zaptest.NewLogger instead

💡 Enhancements 💡

  • pkg/winperfcounters: It is now possible to force a watcher to re-create the PDH query of a given counter via the Reset() function. (#32798)

v0.102.0

04 Jun 11:29
6b1d3dd
Compare
Choose a tag to compare

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

End User Changelog

🛑 Breaking changes 🛑

  • k8sattributesprocessor: Move k8sattr.rfc3339 feature gate to stable. (#33304)

  • extension/opamp: Redact all values in the effective config (#33267)
    All values will be treated as if they are a configopaque.String type. This will
    be changed once the Collector APIs are updated to unmarshal the config while
    only redacting actual configopaque.String-typed values.

    The exception to redaction is the service::pipelines section, which is useful
    for debugging and does not contain any configopaque.String values.

  • extension/filestorage: Replace path-unsafe characters in component names (#3148)
    The feature gate extension.filestorage.replaceUnsafeCharacters is now removed.

  • vcenterreceiver: vcenterreceiver replaces deprecated packet metrics by removing them and enabling by default the newer ones. (#32929, #32835)
    Removes the following metrics: vcenter.host.network.packet.errors, vcenter.host.network.packet.count, and
    vcenter.vm.network.packet.count.

    Also enables by default the following metrics: vcenter.host.network.packet.error.rate,
    vcenter.host.network.packet.rate, and vcenter.vm.network.packet.rate.

🚀 New components 🚀

  • geoipprocessor: introduce the GeoIP processor (#32663)

💡 Enhancements 💡

  • pkg/ottl: Add the Day Converter to extract the int Day component from a time.Time (#33106)
  • pkg/ottl: Adds Month converter to extract the int Month component from a time.Time (#33106)
  • cmd/telemetrygen: Add support for adding spanID and traceID as exemplars to datapoints generated by telemetrygen (#33320)
  • cmd/telemetrygen: Add support for specifying trace ID and span ID in telemetrygen for logs (#33234)
  • pkg/ottl: Adds a Year converter for extracting the int year component from a time.Time (#33106)
  • filelogreceiver: Log when files are rotated/moved/truncated (#33237)
  • stanza: Add monitoring metrics for open and harvested files in fileconsumer (#31256)
  • awss3receiver: Uses obsreport to report metrics for the AWS S3 Receiver. (#30750)
  • awsxrayexporter: AWS X-Ray exporter to make local root spans a segment for internal/service spans and subsegment + segment for client/producer/consumer spans. (#33000)
  • prometheusreceiver: Allow to configure http client used by target allocator generated scrape targets (#18054)
  • clickhouseexporter: Add create_schema option to ClickHouse exporter (#32282)
    The new create_schema option allows disabling default DDL to let the user manage their own schema.
  • pkg/stanza: Expose recombine max log size option in the container parser configuration (#33186)
  • sumologicexporter: add support for tracing (#32315)
  • exceptionsconnector: Add support for exemplars in exceptionsconnector (#24409)
  • processor/resourcedetectionprocessor: Add support for Azure tags in ResourceDetectionProcessor. (#32953)
  • solarwindsapmsettingsextension: Added the first part of concrete implementation of solarwindsapmsettingsextension (#27668)
  • kubeletstatsreceiver: Add k8s.container.cpu.node.utilization metric (#27885)
  • pkg/ottl: Adds a Minute converter for extracting the int minute component from a time.Time (#33106)

🧰 Bug fixes 🧰

  • podmanreceiver: add scraper's shutdown method (#29994)
  • awsxrayexporter: Fix the DB subsegment(client span) name with JDBC conn string starts with "jdbc:" (#33225)
  • exp/metrics: fixes staleness.Evict such that it only ever evicts actually stale metrics (#33265)
  • receiver/mysql: Remove the order by clause for the column that does not exist (#33271)
  • influxdb(exporter|receiver): remove Metric flags field to/from InfluxDB conversion (#29896)
  • kafkareceiver: Fix bug that was blocking shutdown (#30789)
  • exporter/datadog: Fixes a potential race condition when the traces exporter and metrics exporter are both shutting down. (#33291)

API Changelog

💡 Enhancements 💡

  • prometheusreceiver: Allow to configure http client used by target allocator generated scrape targets (#18054)

🧰 Bug fixes 🧰

  • exp/metrics: fixes staleness.Evict such that it only ever evicts actually stale metrics (#33265)

v0.101.0

21 May 19:28
v0.101.0
c0b5113
Compare
Choose a tag to compare

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

End User Changelog

🛑 Breaking changes 🛑

  • sumologicexporter: change logs behavior (#31479)

    • set OTLP as default format
    • add support for OTLP format
    • do not support metadata attributes
    • do not support source headers
  • sumologicexporter: change metrics behavior (#31479)

    • remove suppport for carbon2 and graphite
    • add support for otlp format
    • do not support metadata attributes
    • do not support source headers
    • set otlp as default metrics format
  • sumologicexporter: remove deprecated configuration options (#32315)
    migration has been described in the following document
    https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.100.0/exporter/sumologicexporter#migration-to-new-architecture

  • remotetapprocessor: Make the limit configuration work properly. (#32385)
    The limit configuration was ignored previously, but now it works according to the configuration and documentation.
    Nothing is required of users.
    See the remotetapprocessor's README.md for details.

  • groupbytraceprocessor: Fix groupbytrace metrics contain duplicate prefix (#32698)

  • vcenterreceiver: Removes vcenter.cluster.name attribute from vcenter.datastore metrics (#32674)
    If there were multiple Clusters, Datastore metrics were being repeated under Resources differentiated with a
    vcenter.cluster.name resource attribute. In the same vein, if there were standalone Hosts, in addition to
    clusters the metrics would be repeated under a Resource without the vcenter.cluster.name attribute. Now there
    will only be a single set of metrics for one Datastore (as there should be, as Datastores don't belong to
    Clusters).

  • resourcedetectionprocessor: Move processor.resourcedetection.hostCPUModelAndFamilyAsString feature gate to stable. (#29025)

  • filelog, journald, tcp, udp, syslog, windowseventlog receivers: The internal logger has been changed from zap.SugaredLogger to zap.Logger. (#32177)
    This should not have any meaningful impact on most users but the logging format for some logs may have changed.

  • awsxrayexporter: change x-ray exporter's translator to make "." split annotation pass as-is (#32694, #31732)
    This change make below change to beta stage for feature gate 'exporter.xray.allowDot',this change will let the change mention below enable by default | In the past, X-Ray doesn’t support “.”. So we have a translator in x-ray export to translates it to “_” before sending traces to X-Ray Service. | To match otel naming style, x-ray service team decide to change their service to support both "." type and "" type of naming. In this case the translator that translate "." to "" is no-longer needed. This PR change the way this translator work | X-Ray PMs agree on rolling out this change by using feature-gate

🚀 New components 🚀

  • awss3receiver: Initial implementation of the AWS S3 receiver. (#30750)

  • receiver/mysql: Adds INFORMATION_SCHEMA TABLES metrics (#32693)
    This adds table size metrics using the INFORMATION_SCHEMA TABLES table: https://dev.mysql.com/doc/refman/8.3/en/information-schema-tables-table.html.
    Specifically, we are adding the columns: TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH, INDEX_LENGTH.

  • exporter/otelarrow: Implementation copied from opentelemetry/otel-arrow repository @v0.23.0. (#26491)

💡 Enhancements 💡

  • filelogreceiver: Add container operator parser (#31959)

  • jsonlogencodingextension: Move jsonlogencodingextension to alpha (#32697)

  • exceptionsconnector: Make span name a default dimension for ouput metrics and log records. (#32162)

  • azureblobreceiver: Support service principal authentication for Blob storage (#32705)

  • deltatocumulativeprocessor: exponential histogram accumulation (#31340)
    accumulates exponential histogram datapoints by adding respective bucket counts. also handles downscaling, changing zero-counts, offset adaptions and optional fields

  • sumologicexporter: add sticky session support (#32315)

  • elasticsearchexporter: Replace go-elasticsearch BulkIndexer with go-docappender (#32378)
    Replace go-elasticsearch BulkIndexer with go-docappender bulk indexer, in preparation for future reliability fixes.
    As a result of this change, there are minor behavioral differences:

    • flush timeout is now enforced on client side
    • oversize payload special handling is now removed
    • go-docappender uses bulk request filterPath which means bulk response is smaller, less JSON parsing and lower CPU usage
    • document level retry debug logging is removed as retries are done transparently
  • elasticsearchexporter: Converts more SemConv fields in OTel events to ECS fields in Elasticsearch documents when mapping.mode: ecs is specified. (#31694)

  • extension/storage/filestorage: New flag cleanup_on_start for the compaction section (default=false). (#32863)
    It will remove all temporary files in the compaction directory (those which start with tempdb),
    temp files will be left if a previous run of the process is killed while compacting.

  • opampsupervisor: Allows the supervisor to persist its instance ID between restarts. (#21073)

  • opampsupervisor: Adds the ability to configure the agent description (#32824)

  • vcenterreceiver: Refactors how and when client makes calls in order to provide for faster collection times. (#31837)

  • resourcedetectionprocessor: Support GCP Bare Metal Solution in resource detection processor. (#32985)

  • splunkhecreceiver: Make the channelID header check case-insensitive and allow hecreceiver endpoints able to extract channelID from query params (#32995)

  • processor/transform: Allow common where clause (#27830)

  • loadbalancingexporter: Improve the performance when merging traces belonging to the same backend (#32032)

  • pkg/ottl: Added support for timezone in Time converter (#32140)

  • jsonlogencodingextension: Adds a new encoding option for JSON log encoding exension to grab attributes and resources from a log and output that in JSON format. (#32679)

  • probabilisticsamplerprocessor: Adds the FailClosed flag to solidify current behavior when randomness source is missing. (#31918)

  • prometheusremotewriteexporter: Add exporter.prometheusremotewritexporter.RetryOn429 feature gate to retry on http status code 429 response. (#31032)
    The feature gate is initially disabled by default.

  • vcenterreceiver: Changing various default configurations for vcenterreceiver and removing warnings about future release. (#32803, #32805, #32821, #32531, #32557)
    The resource attributes that will now be enabled by default are vcenter.datacenter.name, vcenter.virtual_app.name,
    vcenter.virtual_app.inventory_path, vcenter.vm_template.name, and vcenter.vm_template.id. The metric
    vcenter.cluster.memory.used will be removed. The metrics vcenter.cluster.vm_template.count and
    vcenter.vm.memory.utilization will be enabled by default.

  • sqlserverreceiver: Add metrics for database status (#29865)

  • sqlserverreceiver: Add more metrics (#29865)
    Added metrics are:

    • sqlserver.resource_pool.disk.throttled.read.rate
    • sqlserver.resource_pool.disk.throttled.write.rate
    • sqlserver.processes.blocked
      These metrics are only available when directly connecting to the SQL server instance
  • extension/encoding/text_encoding: Add support for marshaling and unmarshaling text with separators. (#32679)

🧰 Bug fixes 🧰

  • deltatocumulativeprocessor: Evict only stale streams (#33014)
    Changes eviction behavior to only evict streams that are actually stale.
    Currently, once the stream limit is hit, on each new stream the oldest tracked one is evicted.
    Under heavy load this can rapidly delete all streams over and over, rendering the processor useless.

  • elasticsearchexporter: Retried docs are no longer included in failed docs in an edge case where all errors are retriable (#33092)
    Update dep go-docappender to 2.1.2.
    This fixes the bug when all errors are retriable in bulk request response, retried docs will be included in failed docs.

  • cmd/opampsupervisor: The OpAMP supervisor now configures the ppid parameter of the opamp extension, which allows the collector to shut down if the supervisor is no longer running. (#32189)

  • vcenterreceiver: Adds inititially disabled packet drop rate metric for VMs. (#32929)

  • awskinesisexporter: fixed compressed data not generating the compression footers (#32860)

  • splunkhecreceiver: Fix single metric value parsing (#33084)

  • vcenterreceiver: vcenterreceiver client no longer returns error if no Virtual Apps are found. (#33073)

  • vcenterreceiver: Adds inititially disabled new packet rate metrics to replace the existing ones for VMs & Hosts. (#32835)

  • googlecloudpubsubreceiver: Fix memory leak during shutdown (#32361)

  • datadogexporter: Compress host metadata before sending with gzip. (#32992)

  • resourcedetectionprocessor: Change type of host.cpu.stepping from int to string. (#31136)

    • Disable the processor.resourcedetection.hostCPUSteppingAsString feature gate to get the old behavior.
  • pkg/ottl: Fixes a bug where function name could be used in a condition, resulting in a cryptic error message. (#33051)

API Changelog

🛑 Breaking changes 🛑

  • opampextension: Move custom message interfaces to separate package (#32950)
    Moves CustomCapabilityRegistry, CustomCapabilityHandler, and CustomCapabilityRegisterOption to a new module.
    These types can now be found in the new github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages module.

  • `pkg/stan...

Read more

v0.100.0

06 May 19:25
v0.100.0
e85e670
Compare
Choose a tag to compare

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

End User Changelog

🛑 Breaking changes 🛑

  • receiver/hostmetrics: enable feature gate receiver.hostmetrics.normalizeProcessCPUUtilization (#31368)
    This changes the value of the metric process.cpu.utilization by dividing it by the number of CPU cores.
    For example, if a process is using 2 CPU cores on a 16-core machine,
    the value of this metric was previously 2, but now it will be 0.125.

  • testbed: Remove deprecated GetAvailablePort function (#32800)

🚀 New components 🚀

  • healthcheckv2extension: Introduce the skeleton for the temporary healthcheckv2 extension. (#26661)
  • intervalprocessor: Implements the new interval processor. See the README for more info about how to use it (#29461)
  • OpenTelemetry Protocol with Apache Arrow Receiver: Implementation copied from opentelemetry/otel-arrow repository @v0.20.0. (#26491)
  • roundrobinconnector: Add a roundrobin connector, that can help single thread components to scale (#32853)

💡 Enhancements 💡

  • telemetrygen: Add support to set metric name (#32840)

  • exporter/kafkaexporter: Enable setting message topics using resource attributes. (#31178)

  • exporter/datadog: Introduces the Datadog Agent logs pipeline for exporting logs to Datadog under the "exporter.datadogexporter.UseLogsAgentExporter" feature gate. (#32327)

  • elasticsearchexporter: Add retry.retry_on_status config (#32584)
    Previously, the status codes that trigger retries were hardcoded to be 429, 500, 502, 503, 504.
    It is now configurable using retry.retry_on_status, and defaults to [429, 500, 502, 503, 504] to avoid a breaking change.
    To avoid duplicates, it is recommended to configure retry.retry_on_status to [429], which would be the default in a future version.

  • exporter/splunkhec: add experimental exporter batcher config (#32545)

  • windowsperfcountersreceiver: Returns partial errors for failures during scraping to prevent throwing out all successfully retrieved metrics (#16712)

  • jaegerencodingextension: Promote jaegerencodingextension to alpha (#32699)

  • kafkaexporter: add an ability to publish kafka messages with message key based on metric resource attributes - it will allow partitioning metrics in Kafka. (#29433, #30666, #31675)

  • cmd/opampsupervisor: Switch the OpAMP Supervisor's bootstrap config to use the nopreceiver and nopexporter (#32455)

  • otlpencodingextension: Move otlpencodingextension to alpha (#32701)

  • prometheusreceiver: Prometheus receivers and exporters now preserve 'unknown', 'info', and 'stateset' types. (#16768)
    It uses the metric.metadata field with the 'prometheus.type' key to store the original type.

  • ptracetest: Add support for ignore scope span instrumentation scope information (#32852)

  • sqlserverreceiver: Enable direct connection to SQL Server (#30297)
    Directly connecting to SQL Server will enable the receiver to gather more metrics
    for observing the SQL Server instance. The first metric added with this update is
    sqlserver.database.io.read_latency.

  • connector/datadog: The Datadog connector now has a config option to identify top-level spans by span kind. This new logic can be enabled by setting traces::compute_top_level_by_span_kind to true in the Datadog connector config. Default is false. (#32005)
    traces::compute_top_level_by_span_kind needs to be enabled in both the Datadog connector and Datadog exporter configs if both components are being used.
    With this new logic, root spans and spans with a server or consumer span.kind will be marked as top-level. Additionally, spans with a client or producer span.kind will have stats computed.
    Enabling this config option may increase the number of spans that generate trace metrics, and may change which spans appear as top-level in Datadog.

  • exporter/datadog: The Datadog exporter now has a config option to identify top-level spans by span kind. This new logic can be enabled by setting traces::compute_top_level_by_span_kind to true in the Datadog exporter config. Default is false. (#32005)
    traces::compute_top_level_by_span_kind needs to be enabled in both the Datadog connector and Datadog exporter configs if both components are being used.
    With this new logic, root spans and spans with a server or consumer span.kind will be marked as top-level. Additionally, spans with a client or producer span.kind will have stats computed.
    Enabling this config option may increase the number of spans that generate trace metrics, and may change which spans appear as top-level in Datadog.

  • exporter/datadog: Support stable semantic conventions for HTTP spans (#32823)

  • cmd/opampsupervisor: Persist collector remote config & telemetry settings (#21078)

  • cmd/opampsupervisor: Support AcceptsRestartCommand Capability. (#21077)

  • telemetrygen: Add headers to gRPC metadata for logs (#32668)

  • sshcheckreceiver: Add support for running this receiver on Windows (#30650)

  • zipkinencodingextension: Move zipkinencodingextension to alpha (#32702)

🧰 Bug fixes 🧰

  • prometheusremotewrite: Modify prometheusremotewrite.FromMetrics to only generate target_info if there are metrics, as otherwise you can't deduce the timestamp. (#32318)

  • prometheusremotewrite: Change prometheusremotewrite.FromMetrics so that the target_info metric is only generated if at least one identifying OTel resource attribute (service.name and/or service.instance.id) is defined. (#32148)

  • k8sclusterreceiver: Fix container state metadata (#32676)

  • sumologicexporter: do not replace . with _ for prometheus format (#31479)

  • pkg/stanza: Allow sorting by ascending order when using the mtime sort_type. (#32792)

  • opampextension: Add a new ppid parameter that can be used to enable orphan detection for the supervisor. (#32189)

  • awsxrayreceiver: Retain CloudWatch Log Group when translating X-Ray segments (#31784)

  • pkg/stanza: Fix issue when exclude_older_than is enabled without ordering_criteria configured (#32681)

  • awskinesisexporter: the compressor was crashing under high load due it not being thread safe. (#32589)
    removed compressor abstraction and each execution has its own buffer (so it's thread safe)

  • filelogreceiver: When a flush timed out make sure we are at EOF (can't read more) (#31512, #32170)

  • vcenterreceiver: Adds the vcenter.cluster.name resource attribute to resource pool with a ClusterComputeResource parent (#32535)

  • vcenterreceiver: Updates vcenter.cluster.memory.effective (primarily that the value was reporting MiB when it should have been bytes) (#32782)

  • vcenterreceiver: Adds warning to vcenter.cluster.memory.used metric if configured about its future removal (#32805)

  • vcenterreceiver: Updates the vcenter.cluster.vm.count metric to also report suspended VM counts (#32803)

  • vcenterreceiver: Adds vcenter.datacenter.name attributes to all resource types to help with resource identification (#32531)

  • vcenterreceiver: Adds vcenter.cluster.name attributes warning log related to Datastore resource (#32674)

  • vcenterreceiver: Adds new vcenter.virtual_app.name and vcenter.virtual_app.inventory_path resource attributes to appropriate VM Resources (#32557)

  • vcenterreceiver: Adds functionality for vcenter.vm.disk.throughput while also changing to a gauge. (#32772)

  • vcenterreceiver: Adds initially disabled functionality for VM Templates (#32821)

  • remotetapprocessor: Fix memory leak on shutdown (#32571)

  • haproxyreceiver: Fix reading stats larger than 4096 bytes (#32652)

  • connector/count: Fix handling of non-string attributes in the count connector (#30314)

  • datadogexporter: Fix nil pointer dereference when using beta infrastructure monitoring offering (#32865)
    The bug happened under the following conditions:

    • Setting datadog.host.use_as_host_metadata to true on a payload with data about the Datadog exporter host
    • Running using the official opentelemetry-collector-contrib Docker image
  • pkg/translator/jaeger: translate binary attribute values to/from Jaeger as is, without encoding them as base64 strings (#32204)

  • awscloudwatchreceiver: Fixed a bug where autodiscovery would not use nextToken in the paginated request (#32053)

  • awsxrayexporter: make comma, as invalid char for x-ray segment name (#32610)

API Changelog

🛑 Breaking changes 🛑

  • pkg/stanza: Pass TelemetrySettings to the Build method of the Builder interface (#32662, #31256)
    The reason for this breaking change is to pass in the component.TelemetrySettings
    so as to use them later in various ways:
    • be able to report state statistics and telemetry in general
    • be able to switch from SugaredLogger to Logger

🚩 Deprecations 🚩

  • confmap/provider/s3: Deprecate s3provider.New in favor of s3provider.NewFactory (#32742)
  • confmap/provider/secretsmanager: Deprecate secretsmanagerprovider.New in favor of secretsmanagerprovider.NewFactory (#32743)

🚀 New components 🚀

  • roundrobinconnector: Add a roundrobin connector, that can help single thread components to scale (#32853)

💡 Enhancements 💡

  • opampextension: Added support for other components to register custom capabilities and receive custom messages from an opamp extension (#32021)
  • kafkaexporter: add an ability to publish kafka messages with message key based on metric resource attributes - it will allow partitioning metrics in Kafka. (#29433, #30666, #31675)
  • sshcheckreceiver: Add support for running this receiver on Windows (#30650)