Skip to content

Commit c95103d

Browse files
authored
[processor/resourcedetection] Fix docker detector (#24281)
After migrating the detection processor to the new config interface, the docker detector stopped setting any attributes Fixes #24280
1 parent 21d8dd0 commit c95103d

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Use this changelog template to create an entry for release notes.
2+
# If your change doesn't affect end users, such as a test fix or a tooling change,
3+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
4+
5+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
6+
change_type: bug_fix
7+
8+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
9+
component: processor/resourcedetection
10+
11+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
12+
note: Fix docker detector not setting any attributes.
13+
14+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
15+
issues: [24280]

processor/resourcedetectionprocessor/internal/docker/docker.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,17 @@ type Detector struct {
3232
}
3333

3434
// NewDetector creates a new system metadata detector
35-
func NewDetector(p processor.CreateSettings, _ internal.DetectorConfig) (internal.Detector, error) {
35+
func NewDetector(p processor.CreateSettings, cfg internal.DetectorConfig) (internal.Detector, error) {
3636
dockerProvider, err := docker.NewProvider()
3737
if err != nil {
3838
return nil, fmt.Errorf("failed creating detector: %w", err)
3939
}
4040

41-
return &Detector{provider: dockerProvider, logger: p.Logger}, nil
41+
return &Detector{
42+
provider: dockerProvider,
43+
logger: p.Logger,
44+
resourceAttributes: cfg.(Config).ResourceAttributes,
45+
}, nil
4246
}
4347

4448
// Detect detects system metadata and returns a resource with the available ones

processor/resourcedetectionprocessor/internal/docker/docker_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import (
1010
"github.com/stretchr/testify/assert"
1111
"github.com/stretchr/testify/mock"
1212
"github.com/stretchr/testify/require"
13+
"go.opentelemetry.io/collector/processor/processortest"
1314
conventions "go.opentelemetry.io/collector/semconv/v1.6.1"
14-
"go.uber.org/zap"
1515

1616
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders/docker"
1717
)
@@ -37,8 +37,9 @@ func TestDetect(t *testing.T) {
3737
md.On("Hostname").Return("hostname", nil)
3838
md.On("OSType").Return("darwin", nil)
3939

40-
dcfg := CreateDefaultConfig()
41-
detector := &Detector{provider: md, logger: zap.NewNop(), resourceAttributes: dcfg.ResourceAttributes}
40+
detector, err := NewDetector(processortest.NewNopCreateSettings(), CreateDefaultConfig())
41+
require.NoError(t, err)
42+
detector.(*Detector).provider = md
4243
res, schemaURL, err := detector.Detect(context.Background())
4344
require.NoError(t, err)
4445
assert.Equal(t, conventions.SchemaURL, schemaURL)

0 commit comments

Comments
 (0)