Skip to content

Releases: Dynatrace/dynatrace-otel-collector

v0.16.0

15 Oct 08:00
f6604fe
Compare
Choose a tag to compare

This release includes version 0.111.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.111.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • service/telemetry: Change default metrics address to "localhost:8888" instead of ":8888" (#11251)
    This behavior can be disabled by disabling the feature gate 'telemetry.UseLocalHostAsDefaultMetricsAddress'.
  • config: Move component.UseLocalHostAsDefaultHost feature gate to stable and therefore remove the ability to disable it. (#35569)

🚩 Deprecations 🚩

  • service/telemetry: Deprecate service::telemetry::metrics::address in favor of service::telemetry::metrics::readers. (#11205)
  • processorhelper: Deprecate BuildProcessorMetricName as it's no longer needed since introduction of mdatagen (#11328)

💡 Enhancements 💡

  • confighttp: Snappy compression to lazy read for memory efficiency (#11177)
  • httpsprovider: Mark the httpsprovider as stable. (#11191)
  • httpprovider: Mark the httpprovider as stable. (#11191)
  • yamlprovider: Mark the yamlprovider as stable. (#11192)
  • confmap: Allow using any YAML structure as a string when loading configuration including time.Time formats (#10659)
    Previously, fields with time.Time formats could not be used as strings in configurations
  • receiver/statsd: Add support for aggregating on Host/IP.
    (#23809)
  • hostmetricsreceiver: Add ability to mute all errors (mainly due to access rights) coming from process scraper of the hostmetricsreceiver (#20435)
  • pkg/ottl: Add InsertXML Converter (#35436)
  • pkg/ottl: Add GetXML Converter (#35462)
  • pkg/ottl: Add ToKeyValueString Converter (#35334)
  • pkg/ottl: Add RemoveXML Converter (#35301)

🧰 Bug fixes 🧰

  • processorhelper: Fix data race condition, concurrent writes to the err variable, causes UB (Undefined Behavior) (#11350)
  • cmd/builder: re-adds function to properly set and view version number of OpenTelemetry Collector Builder (ocb) binaries (#11208)
  • pdata: Unmarshal Span and SpanLink flags from JSON (#11267)

v0.15.0

26 Sep 13:53
d389038
Compare
Choose a tag to compare

This release includes version 0.110.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.110.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • processorhelper: Update incoming/outgoing metrics to a single metric with a otel.signal attributes. (#11144)
    The following metrics were added in the previous version

    • 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

    They are being replaced with the following to more closely align with OTEP 259:

    • otelcol_processor_incoming_items
    • otelcol_processor_outgoing_items
  • processorhelper: Remove deprecated [Traces|Metrics|Logs]Inserted funcs (#11151)

  • config: Mark UseLocalHostAsDefaultHostfeatureGate as stable (#11235)

  • pkg/stanza: Move filelog.container.removeOriginalTimeField feature gate to beta (#33389)

    • Disable the filelog.container.removeOriginalTimeField feature gate to get the old behavior.
  • resourcedetectionprocessor: Move processor.resourcedetection.hostCPUSteppingAsString feature gate to stable. (#31136)

  • resourcedetectionprocessor: Remove processor.resourcedetection.hostCPUModelAndFamilyAsString feature gate. (#29025)

🚩 Deprecations 🚩

  • processorhelper: deprecate accepted/refused/dropped metrics (#11201)
    The following metrics are being deprecated as they were only used in a single
    processor:
    • otelcol_processor_accepted_log_records
    • otelcol_processor_accepted_metric_points
    • otelcol_processor_accepted_spans
    • otelcol_processor_dropped_log_records
    • otelcol_processor_dropped_metric_points
    • otelcol_processor_dropped_spans
    • otelcol_processor_refused_log_records
    • otelcol_processor_refused_metric_points
    • otelcol_processor_refused_spans
  • hostmetricsreceiver: Set the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to stable. (#34763)

💡 Enhancements 💡

  • mdatagen: Add stability field to telemetry metrics, allowing the generated description to include a stability string. (#11160)
  • confmap/provider/envprovider: Support default values when env var is empty (#5228)
  • service/telemetry: Mark useOtelWithSDKConfigurationForInternalTelemetry as stable (#7532)
  • mdatagen: mdatagen validateMetrics() support validate metrics in telemetry.metric (#10925)
  • mdatagen: Use cobra for the command, add version flag (#11196)
  • processor/transform: Add custom function to the transform processor to convert exponential histograms to explicit histograms. (#33827)
  • pkg/ottl: Improved JSON unmarshaling performance by 10-20% by switching dependencies. (#35130)
  • pkg/ottl: Added support for locale in the Time converter (#32978)
  • transformprocessor: Remove unnecessary data copy when transform sum to/from gauge (#35177)
  • tailsamplingprocessor: Fix the behavior for numeric tag filters with inverse_match set to true. (#34296)

🧰 Bug fixes 🧰

  • service: Ensure process telemetry is registered when internal telemetry is configured with readers instead of an address. (#11093)
  • mdatagen: Fix incorrect generation of metric tests with boolean attributes. (#11169)
  • otelcol: Fix the Windows Event Log configuration when running the Collector as a Windows service. (#5297, #11051)
  • confmap: Fix loading config of a component from a different source. (#11154)
    This issue only affected loading the whole component config, loading parts of a component config from a different source was working correctly.
  • pkg/stanza: Do not get formatted message for Windows events without an event provider. (#35135)
    Attempting to get the formatted message for Windows events without an event provider can result in an error being logged. |
    This change ensures that the formatted message is not retrieved for such events.
  • prometheusreceiver: Fix the retrieval of scrape configurations by also considering scrape config files (#34786)
  • redactionprocessor: Fix panic when using the redaction processor in a logs pipeline (#35331)

v0.14.0

18 Sep 07:25
8f99a61
Compare
Choose a tag to compare

This release includes version 0.109.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.109.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • spanmetricsconnector: Improve consistency between metrics generated by spanmetricsconnector. Added traces.span.metrics as default namespace (#33227, #32818)
    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.
  • pkg/ottl: Remove tracing from OTTL due to performance concerns (#34910)

💡 Enhancements 💡

  • pkg/ottl: Added Decode() converter function (#32493)
  • pkg/ottl: Add Sort function to sort array to ascending order or descending order (#34200)
  • transformprocessor: Support aggregating metrics based on their attribute values and substituting the values with a new value. (#16224)
  • redactionprocessor: Add support for logs and metrics (#34479)

🧰 Bug fixes 🧰

  • hostmetricsreceiver: In filesystem scraper, do not prefix partitions when using the environment variable HOST_PROC_MOUNTINFO (#35043)

💡 Enhancements 💡

  • eecprovider: Add informational headers to EEC provider requests (#280)
  • docs: Added Dynatrace dashboards that can be used to inspect the collectors internal telemetry (#274)

v0.13.0

04 Sep 10:44
58bf5e3
Compare
Choose a tag to compare

This release includes version 0.108.0/0.108.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.108.0:

v0.108.1:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰

🚀 New components 🚀

  • redactionprocessor: Added the redaction processor to the Dynatrace collector distro. (#275)

v0.12.0

14 Aug 18:06
2a9ae3b
Compare
Choose a tag to compare

This release includes version 0.107.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.107.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • confmap: Set the confmap.unifyEnvVarExpansion feature gate to Stable. Expansion of $FOO env vars is no longer supported. Use ${FOO} or ${env:FOO} instead. (open-telemetry/opentelemetry-collector#10508)
  • filelogreceiver: Check for unsupported fractional seconds directive when converting strptime time layout to native format (open-telemetry/opentelemetry-collector-contrib#34390)
  • fluentforwardreceiver: Update the scope name for telemetry produced by the fluentforwardreceiver from otelcol/fluentforwardreceiver to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver (open-telemetry/opentelemetry-collector-contrib#34534)
  • hostmetricsreceiver: Update the scope name for telemetry produced by the hostmetrics receiver's scrapers from otelcol/hostmetricsreceiver/* to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/* (open-telemetry/opentelemetry-collector-contrib#34526)
  • prometheusreceiver: Update the scope name for telemetry produced by the prometheusreceiver from otelcol/prometheusreceiver to `github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver (open-telemetry/opentelemetry-collector-contrib#34589)
  • statsdreceiver: Update the scope name for telemetry produced by the statsdreceiver from otelcol/statsdreceiver to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver (open-telemetry/opentelemetry-collector-contrib#34547)
  • k8sattributesprocessor: Update the scope name for telemetry produced by the k8sattributesprocessor from otelcol/k8sattributes to github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • filterprocessor: Update the scope name for telemetry produced by the filterprocessor from otelcol/filter to github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • probabilisticsamplerprocessor: Update the scope name for telemetry produced by the probabilisticsamplerprocessor from otelcol/probabilisticsampler to github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • tailsamplingprocessor: Update the scope name for telemetry produced by the tailsamplingprocessor from otelcol/tailsampling to github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor (open-telemetry/opentelemetry-collector-contrib#34550)

💡 Enhancements 💡

🧰 Bug fixes 🧰

🧰 Bug fixes 🧰

  • release: Add missing dependency to /bin/sh to the RPM linux package (#264)

v0.11.0

31 Jul 21:09
26f9a0d
Compare
Choose a tag to compare

This release includes version 0.106.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.106.1:

v0.106.0:

Highlights from the upstream Collector changelog

🚩 Deprecations 🚩

  • k8sattributesprocessor: Deprecate extract.annotations.regex and extract.labels.regex config fields in favor of the ExtractPatterns function in the transform processor. The FieldExtractConfig.Regex parameter will be removed in version v0.111.0. (open-telemetry/opentelemetry-collector-contrib#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.

💡 Enhancements 💡

💡 Enhancements 💡

  • release: Add version number to all release artifacts (#245)
    All collector distribution artifacts now include the version number in their filename.

  • release: Release as Linux service for multiple Linux distros (#241)
    The collector distribution is now available as linux packages (.rpm and .deb).

v0.10.0

17 Jul 11:59
b4176d0
Compare
Choose a tag to compare

This release includes version 0.105.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.105.0:

🚀 New components 🚀

  • statsdreceiver: Add statsd receiver to manifest (#229)
  • zipkinreceiver: Added the zipkin receiver to the Dynatrace collector distro (#225)
Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

🧰 Bug fixes 🧰

  • confmap: Fixes issue where confmap could not escape $$ when confmap.unifyEnvVarExpansion is enabled. (#10560)
  • otlpreceiver: Fixes a bug where the otlp receiver's http response was not properly translating grpc error codes to http status codes. (#10574)
  • service/telemetry: Add ability to set service.name for spans emitted by the Collector (#10489)
  • internal/localhostgate: Correctly log info message when component.UseLocalHostAsDefaultHost is enabled (#8510)
  • exporterhelper: Fix incorrect deduplication of otelcol_exporter_queue_size and otelcol_exporter_queue_capacity metrics if multiple exporters are used. (#10444)
  • prometheusreceiver: Fix hash computation to include non exported fields like regex in scrape configuration for TargetAllocator (#29313)
  • syslogreceiver: Allow to define max_octets for octet counting RFC5424 syslog parser (#33182)

💡 Enhancements 💡

  • pkg/ottl: Added Hex() converter function (#31929)
  • pkg/ottl: Add IsRootSpan() converter function. (#32918)
    Converter IsRootSpan() returns true if the span in the corresponding context is root, that means its parent_span_id equals to hexadecimal representation of zero. In all other scenarios function returns false.
  • pkg/ottl: Emit traces for statement sequence executions to troubleshoot OTTL statements/conditions (#33433)
  • receiver/filelog: Add filelog.container.removeOriginalTimeField feature-flag for removing original time field (#33946)
  • statsdreceiver: Allow configuring summary percentiles (#33701)

v0.9.0

04 Jul 14:15
4c7b8b1
Compare
Choose a tag to compare

This release includes version 0.104.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.104.0:

Warning

This release includes two important breaking changes:

  1. The otlpreceiver, jaegerreceiver and healthcheckextension will now use localhost by default instead of 0.0.0.0. This may break the receivers when the sender is not running on the same host, particularly in containerized environments like Kubernetes. If you depend on 0.0.0.0 disable the component.UseLocalHostAsDefaultHost feature gate or explicitly set the endpoint to 0.0.0.0.
    For more details, check out the OTel blog post.
  2. Expansion of BASH-style environment variables, such as $FOO will no longer be supported by default. If you depend on this syntax, disable the confmap.unifyEnvVarExpansion feature gate, but know that the feature will be removed in the future in favor of ${env:FOO}.
Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • pkg/ottl: Changed ScopeContext, InstrumentationResourceContext, TransformContext interfaces to make SchemaURL accessible in resources and scopes on all signals (#30229)
  • filter: Remove deprecated filter.CombinedFilter (#10348)
  • otelcol: By default, otelcol.NewCommand and otelcol.NewCommandMustSetProvider will set the DefaultScheme to env. #10435)
  • otelcol: The otelcol.NewCommand now requires at least one provider be set. (#10436)

🚩 Deprecations 🚩

  • otelcol: The otelcol.NewCommandMustSetProvider is deprecated. Use otelcol.NewCommand instead. (#10436)

💡 Enhancements 💡

  • k8sattributesprocessor: Add support for exposing k8s.pod.ip as a resource attribute (#32960)
  • debugexporter: In normal verbosity, display one line of text for each telemetry record (log, data point, span) (#7806)
  • debugexporter: Add option use_internal_logger (#10226)
  • debugexporter: Print Span.TraceState() when present. (#10421)

🧰 Bug fixes 🧰

  • resourcedetectionprocessor: Fetch CPU info only if related attributes are enabled (#33774)
  • tailsamplingprocessor: Fix precedence of inverted match in and policy (#33671)
    Previously if the decision from a policy evaluation was NotSampled or InvertNotSampled it would return a NotSampled decision regardless, effectively downgrading the result.
    This was breaking the documented behaviour that inverted decisions should take precedence over all others.
  • otlpexporter: Update validation to support both dns:// and dns:/// (#10449)
  • service: Fixed a bug that caused otel-collector to fail to start with ipv6 metrics endpoint service telemetry. (#10011)

v0.8.0

25 Jun 13:17
312ebe2
Compare
Choose a tag to compare

This release includes version 0.103.0 of the upstream Collector components.

NOTE: This release is in line with the upstream distributions of the Collector version 0.103.1, which is based on the same
0.103.0 upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.103.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • exporter/debug: Disable sampling by default (#9921).
    To restore the behavior that was previously the default, set sampling_thereafter to 500.

🚩 Deprecations 🚩

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

🧰 Bug fixes 🧰

  • filelogreceiver: Container parser should add k8s metadata as resource attributes and not as log record attributes (#33341)
  • prometheusreceiver: Fall back to scrape config job/instance labels for aggregated metrics without instance/job labels (#32555)

💡 Enhancements 💡

  • examples: Added an example for using the syslog receiver, as well as integration tests for the added example. (#136)

v0.7.0

05 Jun 19:33
bc7d2f5
Compare
Choose a tag to compare

This release addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) fully

This release includes version 0.102.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

0.102.1:

0.102.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • envprovider: Restricts Environment Variable names. Environment variable names must now be ASCII only and start with a letter or an underscore, and can only contain underscores, letters, or numbers. (open-telemetry/opentelemetry-collector#9531)
  • confighttp: Apply MaxRequestBodySize to the result of a decompressed body (open-telemetry/opentelemetry-collector#10289)
    When using compressed payloads, the Collector would verify only the size of the compressed payload.
    This change applies the same restriction to the decompressed content. As a security measure, a limit of 20 MiB was added, which makes this a breaking change.
    For most clients, this shouldn't be a problem, but if you often have payloads that decompress to more than 20 MiB, you might want to either configure your
    client to send smaller batches (recommended), or increase the limit using the MaxRequestBodySize option.
  • k8sattributesprocessor: Move k8sattr.rfc3339 feature gate to stable. (open-telemetry/opentelemetry-collector-contrib#33304)

🧰 Bug fixes 🧰