Skip to content

Releases: Dynatrace/dynatrace-otel-collector

v0.23.0

07 Feb 10:43
ce5eff1
Compare
Choose a tag to compare

This release includes version 0.119.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.119.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • exporterhelper: Change queue to embed the async consumers. (#12242)
  • cmd/mdatagen: Allow passing OTel Metric SDK options to the generated SetupTelemetry function. (#12166)
  • exporterhelper: Rename exporter span signal specific attributes (e.g. "sent_spans" / "send_failed_span") to "items.sent" / "items.failed". (#12165)
  • cmd/mdatagen: Remove dead field telemetry::level (#12144)
  • exporterhelper: Change exporter ID to be a Span level attribute instead on each event. (#12164)
    This does not have an impact on the level of information emitted, but on the structure of the Span.
  • cmd/mdatagen: Remove level field from metrics definition (#12145)
    This mechanism will be added back once a new views mechanism is implemented.

💡 Enhancements 💡

  • configtls: Allow users to mention their preferred curve types for ECDHE handshake (#12174)

  • otelcol: Adds support for listing config providers in components command's output (#11570)

  • pdata/pprofile: Add new helper method FromAttributeIndices to build a pcommon.Map out of AttributeIndices. (#12176)

  • component: Allow component.ValidateConfig to recurse through all fields in a config object (#11524)

  • component: Show path to invalid config in errors returned from component.ValidateConfig (#12108)

  • 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.

  • resourcedetectionprocessor: 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
  • cumulativetodeltaprocessor: Add metric type filter for cumulativetodelta processor (#33673)

  • resourcedetectionprocessor: 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.

  • resourcedetectionprocessor: The gcp resource detector will now detect resource attributes identifying a GCE instance's managed instance group. (#36142)

  • jaegerreceiver: 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.

  • receiver/hostmetrics: Added support for tracking process.uptime (#36667)

  • processor/transformprocessor: Replace parser collection implementations with ottl.ParserCollection and add initial support for expressing statement's context via path names. (#29017)

  • prometheusreceiver: 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)

  • tailsamplingprocessor: Reworked the consume traces, sampling decision, and policy loading paths to improve performance and readability (#37560)

🧰 Bug fixes 🧰

  • exporterhelper: 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.

  • confighttp: confighttp.ToServer now sets ErrorLog with a default logger backed by Zap (#11820)

    This change ensures that the http.Server's ErrorLog is correctly set using Zap's logger at the error level, addressing the issue of error logs being printed using a different logger.

  • exporterhelper: Fix context propagation for DisabledBatcher (#12231)

  • mdatagen: Fix bug where Histograms were marked as not supporting temporaly aggregation (#12168)

  • exporterhelper: Fix MergeSplit issue that ignores the initial message size. (#12257)

  • filelogreceiver: Fix issue where flushed tokens could be truncated. (#35042)

  • k8sattributesprocessor: Wait for the other informers to complete their initial sync before starting the pod informers (#37056)

  • pkg/stanza: Fix default source identifier in recombine operator (#37210)
    Its defualt value is now aligned with the semantic conventions: attributes["log.file.path"]

  • tailsamplingprocessor: 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.


v0.22.0

24 Jan 09:07
8c6d4fa
Compare
Choose a tag to compare

This release includes version 0.118.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.118.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

💡 Enhancements 💡

  • release: Add builds for ppc64le and s390x architectures (#424)

v0.21.0

13 Jan 10:42
785f9fd
Compare
Choose a tag to compare

This release includes version v0.117.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.117.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰


v0.116.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰


v0.20.0

11 Dec 20:09
5f6455b
Compare
Choose a tag to compare

This release includes version 0.115.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.115.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • otelcol: Change all logged timestamps to ISO8601. (#10543)
    This makes log timestamps human-readable (as opposed to epoch seconds in
    scientific notation), but may break users trying to parse logged lines in the
    old format.
  • k8sattributesprocessor: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to Beta. (#25128)
    Disable the k8sattr.fieldExtractConfigRegex.disallow feature gate to get the old behavior.

💡 Enhancements 💡

  • statsdreceiver: Adapt statsd receiver example config to remove filtering of histogram metrics (#385)
  • tailsamplingprocessor: Adds decision cache for non-sampled trace IDs (#31583)

🧰 Bug fixes 🧰

  • service: ensure OTLP emitted logs respect severity (#11718)
  • processor/k8sattribute: fixes parsing of k8s image names to support images with tags and digests. (#36131)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • statsdreceiver: Adapt statsd receiver example config to remove filtering of histogram metrics (#385)

v0.19.0

21 Nov 12:23
0c2e65b
Compare
Choose a tag to compare

This release includes version 0.114.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.114.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰

v0.18.0

12 Nov 09:10
a54b063
Compare
Choose a tag to compare

This release includes version 0.113.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.113.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

💡 Enhancements 💡

  • transformprocessor: Extend the user data filtering example with a statement for masking the client.address attribute. (#356)
  • transformprocessor: Extend the credit card and IBAN filtering example with log body filtering (#357)
  • docs: Add a note about k8s enrichment of collector internal telemetry (#364)

v0.17.0

29 Oct 15:46
445aa3c
Compare
Choose a tag to compare

This release includes version 0.112.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.112.0:

Highlights from the upstream Collector changelog

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

💡 Enhancements 💡

  • redactionprocessor: Add example config for redacting credit card numbers. (#337)
  • transformprocessor: Add example for DT API Token filtering using the redaction and transform processor. (#346)
  • transformprocessor: Introduce masking example of credit card numbers. (#340)
  • transformprocessor: Introduce masking and redaction example of international IBANs. (#343)
  • transformprocessor: Add config example for redacting user related data with transform processor (#342)

🧰 Bug fixes 🧰

  • installer: Move the documentation key in the linux service file to the correct section (#334)

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)