Skip to content

Commit 4f2f416

Browse files
authored
[exporter/datadog] Set Capabilities on metrics exporter (#24979)
**Description:** Correctly set `MutatesData` to `true` on the Datadog metrics exporter. This was leading to panics when using multiple exporters. **Link to tracking Issue:** Fixes #24908
1 parent 46849dd commit 4f2f416

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

.chloggen/mx-psi_fix-panics.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: bug_fix
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
7+
component: datadogexporter
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Correctly set metrics exporter capabilities to state that it mutates data
11+
12+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
13+
issues: [24908]
14+
15+
# (Optional) One or more lines of additional information to render under the primary note.
16+
# These lines will be padded with 2 spaces and then inserted directly into the document.
17+
# Use pipe (|) for multiline entries.
18+
subtext: |
19+
This could lead to random panics if using more than one metrics exporter.
20+
21+
# If your change doesn't affect end users or the exported elements of any package,
22+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
23+
# Optional: The change log or logs in which this entry should be included.
24+
# e.g. '[user]' or '[user, api]'
25+
# Include 'user' if the change is relevant to end users.
26+
# Include 'api' if there is a change to a library API.
27+
# Default: '[user]'
28+
change_logs: []

exporter/datadogexporter/factory.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,8 @@ func (f *factory) createMetricsExporter(
275275
exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0 * time.Second}),
276276
// We use our own custom mechanism for retries, since we hit several endpoints.
277277
exporterhelper.WithRetry(exporterhelper.RetrySettings{Enabled: false}),
278+
// The metrics remapping code mutates data
279+
exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: true}),
278280
exporterhelper.WithQueue(cfg.QueueSettings),
279281
exporterhelper.WithShutdown(func(context.Context) error {
280282
cancel()

0 commit comments

Comments
 (0)