This release includes versions v0.124.0 and v0.124.1 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.124.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.124.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.124.0
v0.124.1:
processor/transform
: Fix Basic Config style to properly handlecache
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.
Highlights from the upstream Collector changelog
-
exporterhelper
: Add support for bytes-based batching for profiles in the exporterhelper package. (#3262) -
otelcol
: Enhance config validation using command to capture all validation errors that prevents the collector from starting. (#8721) -
exporterhelper
: Link batcher context to all batched request's span contexts. (#12212, #8122) -
k8sattributesprocessor
: Add option to configure automatic resource attributes - with annotation prefix (#38825) 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 thek8sattributesprocessor
processor. See the documentation for more details. -
ottlprofile
: Add OTTL support for profiles. (#36104) -
pkg/stanza
: Use buffer pool for the read buffers to limit allocations" (#39373) -
spanmetricsconnector
: Initialise new calls_total metrics at 0 (#38537) -
pkg/stanza
: Remove unnecessary slice allocation to track errors (even nil) (#39367)
confighttp
: Ensure http authentication server failures are handled by the provided error handler (#12666)pkg/ottl
: Fix OTTL context inference order to prioritize thescope
context overresource
. (#39155)pkg/ottl
: Fix so replace_all_patterns can replace keys using optional function (#32896) When using thereplace_all_patterns
withkey
andoptional
function on the replacement, the value was being replaced with the key. This change fixes that and now the key is replaced as intended.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)receiver/kubeletstats
: support user defined CA path for service account using the configtls optionca_file
(#39291)receiver/filelog
: Remove printing to console the names of files which are read by File Log receiver (#39414)
This release includes version v0.123.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.123.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.123.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.123.0
service/telemetry
: Marktelemetry.disableAddressFieldForInternalTelemetry
as beta, usage of deprecated service::telemetry::address are ignored (#12756) To restore the previous behavior disabletelemetry.disableAddressFieldForInternalTelemetry
feature gate.exporterbatch
: Remove deprecated fieldsmin_size_items
andmax_size_items
from batch config. (#12684)k8sattributesprocessor
: Remove stable feature gatek8sattr.rfc3339
(#38810)
Highlights from the upstream Collector changelog
otlpexporter
: Mark BatcherConfig as deprecated, usesending_queue::batch
instead (#12726)exporterhelper
: Deprecateblocking
in favor ofblock_on_overflow
. (#12710)exporterhelper
: Deprecate configuring exporter batching separately. Usesending_queue::batch
instead. (#12772) Moving the batching configuration tosending_queue::batch
requires settingsending_queue::sizer
toitems
which means thatsending_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
-
exporterhelper
: Add support to configure batching in the sending queue. (#12746) -
exporterhelper
: Add support for wait_for_result, remove disabled_queue (#12742) This has a side effect for users of the experimental BatchConfig with the queue disabled, since not this is | uses only NumCPU() consumers. -
exporterhelper
: Allow exporter memory queue to use different type of sizers. (#12708) -
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.
-
exporterhelper
: Enable support to do batching usingbytes
sizer (#12751) -
service
: Add config key to set metric views used for internal telemetry (#10769) Theservice::telemetry::metrics::views
config key can now be used to explicitly set the list of metric views used for internal telemetry, mirroringmeter_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
todetailed
; - enabling the
telemetry.disableHighCardinalityMetrics
feature flag.
- not setting
-
spanmetricsconnector
: 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.
-
hostmetricsreceiver
: Reduced the cost of retrieving number of threads and parent process ID on Windows. Disable the featuregatehostmetrics.process.onWindowsUseNewGetProcesses
to fallback to the previous implementation. (#32947, #38589) -
hostmetricsreceiver
: Reduced the CPU cost of collecting theprocess.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 metricprocess.handles
is enabled. -
pkg/ottl
: Enhance the Decode OTTL function to support all flavors of Base64 (#38854) -
resourcedetection
: Adding the os.version resource attribute to system resourcedetection processor (#38087) -
pkg/stanza
: Add retries when calls to retrieve Windows event viaEvtNext
fail with error RPC_S_INVALID_BOUND (1734). (#38149) Whenever large events were read in by the Windows event log receiver, via the stanza input operator, the collector would fail with error RPC_S_INVALID_BOUND (1734). Now the operator tries to workaround this issue by reducing the number of events read on each attempt. -
pkg/ottl
: Fix theottl.ParserCollection
to properly infer the OTTL context when using theParseConditions
function. (#38755)
exporterhelper
: Fix order of starting between queue and batch. (#12705)
This release includes version v0.122.1/v0.122.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.122.1:
v0.122.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.122.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.122.0
-
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 tolevel: normal
instead. -
deltatocumulative
: remove legacy and clean up existing collector self-monitoring metrics (#38079) renamed:otelcol_deltatocumulative.datapoints.processed
tootelcol_deltatocumulative_datapoints
otelcol_deltatocumulative.datapoints.dropped
tootelcol_deltatocumulative_datapoints{error="..."}
otelcol_deltatocumulative.max_stale
tootelcol_deltatocumulative_max_stale
otelcol_deltatocumulative.streams.limit
tootelcol_deltatocumulative_streams_limit
otelcol_deltatocumulative.streams.tracked
tootelcol_deltatocumulative_streams_tracked
removed (already unused):otelcol_deltatocumulative.datapoints.linear
otelcol_deltatocumulative.streams.tracked.linear
otelcol_deltatocumulative.streams.evicted
otelcol_deltatocumulative.gaps.length
-
auth, authtest
: Remove deprecated modules extension/auth and extension/auth/authtest (#12543) Use extension/extensionauth and extension/extensionauth/extensionauthtest instead. -
extensionauth
: Remove deprecated methods from theFunc
types. (#12547) -
pkg/ottl
: Add support for parsing OTTL conditions to theottl.ParserCollection
. (#37904) Theottl.WithParserCollectionContext
option now requires the converters to be configured using theottl.WithStatementConverter
andottl.WithConditionConverter
options.
Highlights from the upstream Collector changelog
-
exporterhelper
: Deprecate per signal converter in favor of generic version (#12631) -
extensionauth
: Deprecateextensionauth.NewClient
andextensionauth.NewServer
. (#12574)- Manually implement the interfaces instead.
-
configauth
: Deprecateconfigauth.Authenticator.GetClientAuthenticator
. (#12574)- Use the per-protocol methods instead.
receiverhelper
: Splitreceiverhelper
into a separate module (#12514)
-
service
: Addservice.AllowNoPipelines
feature gate to allow starting the Collector without pipelines. (#12613) This can be used to start with only extensions. -
mdatagen
: Delete generated_status.go if the component type doesn't require it. (#12346) -
service
: include component id/type in start error (#10426) -
mdatagen
: Add deprecation date and migration guide fields as part of component metadata (#12359) -
confmap
: Introduce a new feature flag to allow for merging lists instead of discarding the existing ones. (#8394, #8754, #10370) 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 -
zpagesextension
: Add expvar handler to zpages extension. (#11081) -
hostmetricsreceiver
: Added thesystem.linux.memory.dirty
andsystem.memory.page_size
metrics. (#38672) -
pkg/ottl
: Enhance flatten() editor to resolve attribute key conflicts by adding a number suffix to the conflicting keys. (#35793) -
pkg/ottl
: AddIsValidLuhn()
checksum verification function (#37880) -
pkg/ottl
: Add ability to compare maps in Boolean Expressions (#38611) -
pkg/ottl
: AddMurmur3Hash
andMurmur3Hash128
functions to convert thetarget
string to Murmur3 hash in hexadecimal string format (#34077) -
receiver/prometheus
: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646) -
processor/redaction
: Support hashing instead of masking values via 'hash_function' parameter (#35830) -
pkg/stanza
: Add 'regex_replace' operator (#37443) -
jaegerreceiver
: Remove dependency on jaeger/cmd/agent (#38655) -
resourceprocessor
: Add support for profile signal type (#35979) -
pkg/stanza
: Prevent data loss in Stanza-based receivers on ungraceful shutdown of the collector (#35456) Enable thestanza.synchronousLogEmitter
feature gate to unlock this feature. See the documentation for more information. -
cmd/mdatagen
: AddsupportsSignal
func forMetadata
type inmdatagen
. (#12640) -
receiver
: Mark module as stable (#12513) -
pdata/pcommon
: IntroduceEqual()
method for comparison equality toValue
,ByteSlice
,Float64Slice
,Int32Slice
,Int64Slice
,StringSlice
,Uint64Slice
,Map
andSlice
(#12594) -
pdata
: Add iterator All method to pdata slices and map types. (#11982) -
receiver/prometheus
: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646)
-
confmap
: Ensure slices with defaults containing struct values are correctly set. (#12661) This reverts the changes made in open-telemetry/opentelemetry-collector#11882. -
confmap
: Maintain nil values when marshaling or unmarshaling nil slices (#11882) Previously, nil slices were converted to empty lists, which are semantically different than a nil slice. This change makes this conversion more consistent when encoding or decoding config, and these values are now maintained. -
service
: do not attempt to register process metrics if they are disabled (#12098) -
filelogreceiver
: Extend container parser log file path pattern to include rotated files. (#35137) -
attributesprocessor
: Validate metrics configuration parameters before processing (#36077) -
pkg/ottl
: Fix limitation of map literals within slice literals not being handled correctly (#37405)
receiver/netflow
: Include the netflow receiver in the distribution (#489)
linux packages
: Ensure Linux package scripts work in chrooted environments without Systemd running
This release includes version 0.121.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.121.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.121.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.121.0
confighttp
: Make the client config optionsmax_idle_conns
,max_idle_conns_per_host
,max_conns_per_host
, andidle_conn_timeout
integers (#9478) All four options can be set to0
where they were previously set tonull
processor/k8sattributes
: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to stable (#25128)
Highlights from the upstream Collector changelog
exporterhelper
: Deprecatemin_size_items
andmax_size_items
in favor ofmin_size
andmax_size
. (#12486)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.
-
mdatagen
: Addconverter
andprovider
module classes (#12467) -
pipeline
: output pipeline name with signal as signal[/name] format in logs. (#12410) -
memorylimiterprocessor
: Add support to configure min GC intervals for soft and hard limits. (#12450) -
otlpexporter
: Update the stability level for logs, it has been as stable as traces and metrics for some time. (#12423) -
service
: Create a new subcommand to dump the initial configuration after resolving/merging. (#11479) To use theprint-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. -
memorylimiterprocessor
: Add support for profiles. (#12453) -
otelcol
: Converters are now available in thecomponents
command. (#11900, #12385) -
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 -
exporterhelper
: Stabilize exporter.UsePullingBasedExporterQueueBatcher and remove old batch sender (#12425) -
mdatagen
: Update metadata schema with new fields without enforcing them (#12359) -
telemetrygen
: Support--service
for all signal types, rather than just traces (#38044) -
resourcedetectionprocessor
: Introduce retry logic for failed resource detection. (#34761) -
pkg/ottl
: Support dynamic indexing of math expressions in maps and slices (#37644) -
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. -
resourcedetectionprocessor
: Add k8s.cluster.uid to kubeadm detector (#38207) -
telemetrygen
: Add support foraggregation-temporality
flag in telemetrygen. Supported values (delta or cumulative) (#38073) -
pkg/ottl
: Addevent_index
to the available paths of the span event context (#35778) -
pkg/ottl
: Introduce Weekday() converter function (#38126) -
prometheusreceiver
: Make use of creation timestamp from prometheus (#36473) -
redactionprocessor
: Introduce 'blocked_key_patterns' parameter (#35830) -
resourcedetectionprocessor
: Add a feature flag to allow the processor (and collector) to fail if resource detection fails (#37961) This feature can be enabled via the following feature gate--feature-gates=processor.resourcedetection.propagateerrors
service
: Fix crash at startup when converting from v0.2.0 to v0.3.0 (#12438)service
: fix bug in parsing service::telemetry configuration (#12437)exporterhelper
: Fix bug where the error logged when conversion of data fails is always nil (#12510)mdatagen
: Adds back missing import for filter when emitting resource attributes (#12455)redactionprocessor
: Fix redaction processor to redact span event attributes (#36633)pkg/ottl
: Change theottlmetric
context to properly display theTransformContext
value in debug logs (#38103)
resourcedetectionprocessor
: Added configuration example and integration test for the new Dynatrace Resource Detection processor component. (#475)
This release includes version 0.120.0/0.120.1 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.120.1:
v0.120.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.120.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.120.0
-
all
: Added support for go1.24, bumped minimum version to 1.23 #12370 -
mdatagen
: Removing deprecated generated funcs and a few test funcs as well. #12304 -
service
: Align component logger attributes with those defined in RFC #12217 See Pipeline Component Telemetry RFC -
receiver/hostmetrics
: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate #34763 -
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. -
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/. The Prometheus receiver now uses the UTF-8 validation scheme by default, which means that metric and label names can change after upgrading to this release, as mentioned in the Prometheus 3.0 migration guide. This can have an effect on the OTel resources created by the Prometheus receiver in particular, if previously theservice_name
label has been present in the metrics returned by a Prometheus scrape target. Now, this label will be delivered asservice.name
and can thus override the value of the related OTel resource which has been determined by thejob
label. To keep the previous behavior, thelegacy
validation scheme can be set, in the prometheus config, either globally, or on a per-scrape basis:Globally:
receivers: prometheus: metric_name_validation_scheme: legacy config: scrape_configs: - job_name: opentelemetry-collector
Per Scrape:
receivers: prometheus: config: scrape_configs: - job_name: job1 metric_name_validation_scheme: utf8 - job_name: opentelemetry-collector metric_name_validation_scheme: legacy
Highlights from the upstream Collector changelog
-
otlpreceiver
: Update stability for logs #12335 -
exporterhelper
: Implement sync disabled queue used when batching is enabled. #12245 -
exporterhelper
: Enable the new pull-based batcher in exporterhelper #12291 -
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. -
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. -
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 callederror_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. -
pkg/stanza
: Allow users to configure initial buffer size #37786 -
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.
- Adds the following attributes to k8s.namespace entity:
-
pkg/ottl
: Introduce ToLowerCase converter function #32942 -
pkg/ottl
: Introduce ToSnakeCase converter function #32942 -
pkg/ottl
: Introduce ToUpperCase converter function #32942 -
resourcedetectionprocessor
: add the Dynatrace detector to the resource detection processor #37577 -
processor/redaction
: Introduce 'allowed_values' parameter for allowed values of attributes #35840 -
syslogreceiver
: Support settingon_error
config for syslog receiver. #36906 -
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 -
tailsamplingprocessor
: makes thenumeric_attribute
more flexible and allows to set onlymin_value
ormax_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 } }
-
receiver/zipkinreceiver
: Remove zipkinreceiver dependency on Jaeger #37795
memorylimiter
: Logger no longer attributes to single signal, pipeline, or component. #12217otlpreceiver
: Logger no longer attributes to random signal when receiving multiple signals. #12217exporterhelper
: Fix undefined behavior access to request after send to next component. This causes random memory access. #12281exporterhelper
: Fix default batcher to correctly call all done callbacks exactly once #12247otlpreceiver
: Fix OTLP http receiver to correctly set Retry-After #12367otlphttpexporter
: Fix parsing logic for Retry-After in OTLP http protocol. #12366 The value of Retry-After field can be either an HTTP-date or delay-seconds and the current logic only parsed delay-seconds.cmd/builder
: Ensure unique aliases for modules with same suffix #12201k8sattributes
: Fix bug whereFilters.Labels
failed with when theexists
ornot-exists
operations were used. #37913prometheusreceiver
: Start time metric adjuster now handles reset points correctly #37717
This release includes version 0.119.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.119.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.119.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.119.0
exporterhelper
: Change queue to embed the async consumers. (#12242)cmd/mdatagen
: Allow passing OTel Metric SDK options to the generatedSetupTelemetry
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 fieldtelemetry::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
: Removelevel
field from metrics definition (#12145) This mechanism will be added back once a new views mechanism is implemented.
Highlights from the upstream Collector changelog
-
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 methodFromAttributeIndices
to build apcommon.Map
out ofAttributeIndices
. (#12176) -
component
: Allowcomponent.ValidateConfig
to recurse through all fields in a config object (#11524) -
component
: Show path to invalid config in errors returned fromcomponent.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 retryerBy 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
: Addfail_on_missing_metadata
option on EC2 detector (#35936) If the EC2 metadata endpoint is unavailable, the EC2 detector by default ignores the error. By settingfail_on_missing_metadata
to true on the detector, the user will now trigger an error explicitly, which will stop the collector from starting. -
resourcedetectionprocessor
: Thegcp
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 withottl.ParserCollection
and add initial support for expressing statement's context via path names. (#29017) -
prometheusreceiver
: Addreceiver.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)
-
exporterhelper
: Fix bug that the exporter with new batcher may have been marked as non mutation. (#12239) Only affects users that manually turned onexporter.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 metricsotelcol_processor_tail_sampling_sampling_trace_dropped_too_early
andotelcol_processor_tail_sampling_sampling_policy_evaluation_error_total
, these were sometimes overcounted. (#37212) As a result of this change non-zero values ofotelcol_processor_tail_sampling_sampling_trace_dropped_too_early
andotelcol_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.
This release includes version 0.118.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.118.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.118.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.118.0
pkg/stanza
: Movefilelog.container.removeOriginalTimeField
feature gate to stable (open-telemetry/opentelemetry-collector-contrib#33389)pkg/ottl
: Support dynamic indexing of maps and slices. (open-telemetry/opentelemetry-collector-contrib#36644)
Highlights from the upstream Collector changelog
exporterhelper
: Add blocking option to control queue behavior when full (open-telemetry/opentelemetry-collector#12090)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. (open-telemetry/opentelemetry-collector#11966)confighttp
: Added support for configuring compression levels. (open-telemetry/opentelemetry-collector#10467) A new configuration option called CompressionParams has been added to confighttp. This allows users to configure the compression levels for the confighttp client.exporterhelper
: Change the memory queue implementation to not pre-allocate capacity objects. (open-telemetry/opentelemetry-collector#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).pkg/ottl
: Add theNanosecond
converter to return the nanosecond component from the specified time.Time (open-telemetry/opentelemetry-collector-contrib#37042)pkg/ottl
: Add theSecond
converter to return the second component from the specified time.Time (open-telemetry/opentelemetry-collector-contrib#37042)pkg/ottl
: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (open-telemetry/opentelemetry-collector-contrib#29017)pkg/ottl
: Add theFormatTime
function to converttime.Time
values to human-readable strings (open-telemetry/opentelemetry-collector-contrib#36870)resourcedetectionprocessor
: This enhancement detects AWS EKS cloud account ID (open-telemetry/opentelemetry-collector-contrib#37179)resourcedetectionprocessor
: Introduce kubeadm detector to retrieve local cluster name. (open-telemetry/opentelemetry-collector-contrib#35116)k8sattributesprocessor
: For pods with only one container, thecontainer.id
andk8s.container.name
are not longer required in the resource attributes to add the container attributes (open-telemetry/opentelemetry-collector-contrib#34189)tailsamplingprocessor
: Added debug logging to the sampling decision caches. (open-telemetry/opentelemetry-collector-contrib#37038)tailsamplingprocessor
: Improved not sampled decision cache usage and deleting traces from the internal map when they are in a decision cache. (open-telemetry/opentelemetry-collector-contrib#37189)
k8sattributesprocessor
: Ensure the pods gathered by the processor contain the information about their related replica sets and deployments after the initial sync (open-telemetry/opentelemetry-collector-contrib#37056)pkg/ottl
: Fix bug withreplace_all_matches
andreplace_all_patterns
that caused non-string values to be changed to empty string when matching against empty string. (open-telemetry/opentelemetry-collector-contrib#37071)tailsamplingprocessor
: Fixed sampling policy evaluation debug logging batch metrics (e.g. sampled). (open-telemetry/opentelemetry-collector-contrib#37040)tailsamplingprocessor
: Late span age histogram should include sampled traces. (open-telemetry/opentelemetry-collector-contrib#37180)
release
: Add builds for ppc64le and s390x architectures (#424)
This release includes version v0.117.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.117.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.117.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.117.0
otelcol
: Remove warnings when 0.0.0.0 is used (open-telemetry/opentelemetry-collector#11713, open-telemetry/opentelemetry-collector#8510)pkg/ottl
: removed the ability to reference entire parent objects. (open-telemetry/opentelemetry-collector-contrib#36872) Statements likeset(cache["resource"], resource)
in non-resource contexts will no longer work.
Highlights from the upstream Collector changelog
pkg/ottl
: Add a new ottl trim function that trims leading and trailing characters from a string (default- whitespace). (open-telemetry/opentelemetry-collector-contrib#34100)statsdreceiver
: Add UDS support to statsdreceiver (open-telemetry/opentelemetry-collector-contrib#21385)tailsamplingprocessor
: Support hot sampling policy loading (open-telemetry/opentelemetry-collector-contrib#37014)
internal/sharedcomponent
: Fixed bug where sharedcomponent would use too much memory remembering all the previously reported statuses (open-telemetry/opentelemetry-collector#11826)pkg/ottl
: fix handling of nested maps within slices in theflatten
function (open-telemetry/opentelemetry-collector-contrib#36162)
v0.116.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.116.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.116.0
pdata/pprofile
: Remove deprecatedProfile.EndTime
andProfile.SetEndTime
methods. (open-telemetry/opentelemetry-collector#11796)processor/tailsampling
: Reverts open-telemetry/opentelemetry-collector-contrib#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 open-telemetry/opentelemetry-collector-contrib#33671. (open-telemetry/opentelemetry-collector-contrib#34085)
Highlights from the upstream Collector changelog
xconfighttp
: Add WithOtelHTTPOptions to experimental module xconfighttp (open-telemetry/opentelemetry-collector#11770)pkg/ottl
: GetXML Converter now supports selecting text, CDATA, and attribute (value) content. (open-telemetry/opentelemetry-collector-contrib#36821)pkg/pdatatest
: Add support for Profiles signal comparison. (open-telemetry/opentelemetry-collector-contrib#36232)testbed
: Add batcher performance tests (open-telemetry/opentelemetry-collector-contrib#36206)testbed
: add options for retry/storage for filelog sender (open-telemetry/opentelemetry-collector-contrib#36781)
exporterhelper
: Fix memory leak at exporter shutdown (open-telemetry/opentelemetry-collector#11401)sharedcomponent
: Remove race-condition and cleanup locking (open-telemetry/opentelemetry-collector#11819)receiver/prometheusreceiver
: Metric adjuster no longer assumes that all metrics from a scrape come from the same resource (open-telemetry/opentelemetry-collector-contrib#36477)parseutils
: Handle escaped quotes when parsing pairs using SplitString. (open-telemetry/opentelemetry-collector-contrib#36176)jaegerreceiver
: Remove ineffectual warning from jaegerreceiver (open-telemetry/opentelemetry-collector-contrib#35894)
This release includes version 0.115.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.115.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.115.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.115.0
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.
Highlights from the upstream Collector changelog
statsdreceiver
: Adapt statsd receiver example config to remove filtering of histogram metrics (#385)tailsamplingprocessor
: Adds decision cache for non-sampled trace IDs (#31583)
service
: ensure OTLP emitted logs respect severity (#11718)processor/k8sattribute
: fixes parsing of k8s image names to support images with tags and digests. (#36131)
statsdreceiver
: Adapt statsd receiver example config to remove filtering of histogram metrics (#385)
This release includes version 0.114.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.114.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.114.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.114.0
exporter
: Remove deprecated funcs Create[]Exporter and []ExporterStability (open-telemetry/opentelemetry-collector#11662)extension
: Remove deprecated funcs CreateExtension and ExtensionStability (open-telemetry/opentelemetry-collector#11663)pkg/stanza
: Changed signature ofemit.Callback
function inpkg/stanza/fileconsumer/emit
package by introducingemit.Token
struct that encapsulates the token's body and attributes. (open-telemetry/opentelemetry-collector-contrib#36260)
Highlights from the upstream Collector changelog
-
cmd/builder
: Allow for replacing of local Providers and Converters when building custom collector with ocb. (open-telemetry/opentelemetry-collector#11649) -
cmd/builder
: Allow configuringconfmap.Converter
components in ocb. (open-telemetry/opentelemetry-collector#11582) -
all
: shorten time period before removing an unmaintained component from 6 months to 3 months (open-telemetry/opentelemetry-collector#11664) -
k8sattributesprocessor
: Add support for profiles signal (open-telemetry/opentelemetry-collector-contrib#35983) -
resourcedetectionprocessor
: Introduce support for Profiles signal type. (open-telemetry/opentelemetry-collector-contrib#35980)
pkg/stanza
: Ensure that time parsing happens before entry is sent to downstream operators (open-telemetry/opentelemetry-collector-contrib#36213)pkg/stanza
: Synchronous handling of entries passed from the log emitter to the receiver adapter (open-telemetry/opentelemetry-collector-contrib#35453)processor/k8sattributes
: Block when starting until the metadata have been synced, to fix that some data couldn't be associated with metadata when the agent was just started. (open-telemetry/opentelemetry-collector-contrib#32556)pkg/ottl
: Respect the depth option when flattening slices using flatten (open-telemetry/opentelemetry-collector-contrib#36161) The depth option is also now required to be at least 1.
This release includes version 0.113.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.113.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.113.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.113.0
Highlights from the upstream Collector changelog
-
internal/fanoutconsumer
: Extract internal/fanoutconsumer as a separate go module (open-telemetry/opentelemetry-collector#11441) -
builder
: Remove builder support to build old version, and the otelcol_version config (open-telemetry/opentelemetry-collector#11405) User should remove this property from their config, to build older versions use older builders. -
receiver
: Make receivertest into its own module (open-telemetry/opentelemetry-collector#11462) -
builder
: Remove deprecated flags from Builder (open-telemetry/opentelemetry-collector#11576) Here is the list of flags | --name, --description, --version, --otelcol-version, --go, --module -
internal/sharedcomponent
: Extract internal/sharedcomponent as a separate go module (open-telemetry/opentelemetry-collector#11442) -
pkg/ottl
: Promoteprocessor.transform.ConvertBetweenSumAndGaugeMetricContext
feature gate to Stable (open-telemetry/opentelemetry-collector-contrib#36216) This gate can no longer be disabled. Theconvert_sum_to_gauge
andconvert_gauge_to_sum
may now only be used with themetric
context. -
hostmetrics
: Adjust scraper creation to make it so the scraper name is reported with hostmetrics scraper errors. (open-telemetry/opentelemetry-collector-contrib#35814) -
pkg/ottl
: Add SliceToMap function (open-telemetry/opentelemetry-collector-contrib#35256)
-
mdatagen
: Add otlp as supported distribution (open-telemetry/opentelemetry-collector#11527) -
batchprocessor
: Move single shard batcher creation to the constructor (open-telemetry/opentelemetry-collector#11594) -
service
: add support for using the otelzap bridge and emit logs using the OTel Go SDK (open-telemetry/opentelemetry-collector#10544) -
hostmetricsreceiver
: Add the system.uptime metric in the hostmetrics receiver (open-telemetry/opentelemetry-collector-contrib#31627) This metric is provided by the newsystem
scraper.
-
service
: ensure traces and logs emitted by the otel go SDK use the same resource information (open-telemetry/opentelemetry-collector#11578) -
config/configgrpc
: Patch for bug in the grpc-go NewClient that makes the way the hostname is resolved incompatible with the way proxy setting are applied. (open-telemetry/opentelemetry-collector#11537) -
builder
: Update builder default providers to lastest stable releases (open-telemetry/opentelemetry-collector#11566) -
pkg/stanza
: Fixed bug causing Operators with DropOnErrorQuiet to send log entries to the next operator. (open-telemetry/opentelemetry-collector-contrib#35010) This issue was introduced by a bug fix meant to ensure Silent Operators are not logging errors (open-telemetry/opentelemetry-collector-contrib#35010). With this fix, this side effect bug has been resolved. -
receiver/filelog
: fix record counting with header (open-telemetry/opentelemetry-collector-contrib#35869) -
pkg/stanza/operator
: Retain Operator should propagate the severity field (open-telemetry/opentelemetry-collector-contrib#35832) The retain operator should propagate the severity field like it does with timestamps. -
pkg/stanza
: Handle error of callback function ofParserOperator.ProcessWithCallback
(open-telemetry/opentelemetry-collector-contrib#35769)ProcessWithCallback
ofParserOperator
first calls theParseWith
method which properly handles errors withHandleEntryError
. Then the callback function is called and its returned error should also be handled by theHandleEntryError
ensuring a consistent experience.
transformprocessor
: Extend the user data filtering example with a statement for masking theclient.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)
This release includes version 0.112.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.112.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.112.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.112.0
Highlights from the upstream Collector changelog
pkg/ottl
: Add ConvertAttributesToElementsXML Converter (open-telemetry/opentelemetry-collector-contrib#35328)pkg/ottl
: Parsing invalid statements and conditions now prints all errors instead of just the first one found. (open-telemetry/opentelemetry-collector-contrib#35728)pkg/ottl
: Add ParseSimplifiedXML Converter (open-telemetry/opentelemetry-collector-contrib#35421)pkg/ottl
: Add ConvertTextToElements Converter (open-telemetry/opentelemetry-collector-contrib#35364)
filelogreceiver
: Supportsadd_metadata_from_filepath
for Windows filepaths (open-telemetry/opentelemetry-collector-contrib#35558)filelogreceiver
: Suppress errors on EBADF when unlocking files. (open-telemetry/opentelemetry-collector-contrib#35706) This error is harmless and happens regularly when delete_after_read is set. This is because we acquire the lock right at the start of the ReadToEnd function and then defer the unlock, but that function also performs the delete. So, by the time it returns and the defer runs the file descriptor is no longer valid.hostmetricsreceiver
: Fix duplicate filesystem metrics (open-telemetry/opentelemetry-collector-contrib#34635, open-telemetry/opentelemetry-collector-contrib#34512) The hostmetrics exposes duplicate metrics of identical mounts exposed in namespaces. The duplication causes errors in exporters that are sensitive to duplicate metrics. We can safely drop the duplicates as the metrics should be exactly the same.
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)
installer
: Move the documentation key in the linux service file to the correct section (#334)
This release includes version 0.111.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.111.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.111.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.111.0
Highlights from the upstream Collector changelog
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)
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)
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 configurationsreceiver/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)
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)
This release includes version 0.110.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.110.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.110.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.110.0
Highlights from the upstream Collector changelog
-
processorhelper
: Update incoming/outgoing metrics to a single metric with aotel.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
: Movefilelog.container.removeOriginalTimeField
feature gate to beta (#33389)- Disable the
filelog.container.removeOriginalTimeField
feature gate to get the old behavior.
- Disable the
-
resourcedetectionprocessor
: Moveprocessor.resourcedetection.hostCPUSteppingAsString
feature gate to stable. (#31136) -
resourcedetectionprocessor
: Removeprocessor.resourcedetection.hostCPUModelAndFamilyAsString
feature gate. (#29025)
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)
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
: mdatagenvalidateMetrics()
support validate metrics intelemetry.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 withinverse_match
set totrue
. (#34296)
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)
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
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)
pkg/ottl
: Added Decode() converter function (#32493)pkg/ottl
: AddSort
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)
hostmetricsreceiver
: In filesystem scraper, do not prefix partitions when using the environment variable HOST_PROC_MOUNTINFO (#35043)
eecprovider
: Add informational headers to EEC provider requests (#280)docs
: Added Dynatrace dashboards that can be used to inspect the collectors internal telemetry (#274)
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
all
: Added support for go1.23, bumped the minimum version to 1.22 (open-telemetry/opentelemetry-collector#10869)otelcol
: Remove deprecatedConfmapProvider
interface. (open-telemetry/opentelemetry-collector#10934)confmap
: Markconfmap.strictlyTypedInput
as stable (open-telemetry/opentelemetry-collector#10552)all
: Added support for go1.23, bumped the minimum version to 1.22 (open-telemetry/opentelemetry-collector-contrib#34658)transformprocessor
: Promote processor.transform.ConvertBetweenSumAndGaugeMetricContext feature flag from alpha to beta (open-telemetry/opentelemetry-collector-contrib#34567)
exporter/otlp
: Add batching option to otlp exporter (open-telemetry/opentelemetry-collector#8122)builder
: Add a --skip-new-go-module flag to skip creating a module in the output directory. (open-telemetry/opentelemetry-collector#9252)component
: AddTelemetrySettings.LeveledMeterProvider
func to replace MetricsLevel in the near future (open-telemetry/opentelemetry-collector#10931)mdatagen
: AddLeveledMeter
method to mdatagen (open-telemetry/opentelemetry-collector#10933)service
: Addslevel
configuration option toservice::telemetry::trace
to allow users to disable the default TracerProvider (open-telemetry/opentelemetry-collector#10892) This replaces the feature gateservice.noopTracerProvider
introduced in v0.107.0componentstatus
: Add new Reporter interface to define how to report a status via acomponent.Host
implementation (open-telemetry/opentelemetry-collector#10852)mdatagen
: support using a different github project in mdatagen README issues list (open-telemetry/opentelemetry-collector#10484)mdatagen
: Updates mdatagen's usage to output a complete command line example, including the metadata.yaml file. (open-telemetry/opentelemetry-collector#10886)extension
: Add ModuleInfo to extension.Settings to allow extensions to access component go module information. (open-telemetry/opentelemetry-collector#10876)confmap
: Mark module as stable (open-telemetry/opentelemetry-collector#9379)deltatocumulative
: Promote toalpha
stability (open-telemetry/opentelemetry-collector-contrib#34747) promotes the deltatocumulative processor to alpha stability, as most features are now implemented and ready for wider testing.deltatocumulative
: explicit-bounds histograms (open-telemetry/opentelemetry-collector-contrib#30705) implements aggregation of explicit-bounds (traditional) histograms.filelogreceiver
: If acquire_fs_lock is true, attempt to acquire a shared lock before reading a file. (open-telemetry/opentelemetry-collector-contrib#34801) Unix only. If a lock cannot be acquired then the file will be ignored until the next poll cycle.prometheusreceiver
: Ensure Target Allocator's confighttp is used in the receiver's service discovery (open-telemetry/opentelemetry-collector-contrib#33370)metricstransformprocessor
: Add scaling exponential histogram support (open-telemetry/opentelemetry-collector-contrib#29803)pkg/ottl
: IntroduceUserAgent
converter to parse UserAgent strings (open-telemetry/opentelemetry-collector-contrib#32434)
-
batchprocessor
: Update units for internal telemetry (open-telemetry/opentelemetry-collector#10652) -
confmap
: Fix bug where an unset env var used with a non-string field resulted in a panic (open-telemetry/opentelemetry-collector#10950) -
service
: Fix memory leaks during service package shutdown (open-telemetry/opentelemetry-collector#9165) -
mdatagen
: Update generated telemetry template to only include context import when there are async metrics. (open-telemetry/opentelemetry-collector#10883) -
mdatagen
: Fixed bug in which settingSkipLifecycle
&SkipShutdown
to true would result in a generated file with an unused importconfmaptest
(open-telemetry/opentelemetry-collector#10866) -
confmap
: Use string representation for field types where all primitive types are strings. (open-telemetry/opentelemetry-collector#10937) -
otelcol
: Preserve internal representation when unmarshaling component configs (open-telemetry/opentelemetry-collector#10552) -
tailsamplingprocessor
: Update thepolicy
value in metrics dimension value to be unique across multiple tail sampling components with the same policy name. (open-telemetry/opentelemetry-collector-contrib#34192) This change ensures that thepolicy
value in the metrics exported by the tail sampling processor is unique across multiple tail sampling processors with the same policy name. -
prometheusreceiver
: Group scraped metrics into resources created fromjob
andinstance
label pairs (open-telemetry/opentelemetry-collector-contrib#34237) The receiver will now create a resource for each distinct job/instance label combination. In addition to the label/instance pairs detected from the scraped metrics, a resource representing the overall scrape configuration will be created. This additional resource will contain the scrape metrics, such as the number of scraped metrics, the scrape duration, etc. -
tailsamplingprocessor
: Fix the behavior for numeric tag filters withinverse_match
set totrue
. (open-telemetry/opentelemetry-collector-contrib#34296) -
pkg/stanza
: fix nil value conversion (open-telemetry/opentelemetry-collector-contrib#34672)
redactionprocessor
: Added the redaction processor to the Dynatrace collector distro. (#275)
This release includes version 0.107.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.107.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.107.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.107.0
Highlights from the upstream Collector changelog
🛑 Breaking changes 🛑
-
confmap
: Set theconfmap.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 fromotelcol/fluentforwardreceiver
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 fromotelcol/hostmetricsreceiver/*
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 fromotelcol/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 fromotelcol/statsdreceiver
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 fromotelcol/k8sattributes
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 fromotelcol/filter
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 fromotelcol/probabilisticsampler
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 fromotelcol/tailsampling
github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor
(open-telemetry/opentelemetry-collector-contrib#34550)
💡 Enhancements 💡
-
confmap
: Allow using any YAML structure as a string when loading configuration. (open-telemetry/opentelemetry-collector#10800) Previous to this change, slices could not be used as strings in configuration. -
semconv
: Add v1.26.0 semantic conventions package (open-telemetry/opentelemetry-collector#10249, open-telemetry/opentelemetry-collector#10829) -
semconv
: Add semantic conventions version v1.27.0 (open-telemetry/opentelemetry-collector#10837) -
hostmetricsreceiver
: add reporting interval to entity event (open-telemetry/opentelemetry-collector-contrib#34240) -
processor/k8sattributes
: Add support forcontainer.image.repo_digests
metadata (open-telemetry/opentelemetry-collector-contrib#34029)
🧰 Bug fixes 🧰
-
configtelemetry
: Add 10s read header timeout on the configtelemetry Prometheus HTTP server. (open-telemetry/opentelemetry-collector#5699) -
service
: Allow users to disable the tracer provider via the feature gateservice.noopTracerProvider
(open-telemetry/opentelemetry-collector#10858) The service is returning an instance of a SDK tracer provider regardless of whether there were any processors configured causing resources to be consumed unnecessarily. -
processorhelper
: Fix processor metrics not being reported initially with 0 values. (open-telemetry/opentelemetry-collector#10855) -
service
: Implement thetemporality_preference
setting for internal telemetry exported via OTLP (open-telemetry/opentelemetry-collector#10745) -
configauth
: Fix unmarshaling of authentication in HTTP servers. (open-telemetry/opentelemetry-collector#10750) -
confmap
: If loading an invalid YAML string through a provider, use it verbatim instead of erroring out. (open-telemetry/opentelemetry-collector#10759) This makes the ${env:ENV} syntax closer to how ${ENV} worked before unifying syntaxes. -
component
: Allow component names of up to 1024 characters in length. (open-telemetry/opentelemetry-collector#10816) -
confmap
: Remove original string representation if invalid. (open-telemetry/opentelemetry-collector#10787)
release
: Add missing dependency to /bin/sh to the RPM linux package (#264)
This release includes version 0.106.1 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.106.1:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.106.1
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.106.1
v0.106.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.106.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.106.0
Highlights from the upstream Collector changelog
k8sattributesprocessor
: Deprecateextract.annotations.regex
andextract.labels.regex
config fields in favor of theExtractPatterns
function in the transform processor. TheFieldExtractConfig.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 theExtractPatterns
function from the transform processor instead. To convert your current configuration please check theExtractPatterns
function documentation. You should use thepattern
parameter ofExtractPatterns
instead of using theFieldExtractConfig.Regex
parameter.
confighttp
: Add option to include query params in auth context (open-telemetry/opentelemetry-collector#4806)configgrpc
: gRPC auth errors now return gRPC status code UNAUTHENTICATED (16) (open-telemetry/opentelemetry-collector#7646)httpprovider
,httpsprovider
: Validate URIs in HTTP and HTTPS providers before fetching. (open-telemetry/opentelemetry-collector#10468)processor/transform
: Addscale_metric
function that scales all data points in a metric. (open-telemetry/opentelemetry-collector-contrib#16214)transformprocessor
: Support aggregating metrics based on their attributes. (open-telemetry/opentelemetry-collector-contrib#16224)pkg/ottl
: Adds anFormat
function to OTTL that callsfmt.Sprintf
(open-telemetry/opentelemetry-collector-contrib#33405)
-
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).
This release includes version 0.105.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.105.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.105.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.105.0
Highlights from the upstream Collector changelog
🛑 Breaking changes 🛑
-
service
: addservice.disableOpenCensusBridge
feature gate which is enabled by default to remove the dependency on OpenCensus (#10414) -
confmap
: Promoteconfmap.strictlyTypedInput
feature gate to beta. (#10552)This feature gate changes the following:
- Configurations relying on the implicit type casting behaviors listed on #9532 will start to fail.
- Configurations using URI expansion (i.e.
field: ${env:ENV}
) for string-typed fields will use the value passed inENV
verbatim without intermediate type casting.
-
stanza
: errors from Operator.Process are returned instead of silently ignored. (#33783) This public function is affected: https://pkg.go.dev/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/operator/helper#WriterOperator.Write
🧰 Bug fixes 🧰
-
confmap
: Fixes issue where confmap could not escape$$
whenconfmap.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 whencomponent.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 definemax_octets
for octet counting RFC5424 syslog parser (#33182)
💡 Enhancements 💡
-
pkg/ottl
: Added Hex() converter function (#31929) -
pkg/ottl
: Add IsRootSpan() converter function. (#32918) ConverterIsRootSpan()
returnstrue
if the span in the corresponding context is root, that means itsparent_span_id
equals to hexadecimal representation of zero. In all other scenarios function returnsfalse
. -
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)
statsdreceiver
: Add statsd receiver to manifest (#229)zipkinreceiver
: Added the zipkin receiver to the Dynatrace collector distro (#225)
This release includes version 0.104.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.104.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.104.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.104.0
Warning
This release includes two important breaking changes:
- The
otlpreceiver
,jaegerreceiver
andhealthcheckextension
will now uselocalhost
by default instead of0.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 on0.0.0.0
disable thecomponent.UseLocalHostAsDefaultHost
feature gate or explicitly set the endpoint to0.0.0.0
. For more details, check out the OTel blog post. - Expansion of BASH-style environment variables, such as
$FOO
will no longer be supported by default. If you depend on this syntax, disable theconfmap.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
pkg/ottl
: Changed ScopeContext, InstrumentationResourceContext, TransformContext interfaces to make SchemaURL accessible in resources and scopes on all signals (#30229)filter
: Remove deprecatedfilter.CombinedFilter
(#10348)otelcol
: By default,otelcol.NewCommand
andotelcol.NewCommandMustSetProvider
will set theDefaultScheme
toenv
. #10435)otelcol
: The otelcol.NewCommand now requires at least one provider be set. (#10436)
otelcol
: Theotelcol.NewCommandMustSetProvider
is deprecated. Useotelcol.NewCommand
instead. (#10436)
k8sattributesprocessor
: Add support for exposingk8s.pod.ip
as a resource attribute (#32960)debugexporter
: Innormal
verbosity, display one line of text for each telemetry record (log, data point, span) (#7806)debugexporter
: Add optionuse_internal_logger
(#10226)debugexporter
: Print Span.TraceState() when present. (#10421)
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 wasNotSampled
orInvertNotSampled
it would return aNotSampled
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)
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:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.103.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.103.0
Highlights from the upstream Collector changelog
exporter/debug
: Disable sampling by default (#9921). To restore the behavior that was previously the default, setsampling_thereafter
to500
.
healthcheckextension
: Remove incorrect logic behindcheck_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.
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)
examples
: Added an example for using the syslog receiver, as well as integration tests for the added example. (#136)
This release includes version 0.102.1 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
0.102.1:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.102.1
- (no changes/patch release for opentelemetry-collector-contrib)
0.102.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.102.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.102.0
Highlights from the upstream Collector changelog
This release addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) fully
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. (#9531)confighttp
: Apply MaxRequestBodySize to the result of a decompressed body (#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
: Movek8sattr.rfc3339
feature gate to stable. (#33304)
batchprocessor
: ensure attributes are set on cardinality metadata metric (#9674)batchprocessor
: Fixing processor_batch_metadata_cardinality which was broken in v0.101.0 (#10231)batchprocessor
: respect telemetry level for all metrics (#10234)configrpc
: Use own compressors for zstd (#10323) Before this change, the zstd compressor we used didn't respect the max message size. This addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) onconfiggrpc
.
This release includes version 0.101.0 of the upstream Collector components.
The individual upstream Collector changelogs can be found here:
v0.101.0:
- https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.101.0
- https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.101.0
Highlights from the upstream Collector changelog
filelog, journald, tcp, udp, syslog, windowseventlog receivers
: The internal logger has been changed from zap.SugaredLogger to zap.Logger. (#32177) This should not have any meaningful impact on most users but the logging format for some logs may have changed.
filelogreceiver
: Add container operator parser (#31959)resourcedetectionprocessor
: Support GCP Bare Metal Solution in resource detection processor. (#32985)processor/transform
: Allow common where clause (#27830)