Skip to content

Releases: signalfx/splunk-otel-collector

v0.125.0

03 May 02:20
v0.125.0
9a2a707
Compare
Choose a tag to compare

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

🛑 Breaking changes 🛑

  • (Core) service: Lowercase values for 'otelcol.component.kind' attributes. (#12865)
  • (Core) service: Restrict the telemetry.newPipelineTelemetry feature gate to metrics. (#12856, #12933)
    The "off" state of this feature gate introduced a regression, where the Collector's internal logs were missing component attributes. See issue #12870 for more details on this bug.
    On the other hand, the "on" state introduced an issue with the Collector's default internal metrics, because the Prometheus exporter does not currently support instrumentation scope attributes.
    To solve both of these issues, this change turns on the new scope attributes for logs and traces by default regardless of the feature gate.
    However, the new scope attributes for metrics stay locked behind the feature gate, and will remain off by default until the Prometheus exporter is updated to support scope attributes.
    Please understand that enabling the telemetry.newPipelineTelemetry feature gate may break the export of Collector metrics through, depending on your configuration.
    Having a batch processor in multiple pipelines is a known trigger for this.
    This comes with a breaking change, where internal logs exported through OTLP will now use instrumentation scope attributes to identify the source component instead of log attributes.
    This does not affect the Collector's stderr output. See the changelog for v0.123.0 for a more detailed description of the gate's effects.
  • (Contrib) receiver/k8sobjects: Check for K8s API objects existence on receiver startup and not during config validation. (#38803)
  • (Contrib) receiver/kubeletstats: Move receiver.kubeletstats.enableCPUUsageMetrics feature gate to beta (#39487)
    Deprecated metrics container.cpu.utilization, k8s.pod.cpu.utilization and k8s.node.cpu.utilization are being replaced
    by container.cpu.usage, k8s.pod.cpu.usage and k8s.node.cpu.usage.
    To be able to use the deprecated metrics, switch receiver.kubeletstats.enableCPUUsageMetrics feature gate to false.
  • (Contrib) processor/k8sattributes: Change processor/k8sattributes to return error if unset envvar is used for node_from_env_var (#39447)
    Before this was a valid configuration, but had an unexpected behavior to monitor the entire cluster. | To keep the same behavior simply do not set the node_from_env_var value or use empty string.
  • (Contrib) receiver/sqlserver: host.name, sqlserver.computer.name, and sqlserver.instance.name are now resource attributes instead of log attributes. We used to report computer_name and instance_name in the log attributes for top query collection and they are now deprecated. Now we report the three resources attributes in both top query collection and sample query collection. (#39449)
    This change is only relevant for logs.

🚩 Deprecations 🚩

  • (Contrib) connector/spanmetrics: Deprecate the unused configuration dimensions_cache_size (#39646)
    Deprecated configuration dimensions_cache_size, please use aggregation_cardinality_limit instead

💡 Enhancements 💡

  • (Splunk) auto-instrumentation: Improve error message in case of failed .NET instrumentation installer download (#6165)
  • (Splunk) auto-instrumentation: Update NodeJS instrumentation library to v3.1.2 (#6162)
  • (Splunk) Update bundled OpenJDK to 11.0.27_6 (#6139)
  • (Core) mdatagen: Add support for attributes for telemetry configuration in metadata. (#12919)
  • (Core) configmiddleware: Add extensionmiddleware interface. (#12603, #9591)
  • (Core) configgrpc: Add gRPC middleware support. (#12603, #9591)
  • (Core) confighttp: Add HTTP middleware support. (#12603, #9591, #7441)
  • (Core) configmiddleware: Add configmiddleware struct. (#12603, #9591)
  • (Contrib) connector/spanmetrics: Add new aggregation_cardinality_limit configuration option to limit the number of unique combinations of dimensions that will be tracked for metrics aggregation. (#38990)
  • (Contrib) connector/count: Add profiles support (#39577)
  • (Contrib) extension/opamp: Introduces a new config field include_resource_attributes which allows the extension to copy the agent's resource attributes to the non-identifying attributes in the agent description. (#37487)
  • (Contrib) receiver/statsd: Add new config to customize socket permissions when transport is set to unixgram. (#37807)
  • (Contrib) receiver/kubeletstats: Adds support for collecting Node and Pod network IO/error metrics for all network interfaces (#30196)
  • (Contrib) exporter/awss3: add configuration field resource_attrs_to_s3/s3_prefix to support mapping s3 bucket prefix to OTel resource attributes (#37858)
    If resource_attrs_to_s3/s3_prefix is configured, s3 prefix will be determined based on the specified resource attribute and s3uploader/s3_prefix will serve as a fallback.
  • (Contrib) exporter/splunkhec: Use ObservedTimestamp if Timestamp is empty. (#39221)
  • (Contrib) receiver/hostmetrics: Possible to enable the process scraper under FreeBSD in the hostmetrics receiver. (#39622)
  • (Contrib) receiver/kafka: Add support for configuring Kafka consumer rebalance strategy and group instance ID (#39513)
    This enhancement introduces two optional settings: group_rebalance_strategy and group_instance_id.
    These allow users to override the default Range-based rebalance strategy and optionally provide a static instance ID (as per KIP-345) for cooperative sticky balancing.
    This is particularly useful when handling high-cardinality metric workloads, as it reduces rebalance impact, improves cache reuse, and boosts CPU efficiency.
    Both settings are optional to maintain full backward compatibility.
  • (Contrib) receiver/kafka: Added a new 'topic' attribute to all existing internal consume-claim metrics. (#35336)
  • (Contrib) receiver/kafka: Add max_fetch_wait config setting (#39360)
    This setting allows you to specify the maximum time that the broker will wait for
    min_fetch_size bytes of data to be available before sending a response to the client.
    Defaults to 250ms.
  • (Contrib) receiver/sqlserver: Accept context_info with traceparent format in query sample collection, setting log record with correct traceId and spanId. (#39539)

🧰 Bug fixes 🧰

  • (Splunk) receiver/smartagent: Fix the receiver failing to start by receiver_creator since 0.124.0 (#6187)
  • (Core) exporterhelper: Do not ignore the num_consumers setting when batching is enabled. (#12244)
  • (Core) exporterhelper: Reject elements larger than the queue capacity (#12847)
  • (Core) mdatagen: Add time and plog package imports (#12907)
  • (Core) confmap: Maintain nil values when marshaling or unmarshaling nil slices ([#11882](https://g...
Read more

v0.124.0

18 Apr 00:15
v0.124.0
13cc4d3
Compare
Choose a tag to compare

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

🛑 Breaking changes 🛑

  • (Contrib) splunkenterprisereceiver: added new attributes to the receiver and modified config (#36330)
  • (Contrib) extension/headerssetter: Change DefaultValue to use configopaque.String type. (#39127)
  • (Contrib) splunkenterprisereceiver: disabled default metrics except for splunkHealth to ensure scrapes run on Splunk instance are opt-in (#39068)
  • (Contrib) processor/transform: Fix Basic Config style to properly handle cache access. (#38926)
    The Transform processor now requires only one configuration style per processor's configuration, which means Advanced Config and Basic Config cannot be used together anymore.
  • (Contrib) sqlserverreceiver: update the unit of db.lock_timeout attribute from millisecond to second. this attribute is part of the emitted query sample collection. (#39042)

🚩 Deprecations 🚩

  • (Contrib) kafkaexporter: Deprecate auth::tls and introduce tls config (#37776)
  • (Contrib) kafkametricsreceiver: Deprecate auth::tls and introduce tls config (#37776)
  • (Contrib) kafkareceiver: Deprecate auth::tls and introduce tls config (#37776)
  • (Contrib) kafkaexporter: deprecate topic and encoding, introduce signal-specific configuration (#35432)
  • (Contrib) kafkareceiver: Add signal-specific topic and encoding config, deprecate existing topic/encoding config. (#32735)

💡 Enhancements 💡

  • (Splunk) Update splunk-otel-javaagent to v2.15.0 (#6131)
  • (Splunk) Update jmx-metric-gatherer to v1.46.0 (#6127)
  • (Core) exporterhelper: Add support for bytes-based batching for profiles in the exporterhelper package. (#3262)
  • (Core) otelcol: Enhance config validation using command to capture all validation errors that prevents the collector from starting. (#8721)
  • (Core) exporterhelper: Link batcher context to all batched request's span contexts. (#12212, #8122)
  • (Contrib) azuremonitorreceiver: Add subscription name resource attribute (#39029)
  • (Contrib) azuremonitorreceiver: Allow to use metrics:getBatch API (Azure Monitor Metrics Data Plane) (#38651)
  • (Contrib) kafkareceiver: Propagate Kafka headers as metadata (#39129)
    Allows the Kafka receiver to propagate Kafka headers as client.Info (metadata). Allowing downstream processors and exporters to access the values via the enriched context.
  • (Contrib) kafkaexporter: Propagate metadata keys as headers (#39130)
    Adds a new config option specifying a list of metadata keys that should be propagated as Kafka message headers.
  • (Contrib) receivercreator: Add kafkatopicsobserver to the receivercreator configuration (#37665)
  • (Contrib) kafkaexporter: enable partitioning for all encodings (#39001, #38999)
    With the exception of Jaeger encodings which have their own partitioning logic,
    partitioning is now independent of the encoding used. This means that all encodings
    now support partitioning.
  • (Contrib) signalfxexporter: Errors will now include the URL that it was trying to access (#39026)
  • (Contrib) splunkhecexporter: Errors will now include the URL that it was trying to access (#39026)
  • (Contrib) k8sattributesprocessor: Add option to configure automatic resource attributes - with annotation prefix (#37114)
    Implements Specify resource attributes using Kubernetes annotations.
    If you are using the file log receiver, you can now create the same resource attributes as traces (via OTLP) received
    from an application instrumented with the OpenTelemetry Operator -
    simply by adding the extract: { otel_annotations: true } configuration to the k8sattributesprocessor processor.
    See the documentation for more details.
  • (Contrib) oracledbreceiver: Add support for parallel operations metrics (#39215)
    The following metrics are now available, all disabled by default:
    • 'DDL statements parallelized'
    • 'DML statements parallelized'
    • 'Parallel operations not downgraded'
    • 'Parallel operations downgraded to serial'
    • 'Parallel operations downgraded (1-25%)'
    • 'Parallel operations downgraded (25-50%)'
    • 'Parallel operations downgraded (50-75%)'
    • 'Parallel operations downgraded (75-99%)'
  • (Contrib) k8sclusterreceiver: Add missing attributes to entities in experimental entity feature (#39038)
  • (Contrib) pkg/stanza: Use buffer pool for the read buffers to limit allocations (#39373)
  • (Contrib) postgresqlreceiver: add top query collection to help end user identify which query were executed in the postgresql database. (#39311)
  • (Contrib) sqlserverreceiver: Allow full control of the "connection string" via the datasource configuration option (#39235)
  • (Contrib) spanmetricsconnector: Initialise new calls_total metrics at 0 (#38537)
  • (Contrib) pkg/stanza: Remove unnecessary slice allocation to track errors (even nil) (#39367)

🧰 Bug fixes 🧰

  • (Core) confighttp: Ensure http authentication server failures are handled by the provided error handler (#12666)
  • (Contrib) metricstransformprocessor: Fix aggregation of exponential histograms in metricstransform processor. (#39143)
    Fix a panic when the number of populated buckets varies, and fix summing of counts for the Zero bucket.
  • (Contrib) pkg/ottl: Fix OTTL context inference order to prioritize the scope context over resource. (#39155)
  • (Contrib) pkg/ottl: Fix so replace_all_patterns can replace keys using optional function (#32896)
    When using the replace_all_patterns with key and optional function on the replacement, the value was being replaced with the key. This change fixes that and now the key is replaced as intended.
  • (Contrib) awss3exporter: Fixes an issue where the AWS S3 Exporter was forcing an ACL to be set, leading to unexpected behavior in S3 bucket permissions (#39346)
    Current behavior of the AWS S3 Exporter is to set the ACL to 'private' by default, this removes that behavior and sets no ACL if not specified.
  • (Contrib) connector/spanmetrics: This change proposes moving the start timestamp (and last seen timestamp) from the resourceMetrics level to the individual metrics level. This will ensure that each metric has its own accurate start and last seen timestamps, regardless of its relationship to other spans. (#35994)
  • ...
Read more

v0.123.0

17 Apr 18:06
v0.123.0
a93426c
Compare
Choose a tag to compare

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

❗ Known Issues ❗

🛑 Breaking changes 🛑

  • (Splunk) Support for OpenSUSE 12 and CentOS 7 (tar package) has been dropped (#6073)
  • (Core) service/telemetry: Mark telemetry.disableAddressFieldForInternalTelemetry as beta, usage of deprecated service::telemetry::address are ignored (#12756)
    IMPORTANT: If you have service::telemetry::address configured manually, ensure to change it to the new format:
    telemetry:
      metrics:
        readers:
          - pull:
              exporter:
                prometheus:
                  host: <HOST>
                  port: <PORT>
                  without_scope_info: true
                  without_type_suffix: true
                  without_units: true
    Otherwise, the Collector will not emit any internal telemetry metrics.
    To restore the previous behavior disable telemetry.disableAddressFieldForInternalTelemetry feature gate.
  • (Core) exporterbatch: Remove deprecated fields min_size_items and max_size_items from batch config. (#12684)
  • (Contrib) receiver/azuremonitor: multi subscriptions support and automatic discovery (#36612)
  • (Contrib) exporter/kafka: change default client_id to "otel-collector" (#38411)
    The exporter now uses the "configkafka" package which consolidates
    common configuration structures and default values. As a result of
    this change, we update the default client_id value to "otel-collector".
  • (Contrib) receiver/kafkametrics: change default client_id to "otel-collector", deprecate "refresh_frequency" (#38411)
    The receiver now uses the "configkafka" package which consolidates
    common configuration structures and default values. As a result of
    this change, we update the default client_id value to "otel-collector",
    and deprecate "refresh_frequency" in favour of "metadata.refresh_interval".
  • (Contrib) processor/k8sattributes: Remove stable feature gate k8sattr.rfc3339 (#38810)

🚩 Deprecations 🚩

  • (Core) exporters: Deprecate blocking in favor of block_on_overflow. (#12710)
  • (Core) exporters: Deprecate configuring exporter batching separately. Use sending_queue::batch instead. (#12772)
    Moving the batching configuration to sending_queue::batch requires setting sending_queue::sizer to items
    which means that sending_queue::queue_size needs to be also increased by the average batch size number (roughly
    x5000 for the default batching configuration).
    See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#configuration
  • (Contrib) exporter/kafka: Deprecate auth.plain_text configuration. Use auth.sasl with mechanism set to PLAIN instead. (#38883)
  • (Contrib) receiver/kafkametrics: Deprecate auth.plain_text configuration. Use auth.sasl with mechanism set to PLAIN instead. (#38883)
  • (Contrib) receiver/kafka: Deprecate auth.plain_text configuration. Use auth.sasl with mechanism set to PLAIN instead. (#38883)

💡 Enhancements 💡

  • (Splunk) Add discovery rule (disabled by default) for istio (#5854)
  • (Core) exporters: Add support to configure batching in the sending queue. (#12746)
  • (Core) exporters: Add support for wait_for_result, remove disabled_queue (#12742)
  • (Core) exporters: Allow exporter memory queue to use different type of sizers. (#12708)
  • (Core) service: Add telemetry.newPipelineTelemetry feature gate to inject component-identifying attributes in internal telemetry (#12217)
    With the feature gate enabled, all internal telemetry (metrics/traces/logs) will include some of
    the following instrumentation scope attributes:
    • otelcol.component.kind
    • otelcol.component.id
    • otelcol.pipeline.id
    • otelcol.signal
    • otelcol.signal.output
      These attributes are defined in the Pipeline Component Telemetry RFC,
      and identify the component instance from which the telemetry originates.
      They are added automatically without changes to component code.
      These attributes were already included in internal logs as regular log attributes, starting from
      v0.120.0. For consistency with other signals, they have been switched to scope attributes (with
      the exception of logs emitted to standard output), and are now enabled by the feature gate.
      Please make sure that the exporter / backend endpoint you use has support for instrumentation
      scope attributes before using this feature. If the internal telemetry is exported to another
      Collector, a transform processor could be used to turn them into other kinds of attributes if
      necessary.
  • (Core) exporters: Enable support to do batching using bytes sizer (#12751)
  • (Core) service: Add config key to set metric views used for internal telemetry (#10769)
    The service::telemetry::metrics::views config key can now be used to explicitly set the list of
    metric views used for internal telemetry, mirroring meter_provider::views in the SDK config.
    This can be used to disable specific internal metrics, among other uses.
    This key will cause an error if used alongside other features which would normally implicitly create views, such as:
    • not setting service::telemetry::metrics::level to detailed;
    • enabling the telemetry.disableHighCardinalityMetrics feature flag.
  • (Contrib) connector/spanmetrics: Add instrumentation scope to span metrics connector. (#23662)
    This change adds the instrumentation scope to the span metrics connector, which allows users to specify the instrumentation scope for the connector.
    Now, the connector has a new configuration option:
    • include_instrumentation_scope: A list of instrumentation scope names to include from the traces.
      The instrumentation scope name is the name of the instrumentation library that collected the span.
  • (Contrib) receiver/splunkhec: Splunk HEC timestamp accepts nanoseconds, microseconds, milliseconds, and seconds epoch. (#36571)
  • (Contrib) receiver/oracledb: Add support for additional read/write metrics (#37814)
    The following metrics are now available, all disabled by default:
    'physical reads direct', 'physical writes', 'physical writes direct',
    'physical read io requests' and 'physical write io requests' metrics'
  • (Contrib) exporter/awss3: Implement timeout for S3 exporter (#36264)
  • (Contrib) extension/bearertokenauth: Allow the header name to be customized in the bearerauthtoken extension (#38793)
  • (Contrib) receiver/hostmetrics: Reduced the cost of retrieving number of threads and parent process ID on Windows.
    Disable the featuregate hostmetrics.process.onWindowsUseNewGetProcesses to fallback to the previous[] implementation.
    (#32947, #38589)
  • (Contrib) receiver/hostmetrics: Reduced the CPU cost of collecting the process.handles metric on Windows. (#38886)
    Instead of using WMI to retrieve the number of opened handles by each process
    the scraper now uses the GetProcessHandleCount Win32 API which results in
    reduced CPU usage when the metric process.handles is enabled.
  • (Contrib) pkg/ottl: Enhance the Decode OTTL function to support all flavors of Base64 (#38854)
  • (Contrib) receiver/rabbitmq: Enhance the RabbitMQ receiver to...
Read more

v0.122.0

31 Mar 20:57
v0.122.0
76c026c
Compare
Choose a tag to compare

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

🛑 Breaking changes 🛑

  • (Core) service: Batch processor telemetry is no longer emitted at "basic" verbosity level (#7890)
    According to the guidelines, basic-level telemetry should be reserved for core Collector APIs.
    Components such as the batch processor should emit telemetry starting from the "normal" level
    (which is also the default level). Migration: If your Collector telemetry was set to level:
    basic and you want to keep seeing batch processor-related metrics, consider switching to level:
    normal instead.
  • (Contrib) deltatocumulative: removes legacy and clean up existing metrics (#38079)
  • (Contrib) sqlserverreceiver: SQL Server receiver now requires a positive serial number for X509 certificates.
    See known issues in README of receiver/sqlserverreceiver for more information. (#38099)

🚀 New components 🚀

  • (Splunk) Add opamp extension (#5999)

💡 Enhancements 💡

  • (Splunk) Add a new discovery bundle for Istio metrics which includes proxy, gateway, and pilot/istiod (#5854)
    • This discovery receiver, named prometheus/istio, is disabled by default. Users can enable it by setting the discovery config splunk.discovery.receivers.prometheus/istio.enabled=true.
  • (Splunk) Update splunk-otel-javaagent to v2.14.0 (#6000)
  • (Splunk) Update jmx-metric-gatherer to v1.45.0 (#5995)
  • (Splunk) Use direct connection for MongoDB discovery (#6042)
  • (Core) service: Add service.AllowNoPipelines feature gate to allow starting
    the Collector without pipelines. This can be used to start with only extensions.(#12613)
  • (Core) service: include component id/type in start error (#10426)
  • (Core) confmap: Introduce a new feature flag to allow for merging lists instead of discarding the existing ones.
    You can enable this option via the command line by running following command:
    otelcol --config=main.yaml --config=extra_config.yaml --feature-gates=-confmap.enableMergeAppendOption
    (#8394)
    (#8754)
    (#10370)
  • (Contrib) splunkhecreceiver: splunk hec receiver accepts metrics with empty string Event field (#38464)
  • (Contrib) sqlserverreceiver: Add new performance-related metrics (#37884)
  • (Contrib) hostmetricsreceiver: Added the system.linux.memory.dirty and system.memory.page_size metrics. (#38672)
  • (Contrib) mongodbreceiver: Added new mongodb metrics to achieve parity with Telegraf (#37227)
  • (Contrib) routingconnector: Adds Standard Converter functions to routing connector. (#38282)
  • (Contrib) azuremonitorreceiver: Adds filtering by metric and/or aggregation (#37420)
  • (Contrib) headerssetterextension: Add support for setting headers based on authentication data (#38441)
  • (Contrib) collectdreceiver: apply fieldalignment to collectd records to reduce memory allocation (#37321)
  • (Contrib) pkg/ottl: Enhance flatten() editor to resolve attribute key conflicts by adding a number suffix to the conflicting keys. (#35793)
  • (Contrib) loadbalancingexporter: Add support for route with composite keys (#35320)
  • (Contrib) kafkaexporter: do not ask for user and password if auth mechanism is set to AWS IAM (#37417)
  • (Contrib) bearertokenauthextension: Add the ability to configure multiple bearer tokens for the same endpoint. (#38148)
  • (Contrib) pkg/ottl: Add IsValidLuhn() checksum verification function (#37880)
  • (Contrib) pkg/ottl: Add ability to compare maps in Boolean Expressions (#38611)
  • (Contrib) pkg/ottl: Add Murmur3Hashand Murmur3Hash128 functions to convert the target string to Murmur3 hash in hexadecimal string format (#34077)
  • (Contrib) prometheusreceiver: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646)
  • (Contrib) rabbitmqreceiver: Enhance the RabbitMQ receiver to collect and report node-level metrics (rabbitmq.node.disk_free, rabbitmq.node.fd_used, rabbitmq.node.mem_limit, and rabbitmq.node.mem_used). This provides additional observability into the state and resource usage of RabbitMQ nodes. (#36925)
  • (Contrib) redactionprocessor: Support hashing instead of masking values via 'hash_function' parameter (#35830)
  • (Contrib) pkg/stanza: Add 'regex_replace' operator (#37443)
  • (Contrib) jaegerreceiver: Remove dependency on jaeger/cmd/agent (#38655)
  • (Contrib) resourceprocessor: Add support for profiles signal type (#37513)
  • (Contrib) azuremonitorreceiver: Add dimensions.enabled and dimensions.overrides which allows to opt out from automatically split by all the dimensions of the resource type (#36611)
  • (Contrib) sqlqueryreceiver: Allow users to specify the maximum number of concurrent open connections to DB server using max_open_conn config parameter (#36752)
  • (Contrib) pkg/stanza: Prevent data loss in Stanza-based receivers on ungraceful shutdown of the collector (#35456)
    Enable the stanza.synchronousLogEmitter feature gate to unlock this feature.
    See the documentation for more information.

🧰 Bug fixes 🧰

  • (Splunk) deployment/databricks: Ensure curl commands are properly redirected (#6047)
  • (Core) service: do not attempt to register process metrics if they are disabled (#12098)
  • (Contrib) filelogreceiver: Extend container parser log file path pattern to include rotated files. (#35137)
  • (Contrib) mysqlreceiver: Fixed issue where the system attempted to convert string value '0.0000' (stored as []uint8) to int64 type, which was causing an invalid syntax error. (#38276)
  • (Contrib) attributesprocessor: Validate metrics configuration parameters before processing (#36077)
  • (Contrib) probabilisticsampler: Logs priority sampling behavior applies only when the priority attribute is present. (#38468)
  • (Contrib) pkg/ottl: Fix limitation of map literals within slice literals not being handled correctly (#37405)

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.122.0
    • digest: sha256:134db8fdfc45bb60557a1566a24ac1ea8b9da7dc5dd0b32b7751d19b9b455116
  • Windows (2019 amd64, 2022 amd64):
    • `quay.io/signalfx/splunk-otel-co...
Read more

v0.121.0

17 Mar 23:09
v0.121.0
3ca3da0
Compare
Choose a tag to compare

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

🛑 Breaking changes 🛑

  • (Splunk) Support for Oracle Linux 7 has been dropped (#5974)
  • (Core) confighttp: Make the client config options max_idle_conns, max_idle_conns_per_host, max_conns_per_host, and idle_conn_timeout integers (#9478)
    All four options can be set to 0 where they were previously set to null
  • (Contrib) awss3exporter: Replaced the s3_partition option with s3_partition_format to provide more flexibility to users. (#37915, #37503)
    Users can provide custom file partitions using strftime formatting.
    The default value of year=%Y/month=%m/day=%d/hour=%H/minute=%M matches the older pattern (with s3_partition: minute)
    If users do not provide a value for s3_prefix, the exporter will not create a / folder in the bucket.
  • (Contrib) processor/k8sattributes: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to stable (#25128)
  • (Contrib) signalfxexporter: Remove the deprecated configuration option translation_rules (#35332)
    Please use processors to handle desired metric transformations instead. Find migration guidance in the
    translation rules migration guide.

🚩 Deprecations 🚩

  • (Core) exporterhelper: Deprecate min_size_items and max_size_items in favor of min_size and max_size. (#12486)
  • (Contrib) prometheusreceiver: Deprecate metric start time adjustment in the prometheus receiver. It is being replaced by the metricstarttime processor. (#37186)
    Start time adjustment is still enabled by default. To disable it, enable the | receiver.prometheusreceiver.RemoveStartTimeAdjustment feature gate.

💡 Enhancements 💡

  • (Core) pipeline: output pipeline name with signal as signal[/name] format in logs. (#12410)
  • (Core) memorylimiter: Add support to configure min GC intervals for soft and hard limits. (#12450)
  • (Core) otlpexporter: Update the stability level for logs, it has been as stable as traces and metrics for some time. (#12423)
  • (Core) service: Create a new subcommand to dump the initial configuration after resolving/merging. (#11479)
    To use the print-initial-config subcommand, invoke the Collector with the subcommand and corresponding feature gate: otelcol print-initial-config --feature-gates=otelcol.printInitialConfig --config=config.yaml.
    Note that the feature gate enabling this flag is currently in alpha stability, and the subcommand may
    be changed in the future.
  • (Core) memorylimiterprocessor: Add support for profiles. (#12453)
  • (Core) otelcol: Converters are now available in the components command. (#11900, #12385)
  • (Core) confmap: Surface YAML parsing errors when they happen at the top-level. (#12180)
    This adds context to some instances of the error "retrieved value (type=string) cannot be used as a Conf", which typically happens because of invalid YAML documents
  • (Core) pprofile: Add LinkIndex attribute to the generated Sample type (#12485)
  • (Core) exporterhelper: Stabilize exporter.UsePullingBasedExporterQueueBatcher and remove old batch sender (#12425)
  • (Contrib) processor/resourcedetection: Introduce retry logic for failed resource detection. (#34761)
  • (Contrib) pkg/ottl: Support dynamic indexing of math expressions in maps and slices (#37644)
  • (Contrib) receiver/sqlquery: Add support for SapASE (sybase) database connections (#36328)
  • (Contrib) iisreceiver: Added state and uptime metrics for application pools (#34924)
  • (Contrib) pkg/stanza: Add entry's timestamp and attributes to errors logs from log transformers processors (#37285)
    When a log transformer processor fails to process an log entry it will include entry's timestamp and attributes in its own logs.
    With this information the user can more easily identify the log file and find the entry that's having issues.
  • (Contrib) kafkareceiver: Add error backoff configuration to kafka receiver which allows to wait and retry a failed message when the next consumer returns some errors. (#37009)
  • (Contrib) receiver/kafkametricsreceiver: Add refresh_frequency config to kafkametricsreceiver, to configure custom duration for cluster metadata refresh (#37896)
    • Helps fine tuning the refresh_frequency, and enables custom cluster metadata refresh intervals
    • Default refresh_frequency is set 10 minutes from Sarama library defaults
  • (Contrib) processor/resourcedetection: Add k8s.cluster.uid to kubeadm detector (#38207)
  • (Contrib) mongodbreceiver: Added mongodb replica metrics and routing logic for multiple mongodb instances (#37517)
  • (Contrib) pkg/ottl: Add event_index to the available paths of the span event context (#35778)
  • (Contrib) pkg/ottl: Introduce Weekday() converter function (#38126)
  • (Contrib) prometheusreceiver: Make use of creation timestamp from prometheus (#36473)
  • (Contrib) processor/redaction: Introduce 'blocked_key_patterns' parameter (#35830)
  • (Contrib) awss3exporter: Added acl option (#37935)
  • (Contrib) receiver/sqlserverreceiver: Add server.address and server.port resource attributes to SQL server receiver. (#35183)
    The new resource attributes are added to the SQL server receiver to distinguish metrics coming from different SQL server instances.
    • (Contrib) server.address: The address of the SQL server host, disabled by default.
    • (Contrib) server.port: The port of the SQL server host, disabled by default.

🧰 Bug fixes 🧰

  • (Core) service: Fix crash at startup when converting from v0.2.0 to v0.3.0 (#12438)
  • (Core) service: fix bug in parsing service::telemetry configuration (#12437)
  • (Core) exporterhelper: Fix bug where the error logged when conversion of data fails is always nil (#12510)
  • (Contrib) ecsobserver: Fixed ecs task tags not being included in metadata labels (#38278)
  • (Contrib) redactionprocessor: Fix redaction processor to redact span event attributes (#36633)
  • (Contrib) azuremonitorreceiver: Fix bug where the time grain wasn't honored (#37337)
  • (Contrib) exporter/splunk_hec: Do not pass errors from draining the response body to the pipeline as a export failure. (#38118)
  • (Contrib) kafkametricsreceiver: Fix incorrect cluster admin initialization in consumer scraper (#36818)
  • (Contrib) pkg/ottl: Change the `ottlmetr...
Read more

v0.120.0

28 Feb 16:38
v0.120.0
d5b7335
Compare
Choose a tag to compare

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

🛑 Breaking changes 🛑

  • (Contrib) receiver/prometheus: Prometheus receiver now uses scrapers in Prometheus 3.0. (#36873)
    There are a number of breaking changes in Prometheus 3.0. Learn more about those changes and migration guide on https://prometheus.io/docs/prometheus/latest/migration/.
    As a result of adding support for UTF-8 names,
    the metrics and labels containing UTF-8 characters are no longer escaped. Consequently, the dots (.) in internal
    collector metrics and resource attributes scraped by Prometheus are no longer replaced with underscores (_).

    • The service_name, service_instance_id, and service_version resource attributes are now scraped as
      service.name, service.instance.id, and service.version, respectively.
    • The following metrics containing dots reported by several components are no longer escaped:
      • filter processor:
        • processor_filter_datapoints_filtered -> processor_filter_datapoints.filtered
        • processor_filter_logs_filtered -> processor_filter_logs.filtered
        • processor_filter_spans_filtered -> processor_filter_spans.filtered
      • deltatocumulative processor:
        • deltatocumulative_streams_tracked -> deltatocumulative.streams.tracked
        • deltatocumulative_streams_tracked_linear -> deltatocumulative.streams.tracked.linear
        • deltatocumulative_streams_limit -> deltatocumulative.streams.limit
        • deltatocumulative_streams_evicted -> deltatocumulative.streams.evicted
        • deltatocumulative_streams_max_stale -> deltatocumulative.streams.max_stale
        • deltatocumulative_datapoints_processed -> deltatocumulative.datapoints.processed
        • deltatocumulative_datapoints_dropped -> deltatocumulative.datapoints.dropped
        • deltatocumulative_datapoints_linear -> deltatocumulative.datapoints.linear
        • deltatocumulative_gaps_length -> deltatocumulative.gaps.length
      • googlecloudpubsub receiver:
        • receiver_googlecloudpubsub_stream_restarts -> receiver.googlecloudpubsub.stream_restarts
  • (Contrib) activedirectorydsreceiver: Fixed typo in the attribute distingushed_names, renaming it to distinguished_names. (#37606)

  • (Contrib) receiver/hostmetrics: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate (#34763)

  • (Contrib) tailsamplingprocessor: Fix the decision timer metric to capture longer latencies beyond 50ms. (#37722)
    This changes the unit of the decision timer metric from microseconds to milliseconds.

  • (Contrib) routingconnector: Remove match_once configuration parameter. (#36824)

  • (Core) service: Align component logger attributes with those defined in RFC (#12217)
    See Pipeline Component Telemetry RFC

💡 Enhancements 💡

  • (Splunk) Make Windows TA agnostic to Powershell ExecutionPolicy (#5935)
  • (Contrib) processor/transformprocessor: Add support for global conditions and error mode overrides. (#29017)
    Global conditions are now available for context-inferred structured configurations, allowing the use of fully
    qualified paths. Additionally, a new configuration key called error_mode has been added to the context statements group.
    This key determines how the processor reacts to errors that occur while processing that specific group of statements.
    When provided, it overrides the top-level error mode, offering more granular control over error handling.
  • (Contrib) pkg/stanza: Allow users to configure initial buffer size (#37786)
  • (Contrib) vcenterreceiver: Adds three more vCenter virtual machine performance metrics (#37488)
  • (Contrib) k8sclusterreceiver: Adds new descriptive attributes/metadata to the k8s.namespace and the container entity emitted from k8sclusterreceiver. (#37580)
    • Adds the following attributes to k8s.namespace entity:
      • k8s.namespace.phase: The phase of a namespace indicates where the namespace is in its lifecycle. E.g. 'active', 'terminating'
      • k8s.namespace.creation_timestamp: The time when the namespace object was created.
    • Adds the following attributes to container entity:
      • container.creation_timestamp: The time when the container was started. Only available if container is either in 'running' or 'terminated' state.
  • (Contrib) splunkenterprisereceiver: Added a new splunk.health metric. (#36695)
  • (Contrib) resourcedetectionprocessor: add the Dynatrace detector to the resource detection processor (#37577)
  • (Contrib) extension/oauth2clientauth: Add expiry_buffer config to oauth2client extension, allowing token refresh before expiration with a default buffer of 5 minutes. (#35148)
    • Prevents authentication failures by refreshing the token early.
    • The default expiry buffer is set to 5 minutes, and users can adjust it as needed.
  • (Contrib) googlecloudpubsubreceiver: Turn noisy warn log about Pub/Sub servers into debug, and turn the reset count into a metric (#37571)
    The receiver uses the Google Cloud Pub/Sub StreamingPull API and keeps a open connection. The Pub/Sub servers
    recurrently close the connection after a time period to avoid a long-running sticky connection. Before the
    receiver logged warn log lines everytime this happened. These log lines are moved to debug so that fleets with
    lots of collectors with the receiver don't span logs at warn level. To keep track of the resets, whenever a
    connection reset happens a otelcol_receiver_googlecloudpubsub_stream_restarts metric is increased by one.
  • (Contrib) processor/redaction: Introduce 'allowed_values' parameter for allowed values of attributes (#35840)
  • (Contrib) routingconnector: Avoid unnecessary copy of the data in routing connector (#37946)
  • (Contrib) awscontainerinsightreceiver: Add support for HOST_PROC environment variable in AWS Container Insight Receiver. (#35862)
  • (Contrib) syslogreceiver: Support setting on_error config for syslog receiver. (#36906)
  • (Contrib) processor/tailsampling: Adds support for optionally recording the policy (and any composite policy) associated with an inclusive tail processor sampling decision.
    This functionality is disabled by default, you can enable it by passing the following feature flag to the collector: +processor.tailsamplingprocessor.recordpolicy
    (#35180)
  • (Contrib) tailsamplingprocessor: makes the numeric_attribute more flexible and allows to set only min_value or max_value, without the need to set both (#37328)
    This is useful to have simple configurations like these:
    {
      type: numeric_attribute,
      numeric_attribute: {
        key: http.status_code,
        min_value: 400
      }
    }
    
  • (Core) otlpreceiver: Update stability for logs (#12335)
  • (Core) exporterhelper: Implement sync disabled queue used when batching is enabled. (#12245)
  • (Core) exporterhelper: Enable the new pull-based batcher in exporterhelper (#12291)
  • (Core) exporterhelper: Update queue size after the element is done exported (#12399)
    After this change the active queue size will include elements in the process of being exported.
  • (Core) otelcol: Add featuregate command to display information about available features (#11998)
    The featuregate command allows users to view detailed information about feature gates
    including their status, stage, and description.

🧰 Bug fixes 🧰

  • (Contrib) `...
Read more

v0.119.0

18 Feb 16:38
5a249cf
Compare
Choose a tag to compare

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

🚩 Deprecations 🚩

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

🛑 Breaking changes 🛑

  • (Splunk) Deprecated ASP.NET and .NET SignalFx monitors are removed (#5868)
  • (Core) exporters: Rename exporter span signal specific attributes (e.g. "sent_spans" / "send_failed_span") to "items.sent" / "items.failed". (#12165)
  • (Core) exporters: Change exporter ID to be a Span level attribute instead on each event. (#12164)

💡 Enhancements 💡

  • (Core) configtls: Allow users to mention their preferred curve types for ECDHE handshake (#12174)
  • (Contrib) processor/transformprocessor: Add support for flat configuration style. (#29017)
    The flat configuration style allows users to configure statements by providing a list of statements instead of a
    structured configuration map. The statement's context is expressed by adding the context's name prefix to path names,
    which are used to infer and to select the appropriate context for the statement.
  • (Contrib) receiver/httpcheck: Added support for specifying multiple endpoints in the httpcheckreceiver using the endpoints field. Users can now monitor multiple URLs with a single configuration block, improving flexibility and reducing redundancy. (#37121)
  • (Contrib) processor/resourcedetection: Expose additional configuration parameters for the AWS metadata client used by the EC2 detector (#35936)
    In some cases, you might need to change the behavior of the AWS metadata client from the standard retryer
    By default, the client retries 3 times with a max backoff delay of 20s.
    We offer a limited set of options to override those defaults specifically, such that you can set the client to retry 10 times, for up to 5 minutes, for example:
    processors:
      resourcedetection/ec2:
        detectors: ["ec2"]
        ec2:
          max_attempts: 10
          max_backoff: 5m
  • (Contrib) processor/cumulativetodelta: Add metric type filter for cumulativetodelta processor (#33673)
  • (Contrib) processor/resourcedetection: Add fail_on_missing_metadata option on EC2 detector (#35936)
    If the EC2 metadata endpoint is unavailable, the EC2 detector by default ignores the error.
    By setting fail_on_missing_metadata to true on the detector, the user will now trigger an error explicitly,
    which will stop the collector from starting.
  • (Contrib) processor/resourcedetection: The gcp resource detector will now detect resource attributes identifying a GCE instance's managed instance group. (#36142)
  • (Contrib) receiver/jaeger: Log the endpoints of different servers started by jaegerreceiver (#36961)
    This change logs the endpoints of different servers started by jaegerreceiver. It simplifies debugging by ensuring log messages match configuration settings.
  • (Contrib) receiver/hostmetrics/process: Added support for tracking process.uptime (#36667)
  • (Contrib) receiver/googlecloudpubsub: Added support for encoding extensions. (#37109)
  • (Contrib) processor/transform: Replace parser collection implementations with ottl.ParserCollection and add initial support for expressing statement's context via path names. (#29017)
  • (Contrib) receiver/prometheus: Add receiver.prometheusreceiver.UseCollectorStartTimeFallback featuregate for the start time metric adjuster to use the collector start time as an approximation of process start time as a fallback. (#36364)
  • (Contrib) processor/tailsampling: Reworked the consume traces, sampling decision, and policy loading paths to improve performance and readability (#37560)

🧰 Bug fixes 🧰

  • (Core) exporters: Fix bug that the exporter with new batcher may have been marked as non mutation. (#12239)
    Only affects users that manually turned on exporter.UsePullingBasedExporterQueueBatcher featuregate.
  • (Core) exporters: Fix MergeSplit issue that ignores the initial message size. (#12257)
  • (Core) service-telemetry: pass the missing async error channel into service telemetry settings (#11417)
  • (Contrib) receiver/filelog: Fix issue where flushed tokens could be truncated. (#35042)
  • (Contrib) connector/routing: Fix config validation with context other than resource (#37410)
  • (Contrib) processor/k8sattributes: Wait for the other informers to complete their initial sync before starting the pod informers (#37056)
  • (Contrib) processor/metricsgeneration: Generated metric name may not match metric being scaled (#37474)
  • (Contrib) connector/routing: The connector splits the original payload so that it may be emitted in parts to each route. (#37390)
  • (Contrib) pkg/stanza: Fix default source identifier in recombine operator (#37210)
    Its default value is now aligned with the semantic conventions: attributes["log.file.path"]
  • (Contrib) processor/tailsampling: Fixed sampling decision metrics otelcol_processor_tail_sampling_sampling_trace_dropped_too_early and otelcol_processor_tail_sampling_sampling_policy_evaluation_error_total, these were sometimes overcounted. (#37212)
    As a result of this change non-zero values of otelcol_processor_tail_sampling_sampling_trace_dropped_too_early
    and otelcol_processor_tail_sampling_sampling_policy_evaluation_error_total metrics will be lower.
    Before this fix, errors got counted several times depending on the amount of traces being processed
    that tick and where in the batch the error happened.
    Zero values are unaffected.
  • (Contrib) exporter/signalfx: Warn on dropping metric data points when they have more than allowed dimension count (#37484)
    The SignalFx exporter drops metric data points if they have more than 36 dimensions.
    Currently, the exporter logs at debug level when this occurs.
    With this change, the exporter will log at the warning level.

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.119.0
    • digest: sha256:2cd525f1e24a461a08beb2f853181c817e70ed53e92932d3bdac213f2449f202
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.119.0
    • digest: sha256:8bc28dd946efc310b67aabf5338a3b5aa89d10a1b23d6f22a5fcc04a1117eb8f

v0.118.0

03 Feb 17:20
v0.118.0
9eb4afa
Compare
Choose a tag to compare

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

🛑 Breaking changes 🛑

  • (Splunk) Stop supporting deprecated syntax for config source expansion (#5832)
    Use the following guidelines to update your configuration:
    • $ENV must be replaced with ${env:ENV}
    • $include:file_path must be replaced with ${include:file_path}. The same applied for any other config source.
      More information can be found in (the upgrade guidelines).
  • (Contrib) pkg/stanza: Move filelog.container.removeOriginalTimeField feature gate to stable (#33389)
  • (Contrib) pkg/ottl: Support dynamic indexing of maps and slices. (#36644)
  • (Contrib) routingconnector: Disconnect match_once parameter from functionality. (#29882)
    The parameter will be ignored, except to trigger a warning log about its upcoming removal in v0.120.0.

💡 Enhancements 💡

  • (Splunk) Turn on splunk.continuousDiscovery feature gate by default (#5833)
    This enables new way to discover third-party components and collect metrics from them:
    • It allows discovering services that were not available at the time of the collector startup but were started later.
    • Information about discovered services will be sent to Splunk Observability Cloud that can be found in "Discovered services" page.
      If you want to disable this feature and bring back the old behavior, add --feature-gates=-splunk.continuousDiscovery command line flag.
  • (Contrib) mysqlreceiver: Add delete_multi, update_multi metrics to mysql.commands for mysqlreceiver (#37301)
  • (Contrib) pkg/ottl: Add the Nanosecond converter to return the nanosecond component from the specified time.Time (#37042)
  • (Contrib) pkg/ottl: Add the Second converter to return the second component from the specified time.Time (#37042)
  • (Contrib) vcenterreceiver: Adds vCenter memory capacity for hosts and memory granted metric for VMs. (#37257)
  • (Contrib) awss3exporter: Implement sending queue for S3 exporter (#37274, #36264)
  • (Contrib) resourcedetectionprocessor: This enhancement detects AWS EKS cloud account ID (#37179)
  • (Contrib) k8sattributesprocessor: For pods with only one container, the container.id and k8s.container.name are not longer required in the resource attributes to add the container attributes (#34189)
  • (Contrib) pkg/ottl: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)
  • (Contrib) pkg/ottl: Add the FormatTime function to convert time.Time values to human-readable strings (#36870)
  • (Contrib) resourcedetectionprocessor: Introduce kubeadm detector to retrieve local cluster name. (#35116)
  • (Contrib) signalfxexporter: Prioritize retrieving token from context when accesstokenpassthrough is enabled (#37102)
  • (Core) exporterhelper: Add blocking option to control queue behavior when full (#12090)
  • (Core) debugexporter: Add EventName to debug exporter for Logs. EventName was added as top-level field in the LogRecord from 1.5.0 of proto definition. (#11966)
  • (Core) confighttp: Added support for configuring compression levels. (#10467)
    A new configuration option called CompressionParams has been added to confighttp. | This allows users to configure the compression levels for the confighttp client.
  • (Core) exporterhelper: Change the memory queue implementation to not pre-allocate capacity objects. (#12070)
    This change improves memory usage of the collector under low utilization and is a prerequisite for supporting different other size limitations (number of items, bytes).

🧰 Bug fixes 🧰

  • (Contrib) googlecloudpubsubreceiver: Fix a goroutine leak during shutdown. (#30438)
    A goroutine leak was found in the googlecloudpubsubreceiver.
    The goroutine leak was caused by the receiver not closing the underlying created gRPC client when using an insecure custom endpoint.
  • (Contrib) signalfxexporter: Honor access_token_passthrough config option for sending events (#37102)
  • (Contrib) k8sattributesprocessor: Ensure the pods gathered by the processor contain the information about their related replica sets and deployments after the initial sync (#37056)
  • (Contrib) pkg/ottl: Fix bug with replace_all_matches and replace_all_patterns that caused non-string values to be changed to empty string when matching against empty string. (#37071)
  • (Contrib) tailsamplingprocessor: Fixed sampling policy evaluation debug logging batch metrics (e.g. sampled). (#37040)
  • (Contrib) tailsamplingprocessor: Late span age histogram should include sampled traces. (#37180)

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.118.0
    • digest: sha256:76eda47c813540a5ac4ab70abbd0e780a23f11f9fd308d2ec5a9c113529ce54f
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.118.0
    • digest: sha256:ac1de2a46c8108845ebefb90b48714387bd6237de0ed10b3e3765eeeb516a3c4

v0.117.0

21 Jan 23:51
v0.117.0
6c45b35
Compare
Choose a tag to compare

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

⚠️ Known issues ⚠️

The sh executable that ships as part of the Docker image of the collector is corrupted in this release.

🛑 Breaking changes 🛑

  • (Contrib) cloudfoundryreceiver: Introduce a feature gate enable copying envelope tags to the metrics as resource attributes instead of datapoint attributes. (#34824)
  • (Contrib) pkg/ottl: removed the ability to reference entire parent objects. (#36872)
    Statements like set(cache["resource"], resource) in non-resource contexts will no longer work.
  • (Contrib) routingconnector: Change default value of match_once parameter to true. (#29882)
    This field was deprecated in v0.116.0 and will be removed in v0.120.0.
  • (Core) otelcol: Remove warnings when 0.0.0.0 is used (#11713, #8510)

🚩 Deprecations 🚩

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

🚀 New components 🚀

  • (Splunk) Add metricsgeneration processor (#5769)

💡 Enhancements 💡

  • (Splunk) Add a new discovery bundle for Envoy proxy metrics (#5780)
  • (Contrib) k8sclusterreceiver: Add additional attributes to node and pod entities (#35879)
    Adds the following attributes to node and pod metadata/entities:
    • k8s.pod.phase: The phase of a Pod indicates where the Pod is in its lifecycle. E.g. 'Pending', 'Running'
    • k8s.pod.status_reason: A brief message indicating details about why the pod is in this state. E.g. 'Evicted'
    • k8s.node.condition_*: The condition of a node. e.g. k8s.node.condition_ready. The value can be true, false, unknown.
  • (Contrib) receivercreator: Add support for starting logs' collection based on provided k8s annotations' hints (#34427)
  • (Contrib) ottl: Add a new ottl trim function that trims leading and trailing characters from a string (default- whitespace). (#34100)
  • (Contrib) sqlqueryreceiver: Add instrumentation scope to SQL query receiver metrics and logs (#31028)
  • (Contrib) statsdreceiver: Add UDS support to statsdreceiver (#21385)
  • (Contrib) tailsamplingprocessor: Support hot sampling policy loading (#37014)

🧰 Bug fixes 🧰

  • (Splunk) Fix deprecation warning for multiline config source calls (#5829)
  • (Contrib) receiver/azureeventhub: Ensure that observed timestamp is set when unmarshaling logs. (#36861)
  • (Contrib) internal/docker: Fix image matching regular expression to properly match SHA256 strings. (#36239)
    This affects the docker_observer extension.
  • (Contrib) k8sobjectsreceiver: ensure the k8s.namespace.name attribute is set for objects retrieved using the watch mode (#36352)
  • (Contrib) mongodbatlasreceiver: Update the mongoDB Atlas receiver to use the Default HTTP Transport that supports default proxy configuration (#36412)
  • (Contrib) mysqlreceiver: Avoid recording a value for the MysqlBufferPoolPages metric when out-of-bounds. (#35495)
    When using compressed tables, Innodb_buffer_pool_pages_misc may report an out-of-bounds value.
    See https://bugs.mysql.com/bug.php?id=59550 for context.
  • (Contrib) pkg/ottl: fix handling of nested maps within slices in the flatten function (#36162)
  • (Contrib) mysqlreceiver: Divide large values directly in SQL queries to avoid int overflows (#35495)
  • (Core) internal/sharedcomponent: Fixed bug where sharedcomponent would use too much memory remembering all the previously reported statuses (#11826)

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.117.0
    • digest: sha256:c07c949d244685030ad8ccd96bc8137b3d229a81e9dafc27c4f2e349e42d3cbb
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.117.0
    • digest: sha256:5b3df3fe83340b7f469d37cecd9ecd92805e97b09e28810547ddddfbf651156c

v0.116.0

08 Jan 20:31
v0.116.0
f402e34
Compare
Choose a tag to compare

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

🛑 Breaking changes 🛑

  • (Contrib) processor/tailsampling: Reverts #33671, allowing for composite policies to specify inverted clauses in conjunction with other policies. This is a change bringing the previous state into place, breaking users who rely on what was introduced as part of #33671. (#34085)

🚀 New components 🚀

  • (Splunk) Add bearertokenauth extension (#5727)
  • (Splunk) Add snowflake receiver (#5724)
  • (Splunk) Add purefa receiver (#5731)
  • (Splunk) Add sum connector (#5730 )

🚩 Deprecations 🚩

  • (Contrib) connector/routing: Deprecate match_once parameter. (#29882)
  • (Contrib) routingprocessor: Deprecated in favor of the routing connector. (#36616)
  • (Contrib) splunkhecexporter: Add otel_attrs_to_hec_metadata/* config fields to replace hec_metadata_to_otel_attrs/* fields. (#35092)
    otel_attrs_to_hec_metadata/* config fields will replace the hec_metadata_to_otel_attrs/* fields in a later release.

💡 Enhancements 💡

  • (Contrib) purefareceiver: Implements support for scraping Pure Storage FlashArray with Purity version 6.6.11+ (#36251)
  • (Contrib) azureeventhubreceiver: support providing one or more time formats for timestamp parsing (#36650)
  • (Contrib) fileexporter: Add support for profiles signal. (#35978)
  • (Contrib) pkg/ottl: GetXML Converter now supports selecting text, CDATA, and attribute (value) content. (#36821)
  • (Contrib) kafkaexporter, kafkareceiver: Add a new mechanism "AWS_MSK_IAM_OAUTHBEARER" for kafka exporter and kafka receiver. This mechanism use the AWS MSK IAM SASL Signer for Go https://github.com/aws/aws-msk-iam-sasl-signer-go. (#19747)
  • (Contrib) loadbalancingexporter: Adds a an optional configuration to the k8s resolver which returns hostnames instead of IPs for headless services pointing at statefulsets (#18412)
  • (Contrib) mongodbatlasreceiver: Adds additional metrics to the MongoDB Atlas receiver (#36525)
    Adds a number of new default disabled metrics to the MongoDB Atlas receiver. These metrics are:
    • mongodbatlas.disk.partition.queue.depth
    • mongodbatlas.disk.partition.throughput
    • mongodbatlas.process.cache.ratio
  • (Contrib) s3exporter: Upgrading to adopt aws sdk v2 (#36699)

🧰 Bug fixes 🧰

  • (Core) exporterhelper: Fix memory leak at exporter shutdown (#11401)
  • (Core) sharedcomponent: Remove race-condition and cleanup locking (#11819)
  • (Contrib) receiver/prometheusreceiver: Metric adjuster no longer assumes that all metrics from a scrape come from the same resource (#36477)
  • (Contrib) k8sattributesprocessor: Override extracted k8s attributes if original value has been empty (#36373)
  • (Contrib) k8sattributesprocessor: Log any errors encountered during kube client initialisation (#35879)
    This addresses an issue where the collector, due to an error encountered during the kubernetes client initialisation,
    was reporting an 'unavailable' status via the health check extension without any further information to be found in the logs.
  • (Contrib) postgresqlreceiver: Update the postgresqlreceiver to handle new table schema for the bgwriter metrics in pg17+ (#36784)
  • (Contrib) jaegerreceiver: Remove ineffectual warning from jaegerreceiver (#35894)

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.116.0
    • digest: sha256:375ed345d09d7b6c984e002a70f5f8f9881ffd250ca10fb519ac506e8a229bf0
  • Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector-windows:0.116.0
    • digest: sha256:3aa04423420c06868802c55c0a113a9e749500d377b821e2552cc5aad6f6075c