Skip to content

Releases: signalfx/splunk-otel-collector

v0.109.0

17 Sep 23:28
v0.109.0
8026a6f
Compare
Choose a tag to compare

🛑 Breaking changes 🛑

  • (Splunk) Update Python to 3.12.5 in the Smart Agent bundle for Linux and Windows. Check What’s New In Python 3.12 for details. (#5298)
  • (Contrib) spanmetricsconnector: Improve consistency between metrics generated by spanmetricsconnector. Added traces.span.metrics as default namespace (#33227
    Default namespace for the generated metrics is traces.span.metrics now. | The deprecated metrics are: calls, duration and events. | The feature flag connector.spanmetrics.legacyLatencyMetricNames was added to revert the behavior.
  • (Contrib) ottl: Remove tracing from OTTL due to performance concerns (#34910

🚀 New components 🚀

  • (Splunk) Add apachespark receiver (#5318)
  • (Splunk) Add nop receiver and exporter (#5355)

💡 Enhancements 💡

  • (Splunk) Apache Web Server Auto Discovery: set the default discovered endpoint to match the OpenTelemetry apachereceiver default: http://endpoint/server-status?auto (#5353)
    If the collector is running as a process on the host OS and the Apache Web Server is in a Docker container add --set=splunk.discovery.extensions.docker_observer.config.use_host_bindings=true to the command-line arguments for the discovery to create the correct endpoint.
  • (Splunk) Introduce continuous service discovery mode. This mode can be enabled with a feature gate by adding --feature-gates=splunk.continuousDiscovery command line argument. (#5363)
    The new mode does the following:
    • It allows discovering new services that were not available at the time of the collector startup. If discovery is
      successful, the metrics collection will be started.
    • Information about discovered services is being sent to Splunk Observability Cloud. The information will include
      instructions to complete discovery for particular services if the discovery was not successful out of the box.
  • (Core) service: move useOtelWithSDKConfigurationForInternalTelemetry gate to beta (#11091)
  • (Core) service: implement a no-op tracer provider that doesn't propagate the context (#11026)
    The no-op tracer provider supported by the SDK incurs a memory cost of propagating the context no matter
    what. This is not needed if tracing is not enabled in the Collector. This implementation of the no-op tracer
    provider removes the need to allocate memory when tracing is disabled.
  • (Core) processor: Add incoming and outgoing counts for processors using processorhelper. (#10910)
    Any processor using the processorhelper package (this is most processors) will automatically report
    incoming and outgoing item counts. The new metrics are:
    • otelcol_processor_incoming_spans
    • otelcol_processor_outgoing_spans
    • otelcol_processor_incoming_metric_points
    • otelcol_processor_outgoing_metric_points
    • otelcol_processor_incoming_log_records
    • otelcol_processor_outgoing_log_records
  • (Contrib) pkg/ottl: Added Decode() converter function (#32493
  • (Contrib) filestorage: Add directory validation for compaction on-rebound (#35114
  • (Contrib) windowseventlogreceiver: Avoid rendering the whole event to obtain the provider name (#34755
  • (Contrib) splunkhecexporter: Drop empty log events (#34871
    Log records with no body are dropped by Splunk on reception as they contain no log message, albeit they may have attributes.
    This is in tune with the behavior of splunkhecreceiver, which refuses HEC events with no event (#19769
  • (Contrib) transformprocessor: Support aggregating metrics based on their attribute values and substituting the values with a new value. (#16224
  • (Contrib) kafkareceiver: Adds tunable fetch sizes to Kafka Receiver (#22741
    Adds the ability to tune the minumum, default and maximum fetch sizes for the Kafka Receiver
  • (Contrib) kafkareceiver: Add support for encoding extensions in the Kafka receiver. (#33888
    This change adds support for encoding extensions in the Kafka receiver. Loading extensions takes precedence over the internally supported encodings.
  • (Contrib) pkg/ottl: Add Sort function to sort array to ascending order or descending order (#34200
  • (Contrib) redactionprocessor: Add support for logs and metrics (#34479
  • (Contrib) spanmetricsconnector: Extract the getDimensionValue function as a common function. (#34627
  • (Contrib) sqlqueryreceiver: Support populating log attributes from sql query (#24459

🧰 Bug fixes 🧰

  • (Core) configgrpc: Change the value of max_recv_msg_size_mib from uint64 to int to avoid a case where misconfiguration caused an integer overflow. (#10948)
  • (Core) exporterqueue: Fix a bug in persistent queue that Offer can becomes deadlocked when queue is almost full (#11015)
  • (Contrib) apachereceiver: Fix panic on invalid endpoint configuration (#34992
  • (Contrib) fileconsumer: Fix bug where max_concurrent_files could not be set to 1. (#35080
  • (Contrib) hostmetricsreceiver: In filesystem scraper, do not prefix partitions when using the environment variable HOST_PROC_MOUNTINFO (#35043
  • (Contrib) splunkhecreceiver: Fix memory leak when the receiver is used for both metrics and logs at the same time (#34886
  • (Contrib) pkg/stanza: Synchronize shutdown in stanza adapter (#31074
    Stanza-based receivers should now flush all data before shutting down
  • (Contrib) sqlserverreceiver: Fix bug where metrics were being emitted with the wrong database name resource attribute (#35036
  • (Contrib) signalfxexporter: Fix memory leak by re-organizing the exporter's functionality lifecycle (#32781
  • (Contrib) otlpjsonconnector: Handle OTLPJSON unmarshal error (#34782
  • (Contrib) mysqlreceiver: mysql client raise error when the TABLE_ROWS column is NULL, convert NULL to int64 (#34195
  • (Contrib) pkg/stanza: An operator configured with silent errors shouldn't log errors while processing log entries. (#35008

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.109.0
    • digest: sha256:0f8ef18872f42623e5129c9ffad4ceae04bbf2b42d6d924f507706b3557c73db
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.109.0
    • digest: sha256:9be93047532dc4bf5f5432307cdc47124ac5768eb22cee0fa6bce3ab8ee88903

v0.108.1

30 Aug 18:59
v0.108.1
80aa29b
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.108.1 and the opentelemetry-collector-contrib v0.108.0 releases where appropriate.

🚩Deprecations 🚩

  • (Splunk) Deprecate the nagios monitor (#5172)

🧰 Bug fixes 🧰

  • (Splunk) Discovery observers start failures should not stop the collector (#5299)

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.108.1
    • digest: sha256:e8004468b506907748cdc7475578844097934a73320feec3b0efac4ff882a559
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.108.1
    • digest: sha256:3db675d4fffee375e51133efad0f8f1eb40cbba0cfdd46da96714bb35e4e6a63

v0.108.0

28 Aug 02:14
v0.108.0
4b8f0f1
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.108.1 and the opentelemetry-collector-contrib v0.108.0 releases where appropriate.

🛑 Breaking changes 🛑

  • (Core) confmap: Mark confmap.strictlyTypedInput as stable (#10552)
  • (Contrib) splunkhecexporter: The scope name has been updated from otelcol/splunkhec to github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter (#34710)
  • (Contrib) transformprocessor: Promote processor.transform.ConvertBetweenSumAndGaugeMetricContext feature flag from alpha to beta (#34567)
  • (Contrib) 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 🚀

  • (Splunk) Add headersetterextension (#5276)
  • (Splunk) Add nginx receiver (5229)

💡 Enhancements 💡

  • (Core) exporter/otlp: Add batching option to otlp exporter (#8122)
  • (Core) service: Adds level configuration option to service::telemetry::trace to allow users to disable the default TracerProvider (#10892)
    This replaces the feature gate service.noopTracerProvider introduced in v0.107.0
  • (Contrib) awss3receiver: Enhance the logging of the AWS S3 Receiver in normal operation to make it easier for user to debug what is happening. (#30750)
  • (Contrib) 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.
  • (Contrib) solacereceiver: Updated the format for generated metrics. Included a receiver_name attribute that identifies the Solace receiver that generated the metrics (#34541)
  • (Contrib) prometheusreceiver: Ensure Target Allocator's confighttp is used in the receiver's service discovery (#33370)
  • (Contrib) metricstransformprocessor: Add scaling exponential histogram support (#29803)
  • (Contrib) pkg/ottl: Introduce UserAgent converter to parse UserAgent strings (#32434)
  • (Splunk) Update JMX Metric Gatherer to v1.38.0 (#5287)
  • (Splunk) Auto Instrumentation for Linux (#5243)
    • Add support for the OTEL_LOGS_EXPORTER environment variable to libsplunk.so for system-wide auto instrumentation.
    • Linux installer script: Add the --logs-exporter <value> option:
      • Set the exporter for collected logs by all activated SDKs, for example otlp.
      • Set the value to none to disable collection and export of logs.
      • The value will be set to the OTEL_LOGS_EXPORTER environment variable.
      • Defaults to '' (empty), i.e. defer to the default OTEL_LOGS_EXPORTER value for each activated SDK.

🧰 Bug fixes 🧰

  • (Core) batchprocessor: Update units for internal telemetry (#10652)
  • (Core) confmap: Fix bug where an unset env var used with a non-string field resulted in a panic (#10950)
  • (Core) service: Fix memory leaks during service package shutdown (#9165)
  • (Core) confmap: Use string representation for field types where all primitive types are strings. (#10937)
  • (Core) otelcol: Preserve internal representation when unmarshaling component configs (#10552)
  • (Contrib) 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.
  • (Contrib) 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.
  • (Contrib) tailsamplingprocessor: Fix the behavior for numeric tag filters with inverse_match set to true. (#34296)
  • (Contrib) pkg/stanza: fix nil value conversion (#34672)
  • (Contrib) k8sclusterreceiver: Lower the log level of a message indicating a cache miss from WARN to DEBUG. (#34817)

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.108.0
    • digest: sha256:d0296ad2bd15a776075c0c996888b6bdb128a741e76659645e2ec26c103718bf
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.108.0
    • digest: sha256:7938a4352cda884a98e59aca3dc322c4a5cf7869fb8253289660fad1b0faef3b

v0.107.0

21 Aug 21:06
v0.107.0
aabcc45
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.107.0 and the opentelemetry-collector-contrib v0.107.0 releases where appropriate.
This release fixes CVE-2024-42368 on the bearerauthtokenextension (#34516). The Splunk distribution was not impacted by this CVE.

🐛 Known issues 🐛

We have identified an issue with this release concerning the handling of empty environment variable values in the collector configuration. The issue is tracked under open-telemetry/opentelemetry-collector#10949.

🛑 Breaking changes 🛑

  • (Splunk) confmap: Do not expand special shell variable such as $* in configuration files. (#5206)
  • (Splunk) Upgrade golang to 1.22 (#5248)
  • (Core) service: Remove OpenCensus bridge completely, mark feature gate as stable. (#10414)
  • (Contrib) 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)
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)
apachereceiver otelcol/apachereceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver (#34517)
countconnector otelcol/countconnector github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector (#34583)
elasticsearchreceiver otelcol/elasticsearchreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver (#34529)
filterprocessor otelcol/filter github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor (#34550)
fluentforwardreceiver otelcol/fluentforwardreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver (#34534)
groupbyattrsprocessor otelcol/groupbyattrs github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor (#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)
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)
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)
oracledbreceiver otelcol/oracledbreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver (#34491)
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)
redisreceiver otelcol/redisreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver (#34470)
routingprocessor otelcol/routing github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor (#34550)
solacereceiver otelcol/solacereceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver (#34466)
splunkenterprisereceiver otelcol/splunkenterprisereceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver (#34452)
statsdreceiver otelcol/statsdreceiver github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver (#34547)
tailsamplingprocessor otelcol/tailsampling github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor ([#34550]...
Read more

v0.106.1

08 Aug 20:19
v0.106.1
6ba46aa
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.106.1 and the opentelemetry-collector-contrib v0.106.1 releases where appropriate.

🧰 Bug fixes 🧰

  • (Splunk) Upgrade some core dependencies to proper v0.106.1 version. (#5203)

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.106.1
    • digest: sha256:43b280731de041beff03c4e69e6ded661c8ce0a6992f959a647275abc5ebd5a2
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.106.1
    • digest: sha256:1631ec7a38900a8623003e34eb68d9fced3d7550e601374a92decc6e1e962db0

v0.106.0

07 Aug 18:16
v0.106.0
7342d97
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.106.0-v0.106.1 and the opentelemetry-collector-contrib v0.106.0-v0.106.1 releases where appropriate.

Note: Some core dependencies were incorrectly still set to v0.105.0 for this release.

🛑 Breaking changes 🛑

  • (Core) service: Update all metrics to include otelcol_ prefix to ensure consistency across OTLP and Prometheus metrics (#9759)
    This change is marked as a breaking change as anyone that was using OTLP for metrics will
    see the new prefix which was not present before. Prometheus generated metrics remain
    unchanged.
  • (Core) confighttp: Delete ClientConfig.CustomRoundTripper (#8627)
    Set (*http.Client).Transport on the *http.Client returned from ToClient to configure this.
  • (Core) confmap: When passing configuration for a string field using any provider, use the verbatim string representation as the value. (#10605, #10405)
    This matches the behavior of ${ENV} syntax prior to the promotion of the confmap.unifyEnvVarExpansion feature gate
    to beta. It changes the behavior of the ${env:ENV} syntax with escaped strings.
  • (Core) component: Adds restrictions on the character set for component.ID name. (#10673)
  • (Core) processor/memorylimiter: The memory limiter processor will no longer account for ballast size. (#10696)
    If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you.
  • (Core) extension/memorylimiter: The memory limiter extension will no longer account for ballast size. (#10696)
    If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you.
  • (Core) service: The service will no longer be able to get a ballast size from the deprecated ballast extension. (#10696)
    If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you.
  • (Contrib) 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
  • (Contrib) 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.

🚩Deprecations 🚩

  • (Splunk) Deprecate the collectd/health-checker plugin (#5167)
  • (Splunk) Deprecate the telegraf/exec monitor (#5171)

🚀 New components 🚀

  • (Splunk) Add Elasticsearch receiver (#5165)
  • (Splunk) Add HAProxy receiver (#5163)

💡 Enhancements 💡

  • (Splunk) Auto Discovery for Linux:
    • Bring Apache Web Server receiver into the discovery mode (#5109)
  • (Splunk) linux installer script: decouple the endpoint and protocol options (#5164)
  • (Splunk) Bump version of com.signalfx.public:signalfx-commons-protoc-java to 1.0.44 (#5186)
  • (Splunk) Bump version of github.com/snowflakedb/gosnowflake from to 1.11.0 (#5176)
  • (Core) exporterhelper: Add data_type attribute to otelcol_exporter_queue_size metric to report the type of data being processed. (#9943)
  • (Core) confighttp: Add option to include query params in auth context (#4806)
  • (Core) configgrpc: gRPC auth errors now return gRPC status code UNAUTHENTICATED (16) (#7646)
  • (Core) httpprovider, httpsprovider: Validate URIs in HTTP and HTTPS providers before fetching. (#10468)
  • (Contrib) processor/transform: Add scale_metric function that scales all data points in a metric. (#16214)
  • (Contrib) 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
  • (Contrib) transformprocessor: Support aggregating metrics based on their attributes. (#16224)
  • (Contrib) metricstransformprocessor: Adds the 'median' aggregation type to the Metrics Transform Processor. Also uses the refactored aggregation business logic from internal/core package. (#16224)
  • (Contrib) hostmetricsreceiver: allow configuring log pipeline to send host EntityState event (#33927)
  • (Contrib) 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.
  • (Contrib) kafkareceiver: Add settings session_timeout and heartbeat_interval to Kafka Receiver for group management facilities (#28630)
  • (Contrib) vcenterreceiver: Adds a number of default disabled vSAN metrics for Clusters. (#33556)
  • (Contrib) vcenterreceiver: Adds a number of default disabled vSAN metrics for Virtual Machines. (#33556)

🧰 Bug fixes 🧰

  • (Core) processorhelper: update units for internal telemetry (#10647)
  • (Core) confmap: Increase the amount of recursion and URI expansions allowed in a single line (#10712)
  • (Core) exporterhelper: There is no guarantee that after the exporterhelper sends the plog/pmetric/ptrace data downstream that the data won't be mutated in some way. (e.g by the batch_sender) This mutation could result in the proceeding call to req.ItemsCount() to provide inaccurate information to be logged. (#10033)
  • (Core) exporterhelper: Update units for internal telemetry (#10648)
  • (Core) receiverhelper: Update units for internal telemetry (#10650)
  • (Core) scraperhelper: Update units for internal telemetry (#10649)
  • (Core) service: Use Command/Version to populate service name/version attributes ([#10644](https://githu...
Read more

v0.105.0

30 Jul 18:17
v0.105.0
73a391f
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.105.0 and the opentelemetry-collector-contrib v0.105.0 releases where appropriate.

🛑 Breaking changes 🛑

  • (Splunk) Don't expand environment variables starting with $$ in configuration files. This behavior was introduced
    in v0.42.0 to support a bug causing double expansion. $$ is treated as an escape sequence representing a literal
    $ character (#5134)
  • (Core) service: add service.disableOpenCensusBridge feature gate which is enabled by default to remove the dependency on OpenCensus (#10414)
  • (Core) confmap: Promote confmap.strictlyTypedInput feature gate to beta. (#10552)
    This feature gate changes the following:
    • Configurations relying on the implicit type casting behaviors listed on #9532 will start to fail.
    • Configurations using URI expansion (i.e. field: ${env:ENV}) for string-typed fields will use the value passed in ENV verbatim without intermediate type casting.
  • (Contrib) 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/stanza@v0.104.0/operator/helper#WriterOperator.Write
  • (Contrib) 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 🚩

  • (Splunk) Deprecate usage of bare environment variables and config sources in configuration files (#5153)
    • Use ${env:VAR} or ${VAR} instead of $VAR.
    • Use ${uri:selector} instead of $uri:selector, e.g. ${file:/path/to/file} instead of $file:/path/to/file.

💡 Enhancements 💡

  • (Splunk) Auto Discovery for Linux:
    • Bring SQL Server receiver into the discovery mode (#5109)
    • Bring Cassanda JMX receiver into the discovery mode (#5112)
    • Bring RabbitMQ receiver into the discovery mode (#5051)
  • (Splunk) Update bundled OpenJDK to 11.0.24_8 (#5113, #5119)
  • (Splunk) Upgrade github.com/hashicorp/vault to v1.17.2 (#5089)
  • (Splunk) Upgrade github.com/go-zookeeper/zk to 1.0.4 (#5146)
  • (Core) configtls: Mark module as stable. (#9377)
  • (Core) confmap: Remove extra closing parenthesis in sub-config error (#10480)
  • (Core) configgrpc: Update the default load balancer strategy to round_robin (#10319)
    To restore the behavior that was previously the default, set balancer_name to pick_first.
  • (Core) otelcol: Add go module to components subcommand. (#10570)
  • (Core) confmap: Add explanation to errors related to confmap.strictlyTypedInput feature gate. (#9532)
  • (Core) confmap: Allow using map[string]any values in string interpolation (#10605)
  • (Contrib) pkg/ottl: Added Hex() converter function (#31929)
  • (Contrib) 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.
  • (Contrib) 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.
  • (Contrib) kubeletstatsreceiver: Add k8s.pod.memory.node.utilization and k8s.container.memory.node.utilization metrics (#33591)
  • (Contrib) 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.
  • (Contrib) 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) (#33607)
  • (Contrib) receiver/azuremonitorreceiver: Add support for Managed Identity and Default Credential auth (#31268, #33584)
  • (Contrib) azuremonitorreceiver: Add maximum_number_of_records_per_resource config parameter in order to overwrite default (#32165)
  • (Contrib) cloudfoundryreceiver: Add support to receive CloudFoundry Logs (#32671)
  • (Contrib) cmd/opampsupervisor: Adds support for forwarding custom messages to/from the agent (#33575)
  • (Contrib) splunkhecexporter: Increase the performance of JSON marshaling (#34011)
  • (Contrib) loadbalancingexporter: Adds a new streamID routingKey, which will route based on the datapoint ID. See updated README for details (#32513)
  • (Contrib) dockerobserver: Add hint to error when using float for api_version field (#34043)
  • (Contrib) pkg/ottl: Emit traces for statement sequence executions to troubleshoot OTTL statements/conditions (#33433)
  • (Contrib) 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.
  • (Contrib) receiver/filelog: Add filelog.container.removeOriginalTimeField feature-flag for removing original time field (#33946)
  • (Contrib) statsdreceiver: Allow configuring summary percentiles (#33701)
  • (Contrib) pkg/stanza: Switch to faster json parser lib for container operator (#33929)
  • (Contrib) telemetrygen: telemetrygen --rate flag changed from Int64 to Float64 (#33984)
  • (Contrib) 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 🧰

  • (Splunk) Auto Discovery for Linux:
Read more

v0.104.0

10 Jul 21:40
v0.104.0
096e4d0
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.104.0 and the opentelemetry-collector-contrib v0.104.0 releases where appropriate.

⚠️ In our efforts to align with the goals defined upstream for environment variable resolution in the Collector's configuration, the Splunk OpenTelemetry Collector will be dropping support for expansion of BASH-style environment variables, such as $FOO in the configuration in an upcoming version. Users are advised to update their Collector's configuration to use ${env:FOO} instead.
🚩 When setting properties for discovery receiver as environment variables (SPLUNK_DISCOVERY_*), the values cannot reference other environment variables without curly-braces. For example, user is trying to set discovery property SPLUNK_DISCOVERY_EXTENSIONS_k8s_observer_ENABLED to the value of another env var, K8S_ENVIRONMENT.
For versions older than 0.104.0, setting it as SPLUNK_DISCOVERY_EXTENSIONS_k8s_observer_ENABLED=\$K8S_ENVIRONMENT (note the escaped variable name does not have curly braces) was valid. But from v0.104.0, env var names need to be passed with braces. For this example, user should modify it to SPLUNK_DISCOVERY_EXTENSIONS_k8s_observer_ENABLED=\${K8S_ENVIRONMENT}.

❗ Known Issues ❗

  • A bug was discovered (and fixed in a future version) where expansion logic in confmaps wasn't correctly handling the escaping of $$ (#10560)
    • If you rely on the previous functionality, disable the confmap.unifyEnvVarExpansion feature gate. Note that this is a temporary workaround, and the root issue will be fixed in the next release by (#10560).

🛑 Breaking changes 🛑

  • (Splunk) Auto Discovery for Linux:
    • Update splunk-otel-java to v2.5.0 for the splunk-otel-auto-instrumentation deb/rpm packages. This is a major version bump that includes breaking changes. Check the release notes for details about breaking changes.
  • (Core) filter: Remove deprecated filter.CombinedFilter (#10348)
  • (Core) otelcol: By default, otelcol.NewCommand and otelcol.NewCommandMustSetProvider will set the DefaultScheme to env. (#10435)
  • (Core) expandconverter: By default expandconverter will now error if it is about to expand $FOO syntax. Update configuration to use ${env:FOO} instead or disable the confmap.unifyEnvVarExpansion feature gate. (#10435)
  • (Core) otlpreceiver: Switch to localhost as the default for all endpoints. (#8510)
    Disable the component.UseLocalHostAsDefaultHost feature gate to temporarily get the previous default.
  • (Splunk) discovery: When setting properties for discovery receiver as environment variables (SPLUNK_DISCOVERY_*), the values cannot reference other escaped environment variables without braces. For example, when trying to set discovery property SPLUNK_DISCOVERY_EXTENSIONS_k8s_observer_ENABLED to the value of another env var, K8S_ENVIRONMENT. For versions older than 0.104.0, setting it as SPLUNK_DISCOVERY_EXTENSIONS_k8s_observer_ENABLED=\$K8S_ENVIRONMENT (note the escaped variable name does not have braces) was valid. But from v0.104.0, env var names need to be passed with braces. For this example, user should modify it to SPLUNK_DISCOVERY_EXTENSIONS_k8s_observer_ENABLED=\${K8S_ENVIRONMENT}
  • (Contrib) vcenterreceiver: Drops support for vCenter 6.7 (#33607)
  • (Contrib) 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/health_check
    • receiver/jaeger
    • receiver/sapm
    • receiver/signalfx
    • receiver/splunk_hec
    • receiver/zipkin
  • (Contrib) receiver/mongodb: Graduate receiver.mongodb.removeDatabaseAttr feature gate to stable (#24972)

💡 Enhancements 💡

  • (Splunk) Auto Discovery for Linux:
    • Linux installer script:
      • The default for the --otlp-endpoint option is now empty, i.e. defers to the default OTEL_EXPORTER_OTLP_ENDPOINT value for each activated SDK
      • Add new --otlp-endpoint-protocol <protocol> option to set the OTEL_EXPORTER_OTLP_PROTOCOL environment variable for the configured endpoint. Only applicable if the --otlp-endpoint option is also specified.
      • Add new --metrics-exporter <exporter> option to configure the OTEL_METRICS_EXPORTER environment variable for instrumentation metrics. Specify none to disable metric collection and export.
  • (Splunk) Set Go garbage collection target percentage to 400% (#5034)
    After removal of memory_ballast extension in v0.97.0, the Go garbage collection is running more aggressively, which
    increased CPU usage and leads to reduced throughput of the collector. This change reduces the frequency of garbage
    collection cycles to improves performance of the collector for typical workloads. As a result, the collector will
    report higher memory usage, but it will be bound to the same configured limits. If you want to revert to the previous
    behavior, set the GOGC environment variable to 100.
  • (Splunk) Upgrade to golang 1.21.12 (#5074)
  • (Core) confighttp: Add support for cookies in HTTP clients with cookies::enabled. (#10175)
    The method confighttp.ToClient will return a client with a cookiejar.Jar which will reuse cookies from server responses in subsequent requests.
  • (Core) exporter/debug: In normal verbosity, display one line of text for each telemetry record (log, data point, span) (#7806)
  • (Core) exporter/debug: Add option use_internal_logger (#10226)
  • (Core) configretry: Mark module as stable. (#10279)
  • (Core) exporter/debug: Print Span.TraceState() when present. (#10421)
    Enables viewing sampling threshold information (as by OTEP 235 samplers).
  • (Core) processorhelper: Add "inserted" metrics for processors. (#10353)
    This includes the following metrics for processors:
    • processor_inserted_spans
    • processor_inserted_metric_points
    • processor_inserted_log_records
  • (Contrib) k8sattributesprocessor: Add support for exposing k8s.pod.ip as a resource attribute (#32960)
  • (Contrib) vcenterreceiver: Adds vCenter CPU readiness metric for VMs. (#33607)
  • (Contrib) receiver/mongodb: Ensure support of 6.0 and 7.0 MongoDB versions with integration tests (#32716)
  • (Contrib) pkg/stanza: Switch JSON parser used by json_parser to github.com/goccy/go-json (#33784)
  • (Contrib) k8sobserver: Add support for k8s.ingress endpoint. (#32971)
  • (Contrib) statsdreceiver: Optimize statsdreceiver to reduce object allocations (#33683)
  • (Contrib) routingprocessor: Use mdatagen to define the component's telemetry (#33526)
  • (Contrib) 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.
  • (Contrib) observerextension: Expose host and port in endpoint's environment (#33571)
  • (Contrib) pkg/ottl: Add a schema_url field to access the SchemaURL in resources and scopes on all signals (#30229)
  • (Contrib) sqlserverreceiver: Enable more perf counter metrics when directly connecting to SQL Server (#33420)
    This ...
Read more

v0.103.0

26 Jun 08:12
v0.103.0
3500e39
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.103.0 and the opentelemetry-collector-contrib v0.103.0 releases where appropriate.

🛑 Breaking changes 🛑

  • (Core) exporter/debug: Disable sampling by default (#9921)
    To restore the behavior that was previously the default, set sampling_thereafter to 500.
  • (Contrib) 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.
  • (Contrib) sqlserverreceiver: sqlserver.database.io.read_latency has been renamed to sqlserver.database.latency with a direction attribute. (#29865)

🚀 New components 🚀

  • (Splunk) Add Azure Monitor receiver (#4971)
  • (Splunk) Add upstream Opentelemetry Collector RabbitMQ receiver (#4980)
  • (Splunk) Add Active Directory Domain Services receiver (#4994)
  • (Splunk) Add Splunk Enterprise receiver (#4998)

💡 Enhancements 💡

  • (Core) otelcol/expandconverter: Add confmap.unifyEnvVarExpansion feature gate to allow enabling Collector/Configuration SIG environment variable expansion rules. (#10391)
    When enabled, this feature gate will:
  • (Core) confmap: Add confmap.unifyEnvVarExpansion feature gate to allow enabling Collector/Configuration SIG environment variable expansion rules. (#10259)
    When enabled, this feature gate will:
  • (Core) confighttp: Allow the compression list to be overridden (#10295)
    Allows Collector administrators to control which compression algorithms to enable for HTTP-based receivers.
  • (Core) configgrpc: Revert the zstd compression for gRPC to the third-party library we were using previously. (#10394)
    We switched back to our compression logic for zstd when a CVE was found on the third-party library we were using. Now that the third-party library has been fixed, we can revert to that one. For end-users, this has no practical effect. The reproducers for the CVE were tested against this patch, confirming we are not reintroducing the bugs.
  • (Core) confmap: Adds alpha confmap.strictlyTypedInput feature gate that enables strict type checks during configuration resolution (#9532)
    When enabled, the configuration resolution system will:
    • Stop doing most kinds of implicit type casting when resolving configuration values
    • Use the original string representation of configuration values if the ${} syntax is used in inline position
  • (Core) confighttp: Use confighttp.ServerConfig as part of zpagesextension. See server configuration options. (#9368)
  • (Contrib) filelogreceiver: If include_file_record_number is true, it will add the file record number as the attribute log.file.record_number (#33530)
  • (Contrib) filelogreceiver: Add support for gzip compressed log files (#2328)
  • (Contrib) kubeletstats: Add k8s.pod.cpu.node.utilization metric (#33390)
  • (Contrib) awss3exporter: endpoint should contain the S3 bucket (#32774)
  • (Contrib) statsdreceiver: update statsd receiver to use mdatagen (#33524)
  • (Contrib) statsdreceiver: Added received/accepted/refused metrics (#24278)
  • (Contrib) metricstransformprocessor: Adds the 'count' aggregation type to the Metrics Transform Processor. (#24978)
  • (Contrib) tailsamplingprocessor: Simple LRU Decision Cache for "keep" decisions (#31583)
  • (Contrib) tailsamplingprocessor: 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.
  • (Contrib) kafka: Added disable_fast_negotiation configuration option for Kafka Kerberos authentication, allowing the disabling of PA-FX-FAST negotiation. (#26345)
  • (Contrib) pkg/ottl: Added keep_matching_keys function to allow dropping all keys from a map that don't match the pattern. (#32989)
  • (Contrib) pkg/ottl: Add debug logs to help troubleshoot OTTL statements/conditions (#33274)
  • (Contrib) pkg/ottl: Introducing append function for appending items into an existing array (#32141)
  • (Contrib) pkg/ottl: Introducing Uri converter parsing URI string into SemConv (#32433)
  • (Contrib) 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.
  • (Contrib) 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.
  • (Contrib) spanmetricsconnector: 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.
  • (Contrib) sqlserverreceiver: Add support for more Database IO metrics (#29865)
    The following metrics have been added:
    • sqlserver.database.latency
    • sqlserver.database.io
    • sqlserver.database.operations
  • (Contrib) 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.
  • (Contrib) receiver/windowsperfcounters: Counter configuration now supports recreating the underlying performance query at scrape time. (#32798)

🧰 Bug fixes 🧰

  • (Core) exporterhelper: Fix potential deadlock in the batch sender (#10315)
  • (Core) expandconverter: Fix bug where an warning was logged incorrectly. (#10392)
  • (Core) exporterhelper: Fix a bug when the retry and timeout logic was not applied with enabled batching. ([#10166](https://github.com/open-telemetry/opentelemetry-colle...
Read more

v0.102.1

06 Jun 00:42
e45f03c
Compare
Choose a tag to compare

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.102.1 and the opentelemetry-collector-contrib v0.102.0 releases where appropriate.

🧰 Bug fixes 🧰

  • (Core) configrpc: This release addresses GHSA-c74f-6mfw-mm4v for configgrpc. (#10323)
    Before this change, the zstd compressor that was used didn't respect the max message size. This addresses GHSA-c74f-6mfw-mm4v on configgrpc.

💡 Enhancements 💡

  • (Splunk) Upgrade golang to 1.21.11

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.102.1
    • digest: sha256:d03b0a9ca53b72f6aa2022a699d0dafe0f967830003d71c2b10b344b77dcfbd5
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.102.1
    • digest: sha256:f063eee3a5b0c863663acb9412b0bc308f8fc282476eb0080ed64379bff35fb7