build(deps): update opentelemetry-deps-collector - #2554
Conversation
ℹ️ Artifact update noticeFile name: collector/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
File name: collector/lambdacomponents/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
File name: collector/processor/coldstartprocessor/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
File name: collector/processor/decoupleprocessor/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
File name: collector/receiver/telemetryapireceiver/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
This PR contains the following updates:
v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v1.64.0→v1.65.0v1.64.0→v1.65.0v0.158.0→v0.159.0v1.64.0→v1.65.0v1.64.0→v1.65.0v1.64.0→v1.65.0v1.64.0→v1.65.0v1.64.0→v1.65.0v1.64.0→v1.65.0v0.158.0→v0.159.0v1.64.0→v1.65.0v0.158.0→v0.159.0v1.64.0→v1.65.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v1.64.0→v1.65.0v0.158.0→v0.159.0v1.64.0→v1.65.0v1.64.0→v1.65.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0v1.64.0→v1.65.0v0.158.0→v0.159.0v0.158.0→v0.159.0v0.158.0→v0.159.0Release Notes
open-telemetry/opentelemetry-collector-contrib (github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/s3provider)
v0.159.0Compare Source
🛑 Breaking changes 🛑
all: Removes the kafkatopicsobserver extension after being deprecated for 3 months (#48186)Use the
kafkareceiverwith topic regex support instead.extension/observer: Removes thekafka.topicsendpoint type along with the kafkatopicsobserver extension (#48186)The
observer.KafkaTopicTypeendpoint type and itsobserver.KafkaTopicdetails struct areremoved, as the kafkatopicsobserver was the only observer emitting them. The receivercreator
no longer accepts
type == "kafka.topics"rules or resource attributes for that endpoint type.processor/dynamic_sampling: Reserve the "" prefix in rule names for processor-internal decision labels, and rename the unmatched-drop sentinel to_unmatched(#49311)Configs with rule names starting with "" are now rejected at validation, so user rule
names can never collide with the processor-owned sentinel labels on decision metrics
(
_eviction,_root_span_condition). Theruleattribute value for traces dropped withno matching rule changes from
unmatchedto_unmatchedto follow the same convention.receiver/file_log:ordering_criteria::top_n: 0now means 'match all files' instead of silently behaving liketop_n: 1. (#47444)To restore the previous behavior of matching the first file only, set
ordering_criteria::top_n: 1.🚩 Deprecations 🚩
exporter/azure_monitor: Renameazuremonitortoazure_monitor(#45339)exporter/signalfx: Remove the logic sending trace correlation. (#50166)The trace correlation endpoint is no longer processing requests as the logic has moved
to be handled by the backend. With this change, the exporter continues to accept spans
but will no longer send them to the correlation endpoint.
receiver/file_log: Deprecate the implicitordering_criteria.top_ndefault of 1 whenordering_criteria.sort_byis configured. Enable thefilelog.requireExplicitTopNfeature gate to requiretop_nto be set explicitly. (#47444)When
ordering_criteria.sort_byis configured withouttop_n, the matchersilently defaults
top_nto 1, returning only the single highest-priority fileper poll. With multiple actively-written files this causes severe log
duplication: the other matching files cycle in and out of the tracker and are
re-read from offset 0 on rediscovery.
Enabling the
filelog.requireExplicitTopNfeature gate makes an unsettop_nastartup error when
sort_byis configured, forcing the choice to be explicit.The gate is off by default; it is expected to become the default (and the
implicit fallback removed) in a future release. Use
top_n: 1to keep theprevious behavior.
Independently of the feature gate,
top_n: 0now means "match all files"instead of silently behaving like
top_n: 1.receiver/sql_query: Rename the 'sqlquery' receiver to 'sql_query'. The old 'sqlquery' type remains available as a deprecated alias. (#45339)🚀 New components 🚀
extension/sd_notify: Introduces thesd_notifyextension, which integrates the collector with the sd_notify(3) protocol. (#49607)💡 Enhancements 💡
cmd/opampsupervisor: Add tar.gz archive support and the agent_binary configuration for collector package upgrades. (#49766)exporter/awscloudwatchlogs: Add max_event_payload_bytes config option to opt in to the CloudWatch Logs 1 MiB per-event limit (previously hardcoded to 256 KiB). (#48559)The CloudWatch Logs PutLogEvents API began accepting events up to 1 MiB on
2025-04-02. The exporter previously truncated every event at 256 KiB (the
pre-2025 service limit) via a hardcoded package constant. The default stays
at 256 KiB for backwards compatibility; set
max_event_payload_bytes: 1048576to take advantage of the new ceiling. A new
cwlogs.WithMaxEventPayloadBytespusher option exposes the same knob to direct callers of the internal package.
exporter/azure_monitor: Allow configuring HTTP status codes that should not be marked as errors in Application Insights. (#47691)Adds
telemetry_mappings.traces.http.successsettings for HTTP success mapping:additional_success_status_codeslists status codes treated as Success on bothserver and client HTTP spans, and
server_policy: oteltreats 4xx responses onHTTP server spans as Success, matching the OpenTelemetry HTTP semantic conventions.
Defaults preserve the existing exporter behaviour.
exporter/load_balancing: Promote metrics support to alpha stability (#50086)exporter/opensearch: Add integration test harness against a real OpenSearch instance (#48615)Introduces testcontainers-go setup to validate exporter behavior,
dynamic mappings, and cluster connectivity.
exporter/prometheus_remote_write: Add a nestedhttpconfig block for HTTP client settings. The nested block takes precedence over flat HTTP client settings when set. (#46209)exporter/prometheus_remote_write: Add the exporter ID as an attribute on WAL telemetry metrics to disambiguate multiple PRW exporters sharing a collector. (#49130)exporter/signalfx: Stop excludingcontainer.memory.rssin SignalFx exporter by default. (#50162)extension/aws_iam_db_auth: Changeaws_iam_db_authto alpha (#50118)extension/pebble_tail_storage: Addedmax_storage_size_mibsupport to the Pebble tail storage extension to bound local disk usage for pending tail-sampling trace data. (#49592)Configuration example:
extensions:
pebble_tail_storage:
directory: /var/lib/otelcol/pebble-tail-storage
max_storage_size_mib: 10240
extension/sumologic: Add optionalfleet_idconfiguration field to assign a collector to a fleet during registration. (#50142)When fleet_id is configured, it is sent as fleetId in the collector registration request.
If the server returns an invalid_fleet_id or fleet_not_found error, registration is
retried without the fleet ID so the collector can still register successfully.
pkg/datadog: Add thedatadog.EnableScopeConventionfeature gate to control theotel.scopename and version conventions in the Datadog exporter. (#49001)When the
datadog.EnableScopeConventionfeature gate is enabled, spans additionallycarry the
otel.scope.nameandotel.scope.versionattributes. The deprecatedotel.library.nameandotel.library.versionattributes are still emitted with thesame values for backward compatibility, so existing dashboards and monitors keyed on
them keep working.
pkg/fileconsumer: Move filelog.allowFileDeletion and filelog.windows.caseInsensitive filelog.featuregates to beta (#46635)pkg/ottl:pcommon.Valueis now comparable using all comparison operators (==, !=, <, <=, >=, >) in OTTL expressions (#49170)pkg/ottl: Thesetfunction will passnilvalues directly to the target when theottl.set.allowNilfeature gate is enabled. (#48714)processor/dynamic_sampling: Reduce hot-path overhead with a fast path for the default root-span condition, cheaper decision-cache ordering, precomputed metric attributes, and a precomputed emitted tracestate. (#49311)processor/dynamic_sampling: Document known limitations, the metric label contract (sentinel rule values, trigger values), and refresh the future work list (#49311)processor/dynamic_sampling: Move buffered spans into the output at decision time instead of copying them, halving decision-path allocations. (#49311)processor/dynamic_sampling: Drain pending traces on shutdown, deciding each through the normal rule path instead of silently dropping the buffer (#49311)Previously a collector restart, rollout, or config reload discarded every buffered trace
without a decision (up to trace_timeout worth of spans). Shutdown now decides each pending
trace with the spans seen so far, forwards the kept ones with a correct ot=th tracestate,
and reports them on the decision-triggers counter with trigger="shutdown". Traces already
counted by an earlier trigger are not counted again, and the same double-count guard is
applied to eviction of a trace in its decision_delay window.
processor/dynamic_sampling: UseMoveToinstead ofCopyTowhen accumulating and forwarding spans, reducing allocations and improving throughput. (#49311)processor/resource_detection: Add feature gates to migrate theelastic_beanstalkdetector to the current deployment semantic conventions. (#50130)The detector reports the deployment environment as
deployment.environment, which is deprecated inthe semantic conventions, and the deployment ID as
service.instance.id. Two alpha feature gatesmigrate them to
deployment.environment.nameanddeployment.id:processor.resourcedetection.elasticbeanstalk.EmitV1DeploymentConventionsadds the currentattributes, and
processor.resourcedetection.elasticbeanstalk.DontEmitV0DeploymentConventionsremoves the deprecated ones. Enabling only the first reports both sets, so telemetry
can be migrated before the deprecated attributes are dropped. Enabling only the second is rejected
at startup. The default output is unchanged.
processor/resource_detection: Support global retry config for resource detection processor (#46546)processor/resource_detection: Add Azure Container Apps resource detector (#48239)processor/resource_detection: Add theprocessor.resourcedetection.consul.prefixMetaAttributesfeature gate, which emits Consul node metadata asconsul.meta.<key>resource attributes. (#49988)The gate is alpha and disabled by default, so Consul meta attribute names are unchanged unless the
gate is enabled. This namespaces Consul meta consistently with the other detectors that expose
user-defined key/value data, such as
ec2.tag.andopenstack.nova.meta..processor/tail_sampling: Addnum_shardsconfig option to run N parallel event loops, sharding traces by trace ID to reduce contention under high load. (#48699)The single event loop can become a bottleneck under high throughput because
trace ingestion starves sampling decision evaluation. Setting
num_shardsto a value greater than 1 distributes traces across independent goroutines,
each with its own storage and decision batcher. The default value of 1
preserves the original single-loop behavior.
To keep aggregate behavior consistent with the configured values,
num_traces,expected_new_traces_per_sec,decision_cachesizes, andper-second rate limits in policies (
rate_limiting,bytes_limiting, andcomposite
max_total_spans_per_second) are divided evenly across shards.Limiter
burst_capacityis not divided so that single large traces remainadmissible regardless of the shard count.
The
sampling_traces_on_memorymetric reports the total across all shards.processor/transform: Add support for semconv1.41.0,1.42.0and1.43.0in theset_semconv_span_name()function. (#50198)receiver/apache: Change theapache.worker.limitmetric type from a gauge to a non-monotonic cumulative sum (UpDownCounter) (#47061)An UpDownCounter better represents the configured worker slots, which can go up or down over time.
receiver/apache: Add an opt-in migration to new, more consistent metric and attribute names behind feature gates (#47327)The original metric and attribute names remain the default. Enable
receiver.apache.enableNewFormatMetricsto also emit the new names, andadditionally enable
receiver.apache.disableOldFormatMetricsto emit only thenew names. See the receiver's README for the migration guide and full mapping.
Renamed metrics:
apache.current_connections->apache.connection.activeapache.connections.async->apache.connection.statusapache.requests->apache.request.countapache.scoreboard->apache.worker.statusapache.workers-> replaced byapache.worker.activeandapache.worker.idleRenamed attributes:
connection_state->apache.connection.statestate(on the scoreboard metric) ->apache.worker.statelevel(onapache.cpu.time) ->apache.process.levelmode(onapache.cpu.time) ->cpu.modereceiver/apache: Addapache.request.rate,apache.traffic.rate(disabled by default), andapache.worker.limitmetrics (#47061)receiver/aws_lambda: Add theaws.log.subscription_filter.namesresource attribute to CloudWatch Logs decoded by the built-in decoder (#49923)The subscription filter name is the CloudWatch-managed link between a log group and the
destination function, so it can carry per-source identity when multiple log groups fan into
a single Lambda. The attribute is only added when the event contains subscription filters.
receiver/dns_check: Add complete scraping implementation for the DNS Check Receiver, including metrics and resource attributes. (#49561)Replaces skeleton implementation with full production-ready collector functionality.
Includes metrics metadata and completed configuration.
Includes real scraper implementation that performs DNS checks and emits metrics and resource attributes.
Includes README docs.
receiver/googlecloudpubsubpush: Promote logs support to alpha stability (#50112)receiver/kubelet_stats: Add optional k8s node filesystem inode count/free metrics. (#48926)Adds the following optional metrics to kubeletstatsreceiver:
receiver/mysql: Add replica thread running and open temporary table metrics to the mysqlreceiver. (#50132)receiver/mysql: Add mysql.file.open, mysql.table.open, and mysql.thread.slow_launch metrics, disabled by default. (#49867)receiver/mysql: Addalter_table,create_index,create_table, andoptimizecommand types to themysql.commandsmetric. (#49863)receiver/mysql: Add InnoDB data I/O and pending operation metrics. (#50138)receiver/oracledb: Use the go-sqllexerObfuscateAndNormalizeengine to obfuscate SQL in the top query and query sample collectors, and upgradegithub.com/DataDog/datadog-agent/pkg/obfuscateto v0.82.0 (#50231)The obfuscated
db.query.textis now normalized (whitespace collapsed, comments stripped, punctuationspaced, trailing semicolon removed), which yields stable query signatures across semantically identical
statements that previously differed only in formatting. Leading SQL comments are no longer rendered as a
leading
?; the previous two-pass comment-anonymization behavior has been removed. Comment tags are stillextracted from the raw SQL and emitted via
db.query.comment_tags. Identifier quotation is preserved(
KeepIdentifierQuotation) so a quoted identifier such as"a b"does not collide with the unquoteda b. This is a one-time change to the obfuscated output format and may alter any downstream identifiersderived from
db.query.text. The obfuscate library upgrade to v0.82.0 (withgithub.com/DataDog/go-sqllexerv0.2.4) also normalizes qualified identifiers consistently.
receiver/oracledb: Add tablespace health metrics (#48399)All 3 new metrics are opt-in (disabled by default) and support oracle.db.pdb on CDB-root and
direct-PDB connections. Note: oracle.db.pdb is itself opt-in - if it is not also enabled on a
CDB root with multiple PDBs, same-named tablespaces in different PDBs will be aggregated
together rather than reported per PDB, matching the existing behavior of every other opt-in
oracle.db.pdb metric in this receiver.
receiver/oracledb: Add wait event timeout count to the session wait sample event (#49934)receiver/splunk_enterprise: added dimensions to kvstore metrics (#50189)receiver/sqlserver: Use the go-sqllexerObfuscateAndNormalizeengine to obfuscate SQL in the top query and query sample collectors, and upgradegithub.com/DataDog/datadog-agent/pkg/obfuscateto v0.82.0 (#50210)Comment-only statements (e.g. Blue Prism banners) no longer produce a "result is empty" error or repeated
error logs; they now obfuscate to an empty string. Statements the legacy tokenizer could not parse are
obfuscated instead of being dropped. The obfuscated
db.query.textis now normalized (whitespace collapsed,comments and aliases removed), which changes the obfuscated output format; this is a one-time change and may
alter any downstream identifiers derived from the obfuscated query text. The obfuscate library upgrade to
v0.82.0 also normalizes qualified identifiers consistently (e.g.
schema.tableno longer renders with aspurious space after the dot), which contributes to the same one-time change in obfuscated output.
The transitive
github.com/DataDog/go-sqllexerdependency is pinned to v0.2.4, which fixes obfuscation ofstring literals containing a backslash (e.g.
REPLACE(@@SERVERNAME, '\', ':')).receiver/sqlserver: Share a single, tunable database connection pool across all scrapers of a metrics or logs receiver instead of opening one pool per query. (#47219)Previously each enabled query created its own *sql.DB connection pool to the same instance. All
scrapers now share one pool per receiver instance — the metrics and logs receivers each own
their own pool — that is owned by the receiver and closed on shutdown, reducing connection and
memory overhead as more queries are enabled. The pool can be
tuned via a new optional
connection_poolconfig block (max_open,max_idle,max_lifetime,max_idle_time); by defaultmax_openandmax_idleare derived from the number of scrapers,replacing the sub-optimal Go driver defaults. Emitted telemetry is unchanged.
🧰 Bug fixes 🧰
exporter/awscloudwatchlogs: Resolve the{PodName}placeholder inlog_group_name/log_stream_namefrom thek8s.pod.nameresource attribute as well as the legacypodattribute. (#46202)The
k8sattributesprocessorsets the semantic convention attributek8s.pod.name, not the legacypodattribute that{PodName}previouslylooked up. This left
{PodName}resolving toundefinedfor standard EKSpipelines unless users added an extra processor to rename the attribute.
exporter/datadog: Fix log misrouting when a batch contains multiple ResourceLogs with different scopes, which previously routed the whole batch based on only the first ResourceLogs' scope, via thegithub.com/DataDog/datadog-agentdependency bump to v0.82.0. (#50069, #49322)exporter/datadog: Fix a goroutine hang on shutdown and swallowed errors when consuming regular logs, via thegithub.com/DataDog/datadog-agentdependency bump to v0.82.0. (#50069)exporter/datadog: Fix an unbounded loop in the histogram-to-sketch conversion that could drive the exporter to OOM when ingesting an OTel explicit-bucket histogram with a very large finite upper bound, via thegithub.com/DataDog/datadog-agentdependency bump to v0.82.0. (#50069)exporter/datadog: Map theRatemetric intake type in legacy metric clients so delta-sum datapoints carryingdatadog.metric.as_type=rateare no longer silently dropped. (#50119)toDataTypepreviously mapped onlyCountandGauge, so aRatedatatype fell through toMETRICINTAKETYPE_UNSPECIFIEDand the series was rejected by the intake.exporter/prometheus_remote_write: Fix context.DeadlineExceeded being incorrectly treated as a permanent error, which caused metrics to be dropped instead of retried on timeout. (#49691)context.DeadlineExceeded indicates a transient timeout and should result in a retry.
Only context.Canceled (explicit user/component shutdown) should be treated as permanent.
exporter/prometheus_remote_write: Flush buffered WAL entries when the exporter is idle so data is not stalled until the next write. (#49130)internal/aws: FixeventBatch.exceedsLimitrolling batches at the per-event truncation cap (256 KiB) instead of the 1 MiB per-request PutLogEvents limit. Batches now pack up to the actual service ceiling. (#48559)This is a pre-existing inefficiency unrelated to the new
max_event_payload_bytesconfig field.eventBatch.exceedsLimithascompared cumulative batch bytes against
maxEventPayloadBytes(256 KiB)rather than
maxRequestPayloadBytes(1 MiB) since the original 2022 code.The result: batches have been rolling at ~25% of the PutLogEvents request
limit. Workloads with average event size above ~25 KiB will see roughly
3-4x fewer PutLogEvents calls for the same data volume after this fix,
with no config change required.
The fix is also load-bearing for the new configurable per-event cap shipping
in the same PR: without it, opted-in users with >256 KiB events would ship
each event in its own PutLogEvents call rather than packing up to the 1 MiB
service ceiling.
The new threshold matches the service-documented batch-size accounting:
sum(message bytes UTF-8) + 26 * num_events. That is exactly whatbyteTotalalready sums (eventPayloadBytes()includes the 26-byteperEventHeaderBytes), so no envelope-overhead margin is needed.pkg/datadog: Stop setting the removed Agent config keyenable_sketch_stream_payload_serialization, which fixes a spuriousunknown keyERROR logged at Agent startup. The key was a no-op, so this changes no behavior. (#50238)pkg/translator/prometheusremotewrite: Preserve consecutive underscores in label names when the permissive label sanitization feature gate is enabled. (#48991)When the pkg.translator.prometheus.PermissiveLabelSanitization feature gate was enabled, label names with consecutive underscores (e.g. a__b) were still collapsed to a single underscore because the converter did not set PreserveMultipleUnderscores on the label namer. The gate now preserves them as intended.
processor/coralogix: Only start a new transaction for SERVER/CONSUMER spans when they cross into a different service from their parent, instead of unconditionally, so in-process phases (e.g. a queue-wait span) are no longer misclassified as separate transaction roots. (#50048)Previously any SERVER or CONSUMER span nested under an existing local transaction was always
split off into its own transaction root, even when it came from the same service as its parent.
Root detection now compares the span's resource
service.nameagainst its parent's, and onlytreats the SERVER/CONSUMER span as a new entry point when the service actually changes.
processor/isolationforest: Produce differentiated anomaly scores and honor the configuredcontamination_rate. (#46988)The online isolation forest trees never split, so every record received a
near-identical anomaly score and nothing was ever flagged. Trees now grow once
they accumulate enough samples. The adaptive threshold also ignored
contamination_rate(the percentile was hardcoded to 0.9); it is now derived as1 - contamination_rate. Acontamination_rateof exactly 0.0 or 1.0 is nowrejected during configuration validation instead of being silently replaced with
a default.
processor/k8s_attributes: Fix memory leak and incorrect deletion for custom association identifiers (labels, annotations) that go through active->stale->active transitions. (#48588)processor/metrics_transform: combine action no longer silently drops data points when a single Summary metric matches the transform. The operation is now skipped with a warning log instead. (#49693)processor/tail_sampling: Drop processor state whenTailStorage.Takefails so failed fetches do not leave stranded traces or forward incomplete batches. (#49907)processor/tail_sampling: In the composite policy, a sub-policy omitted fromrate_allocationnow receives its default equal share of the budget instead of a zero sampling rate that permanently blocked it from sampling. (#49828)receiver/datadog: Set thedatadog.metric.as_typedatapoint attribute on series submitted with typerate(#50120)A Datadog
rateseries is translated to a delta Sum, which was previously indistinguishablefrom one produced by a
countseries, making the original type unrecoverable downstream.Datapoints from
rateseries now carrydatadog.metric.as_type: rate, the attribute theDatadog exporter reads to map such a Sum back to a Datadog rate. Other metric types are
unchanged.
receiver/elasticsearch: Record deleted document counts for the index-levelelasticsearch.index.documentsmetric, matching existing node-level behavior. (#49996)receiver/icmpcheckreceiver: Enable privileged ICMP mode on Windows so pings succeed without requiring elevated privileges. (#50215)receiver/postgresql: Fix EXPLAIN failing on queries with a repeated placeholder or a$N-looking string literal, by counting real bind parameters frompg_prepared_statementsinstead of regex-matching$Nin the query text. (#50054)receiver/postgresql: Fixpostgresql.total_exec_timeandpostgresql.total_plan_timedocs on thedb.server.top_queryevent to correctly state seconds instead of milliseconds. (#50113)pg_stat_statements reports these columns in milliseconds, and the receiver correctly converts
to seconds before emitting them, per OTel semantic conventions (durations SHOULD use seconds).
metadata.yaml incorrectly documented the emitted unit as milliseconds; this updates the docs
to match the actual (and semconv-compliant) behavior. No emitted values change.
receiver/prometheus: Prevent the Prometheus receiver from dropping classic histograms without explicit bucket boundaries whenconvert_classic_histograms_to_nhcbis enabled and classic histograms are not retained. (#49893)receiver/snowflake: Close sql.Rows in all Fetch* methods so the underlying driver connection is released back to the pool. (#49707)Previously, none of the 8 Fetch* methods in client.go called rows.Close() after iterating sql.Rows returned by readDB(). This leaked a database connection per query per scrape interval, eventually exhausting the connection pool. Also adds rows.Err() checks after each rows.Next() loop to surface iteration errors.
receiver/sqlserver: Fix query sample events silently omitting sessions blocked on schema locks. (#49983)receiver/sqlserver: Fix the receiver dropping the entire query plan when obfuscating a single attribute fails (#50065)All Unicode format characters (Cf category, e.g. zero-width space U+200B) are stripped from SQL before obfuscation so queries containing them are not dropped.
receiver/yang_grpc: Fix walking the value tree and recording metrics (#50109)open-telemetry/opentelemetry-collector (go.opentelemetry.io/collector/client)
v1.65.0💡 Enhancements 💡
pkg/exporterhelper: Add thepkg.exporterhelper.queueBatchEnabledfeature gate (#14038, #13582, #12022)When enabled, the batch settings returned by
NewDefaultQueueConfig()havebatch::enabledtrue. See migration RFC.🧰 Bug fixes 🧰
pkg/exporterhelper: Recordotelcol_exporter_queue_batch_send_sizeandotelcol_exporter_queue_batch_send_size_bytesafter batching, and addotelcol_exporter_enqueue_sizeandotelcol_exporter_enqueue_size_bytesfor enqueue-time sizes. (#14674)Previously the batch send size histograms were recorded at enqueue time (
Offer), so theymeasured incoming request sizes rather than the post-batching request handed to the
downstream sender. Those histograms are now recorded in the obs report sender.
The previous enqueue-time measurements are preserved under the new
otelcol_exporter_enqueue_sizeandotelcol_exporter_enqueue_size_bytesmetrics forqueue sizing. Users with the exporter batcher enabled will observe different values for
otelcol_exporter_queue_batch_send_size*.otelcol_exporter_queue_batch_send_sizeandotelcol_exporter_queue_batch_send_size_bytesare now only recorded when
sending_queue::batchis configured; they will not appeConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.