Skip to content

Commit 86aa8bf

Browse files
Merge branch 'main' into add-splunk-rolling-restart-metric
2 parents a2fcf65 + b27ccc6 commit 86aa8bf

25 files changed

+457
-437
lines changed

.chloggen/azureauth-alpha.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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: enhancement
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
7+
component: azureauthextension
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Update stability to alpha.
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: [39574]
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+
20+
# If your change doesn't affect end users or the exported elements of any package,
21+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
22+
# Optional: The change log or logs in which this entry should be included.
23+
# e.g. '[user]' or '[user, api]'
24+
# Include 'user' if the change is relevant to end users.
25+
# Include 'api' if there is a change to a library API.
26+
# Default: '[user]'
27+
change_logs: []
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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: breaking
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
7+
component: receiver/kubeletstats
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Move receiver.kubeletstats.enableCPUUsageMetrics feature gate to beta
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: [39487]
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+
Deprecated metrics `container.cpu.utilization`, `k8s.pod.cpu.utilization` and `k8s.node.cpu.utilization` are being replaced
20+
by `container.cpu.usage`, `k8s.pod.cpu.usage` and `k8s.node.cpu.usage`.
21+
To be able to use the deprecated metrics, switch `receiver.kubeletstats.enableCPUUsageMetrics` feature gate to `false`.
22+
23+
# If your change doesn't affect end users or the exported elements of any package,
24+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
25+
# Optional: The change log or logs in which this entry should be included.
26+
# e.g. '[user]' or '[user, api]'
27+
# Include 'user' if the change is relevant to end users.
28+
# Include 'api' if there is a change to a library API.
29+
# Default: '[user]'
30+
change_logs: []

cmd/otelcontribcol/builder-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ extensions:
1818
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension v0.124.1
1919
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension v0.124.1
2020
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.124.1
21+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/azureauthextension v0.124.1
2122
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.124.1
2223
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.124.1
2324
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension v0.124.1

extension/azureauthextension/README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
<!-- status autogenerated section -->
33
| Status | |
44
| ------------- |-----------|
5-
| Stability | [development] |
6-
| Distributions | [] |
5+
| Stability | [alpha] |
6+
| Distributions | [contrib] |
77
| Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fazureauth%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fazureauth) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fazureauth%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fazureauth) |
88
| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@constanca-m](https://www.github.com/constanca-m) |
99

10-
[development]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#development
10+
[alpha]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#alpha
11+
[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib
1112
<!-- end autogenerated section -->
1213

1314
This extension implements both `extensionauth.HTTPClient` and `extensionauth.Server`, so it can be used in both exporters and receivers.

extension/azureauthextension/internal/metadata/generated_status.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extension/azureauthextension/metadata.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ type: azureauth
33
status:
44
class: extension
55
stability:
6-
development: [extension]
6+
alpha: [extension]
77
codeowners:
88
active: [constanca-m]
9+
distributions: [contrib]

processor/datadogsemanticsprocessor/processor.go

Lines changed: 38 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import (
1616
semconv "go.opentelemetry.io/collector/semconv/v1.27.0"
1717
)
1818

19-
func insertAttrIfMissing(sattr pcommon.Map, key string, value any) (err error) {
20-
if _, ok := sattr.Get(key); !ok {
19+
func (tp *tracesProcessor) insertAttrIfMissingOrShouldOverride(sattr pcommon.Map, key string, value any) (err error) {
20+
if _, ok := sattr.Get(key); tp.overrideIncomingDatadogFields || !ok {
2121
switch v := value.(type) {
2222
case string:
2323
sattr.PutStr(key, v)
@@ -37,74 +37,73 @@ func (tp *tracesProcessor) processTraces(ctx context.Context, td ptrace.Traces)
3737
otelres := rspan.Resource()
3838
rattr := otelres.Attributes()
3939
for j := 0; j < rspan.ScopeSpans().Len(); j++ {
40-
libspans := rspan.ScopeSpans().At(j)
41-
for k := 0; k < libspans.Spans().Len(); k++ {
42-
otelspan := libspans.Spans().At(k)
43-
sattr := otelspan.Attributes()
44-
if tp.overrideIncomingDatadogFields {
45-
sattr.RemoveIf(func(k string, _ pcommon.Value) bool {
46-
return strings.HasPrefix(k, "datadog.")
47-
})
48-
if ddHostname, ok := rattr.Get("datadog.host.name"); ok && ddHostname.AsString() == "" {
49-
rattr.Remove("datadog.host.name")
50-
}
51-
}
52-
if err = insertAttrIfMissing(sattr, "datadog.service", traceutil.GetOTelService(otelres, true)); err != nil {
40+
if service := traceutil.GetOTelService(otelres, true); service != "" {
41+
if err = tp.insertAttrIfMissingOrShouldOverride(rattr, "datadog.service", service); err != nil {
5342
return ptrace.Traces{}, err
5443
}
55-
if err = insertAttrIfMissing(sattr, "datadog.name", traceutil.GetOTelOperationNameV2(otelspan)); err != nil {
44+
}
45+
if serviceVersion, ok := otelres.Attributes().Get(semconv.AttributeServiceVersion); ok {
46+
if err = tp.insertAttrIfMissingOrShouldOverride(rattr, "datadog.version", serviceVersion.AsString()); err != nil {
5647
return ptrace.Traces{}, err
5748
}
58-
if err = insertAttrIfMissing(sattr, "datadog.resource", traceutil.GetOTelResourceV2(otelspan, otelres)); err != nil {
49+
}
50+
if env := traceutil.GetOTelEnv(otelres); env != "" {
51+
if err = tp.insertAttrIfMissingOrShouldOverride(rattr, "datadog.env", env); err != nil {
5952
return ptrace.Traces{}, err
6053
}
61-
if err = insertAttrIfMissing(sattr, "datadog.type", traceutil.GetOTelSpanType(otelspan, otelres)); err != nil {
54+
}
55+
56+
if tp.overrideIncomingDatadogFields {
57+
rattr.Remove("datadog.host.name")
58+
}
59+
60+
if src, ok := tp.attrsTranslator.ResourceToSource(ctx, otelres, traceutil.SignalTypeSet, nil); ok && src.Kind == source.HostnameKind {
61+
if err = tp.insertAttrIfMissingOrShouldOverride(rattr, "datadog.host.name", src.Identifier); err != nil {
6262
return ptrace.Traces{}, err
6363
}
64-
if src, ok := tp.attrsTranslator.ResourceToSource(ctx, otelres, traceutil.SignalTypeSet, nil); ok && src.Kind == source.HostnameKind {
65-
if err = insertAttrIfMissing(otelres.Attributes(), "datadog.host.name", src.Identifier); err != nil {
66-
return ptrace.Traces{}, err
67-
}
68-
}
64+
}
6965

70-
spanKind := otelspan.Kind()
71-
if err = insertAttrIfMissing(sattr, "datadog.span.kind", traceutil.OTelSpanKindName(spanKind)); err != nil {
66+
libspans := rspan.ScopeSpans().At(j)
67+
for k := 0; k < libspans.Spans().Len(); k++ {
68+
otelspan := libspans.Spans().At(k)
69+
sattr := otelspan.Attributes()
70+
71+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.name", traceutil.GetOTelOperationNameV2(otelspan)); err != nil {
7272
return ptrace.Traces{}, err
7373
}
74-
if env := traceutil.GetOTelEnv(otelres); env != "" {
75-
if err = insertAttrIfMissing(sattr, "datadog.env", env); err != nil {
76-
return ptrace.Traces{}, err
77-
}
74+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.resource", traceutil.GetOTelResourceV2(otelspan, otelres)); err != nil {
75+
return ptrace.Traces{}, err
7876
}
79-
if serviceVersion, ok := otelres.Attributes().Get(semconv.AttributeServiceVersion); ok {
80-
if err = insertAttrIfMissing(sattr, "datadog.version", serviceVersion.AsString()); err != nil {
81-
return ptrace.Traces{}, err
82-
}
77+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.type", traceutil.GetOTelSpanType(otelspan, otelres)); err != nil {
78+
return ptrace.Traces{}, err
79+
}
80+
spanKind := otelspan.Kind()
81+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.span.kind", traceutil.OTelSpanKindName(spanKind)); err != nil {
82+
return ptrace.Traces{}, err
8383
}
84-
8584
metaMap := make(map[string]string)
8685
code := traceutil.GetOTelStatusCode(otelspan)
8786
if code != 0 {
88-
if err = insertAttrIfMissing(sattr, "datadog.http_status_code", fmt.Sprintf("%d", code)); err != nil {
87+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.http_status_code", fmt.Sprintf("%d", code)); err != nil {
8988
return ptrace.Traces{}, err
9089
}
9190
}
9291
ddError := int64(status2Error(otelspan.Status(), otelspan.Events(), metaMap))
93-
if err = insertAttrIfMissing(sattr, "datadog.error", ddError); err != nil {
92+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.error", ddError); err != nil {
9493
return ptrace.Traces{}, err
9594
}
9695
if metaMap["error.msg"] != "" {
97-
if err = insertAttrIfMissing(sattr, "datadog.error.msg", metaMap["error.msg"]); err != nil {
96+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.error.msg", metaMap["error.msg"]); err != nil {
9897
return ptrace.Traces{}, err
9998
}
10099
}
101100
if metaMap["error.type"] != "" {
102-
if err = insertAttrIfMissing(sattr, "datadog.error.type", metaMap["error.type"]); err != nil {
101+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.error.type", metaMap["error.type"]); err != nil {
103102
return ptrace.Traces{}, err
104103
}
105104
}
106105
if metaMap["error.stack"] != "" {
107-
if err = insertAttrIfMissing(sattr, "datadog.error.stack", metaMap["error.stack"]); err != nil {
106+
if err = tp.insertAttrIfMissingOrShouldOverride(sattr, "datadog.error.stack", metaMap["error.stack"]); err != nil {
108107
return ptrace.Traces{}, err
109108
}
110109
}

0 commit comments

Comments
 (0)