Skip to content

Commit

Permalink
Merge branch 'main' into component-logger
Browse files Browse the repository at this point in the history
  • Loading branch information
djaglowski committed Feb 4, 2025
2 parents c8b9393 + fc34c23 commit 39415d7
Show file tree
Hide file tree
Showing 20 changed files with 73 additions and 33 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,8 @@ jobs:
# on macOS: https://go.dev/doc/go1.15
#- goos: darwin
# goarch: 386
- goos: aix
goarch: ppc64
- goos: darwin
goarch: amd64
- goos: darwin
Expand Down
2 changes: 1 addition & 1 deletion cmd/builder/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ require (
go.uber.org/goleak v1.3.0
go.uber.org/multierr v1.11.0
go.uber.org/zap v1.27.0
golang.org/x/mod v0.22.0
golang.org/x/mod v0.23.0
)

require (
Expand Down
4 changes: 2 additions & 2 deletions cmd/builder/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion cmd/builder/internal/builder/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,9 @@ require (
var replaceModules = []string{
"",
"/component",
"/component/componenttest",
"/component/componentattribute",
"/component/componentstatus",
"/component/componenttest",
"/client",
"/config/configauth",
"/config/configcompression",
Expand Down
4 changes: 2 additions & 2 deletions cmd/otelcorecol/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module go.opentelemetry.io/collector/cmd/otelcorecol

go 1.22.0

toolchain go1.23.5
toolchain go1.22.11

require (
go.opentelemetry.io/collector/component v0.119.0
Expand All @@ -31,7 +31,7 @@ require (
go.opentelemetry.io/collector/receiver v0.119.0
go.opentelemetry.io/collector/receiver/nopreceiver v0.119.0
go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0
golang.org/x/sys v0.29.0
golang.org/x/sys v0.30.0
)

require (
Expand Down
4 changes: 2 additions & 2 deletions cmd/otelcorecol/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 0 additions & 8 deletions component/componentattribute/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,4 @@ require (
gopkg.in/yaml.v3 v3.0.1 // indirect
)

replace go.opentelemetry.io/collector/config/configtelemetry => ../../config/configtelemetry

replace go.opentelemetry.io/collector/component => ../

replace go.opentelemetry.io/collector/pdata => ../../pdata

replace go.opentelemetry.io/collector/pipeline => ../../pipeline

replace go.opentelemetry.io/collector/pipeline/xpipeline => ../../pipeline/xpipeline
2 changes: 1 addition & 1 deletion exporter/debugexporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ require (
go.opentelemetry.io/collector/pdata/testdata v0.119.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
golang.org/x/sys v0.29.0
golang.org/x/sys v0.30.0
)

require (
Expand Down
4 changes: 2 additions & 2 deletions exporter/debugexporter/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion otelcol/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ require (
go.uber.org/multierr v1.11.0
go.uber.org/zap v1.27.0
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
golang.org/x/sys v0.29.0
golang.org/x/sys v0.30.0
google.golang.org/grpc v1.70.0
gopkg.in/yaml.v3 v3.0.1
)
Expand Down
4 changes: 2 additions & 2 deletions otelcol/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion otelcol/otelcoltest/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ require (
go.uber.org/zap v1.27.0 // indirect
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
golang.org/x/net v0.34.0 // indirect
golang.org/x/sys v0.29.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/text v0.21.0 // indirect
gonum.org/v1/gonum v0.15.1 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect
Expand Down
4 changes: 2 additions & 2 deletions otelcol/otelcoltest/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions processor/memorylimiterprocessor/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ func (f *factory) getMemoryLimiter(set processor.Settings, cfg component.Config)
componentattribute.PipelineIDKey,
componentattribute.ComponentIDKey,
)
set.Logger.Debug("created singleton logger")
}

memLimiter, err := newMemoryLimiterProcessor(set, cfg.(*Config))
Expand Down
30 changes: 27 additions & 3 deletions processor/memorylimiterprocessor/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,17 @@ import (

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"go.uber.org/zap/zaptest/observer"

"go.opentelemetry.io/collector/component/componentattribute"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.opentelemetry.io/collector/internal/memorylimiter"
"go.opentelemetry.io/collector/pipeline"
"go.opentelemetry.io/collector/processor/processortest"
"go.opentelemetry.io/otel/attribute"
)

func TestCreateDefaultConfig(t *testing.T) {
Expand All @@ -38,19 +44,28 @@ func TestCreateProcessor(t *testing.T) {
pCfg.MemorySpikeLimitMiB = 1907
pCfg.CheckInterval = 100 * time.Millisecond

tp, err := factory.CreateTraces(context.Background(), processortest.NewNopSettings(), cfg, consumertest.NewNop())
core, observer := observer.New(zapcore.DebugLevel)
attrs := attribute.NewSet(
attribute.String(componentattribute.SignalKey, pipeline.SignalLogs.String()),
attribute.String(componentattribute.ComponentIDKey, "memorylimiter"),
attribute.String(componentattribute.PipelineIDKey, "logs/foo"),
)
set := processortest.NewNopSettings()
set.Logger = componentattribute.NewLogger(zap.New(core), &attrs)

tp, err := factory.CreateTraces(context.Background(), set, cfg, consumertest.NewNop())
require.NoError(t, err)
assert.NotNil(t, tp)
// test if we can shutdown a monitoring routine that has not started
require.ErrorIs(t, tp.Shutdown(context.Background()), memorylimiter.ErrShutdownNotStarted)
require.NoError(t, tp.Start(context.Background(), componenttest.NewNopHost()))

mp, err := factory.CreateMetrics(context.Background(), processortest.NewNopSettings(), cfg, consumertest.NewNop())
mp, err := factory.CreateMetrics(context.Background(), set, cfg, consumertest.NewNop())
require.NoError(t, err)
assert.NotNil(t, mp)
require.NoError(t, mp.Start(context.Background(), componenttest.NewNopHost()))

lp, err := factory.CreateLogs(context.Background(), processortest.NewNopSettings(), cfg, consumertest.NewNop())
lp, err := factory.CreateLogs(context.Background(), set, cfg, consumertest.NewNop())
require.NoError(t, err)
assert.NotNil(t, lp)
assert.NoError(t, lp.Start(context.Background(), componenttest.NewNopHost()))
Expand All @@ -66,4 +81,13 @@ func TestCreateProcessor(t *testing.T) {
assert.NoError(t, lp.Shutdown(context.Background()))
// calling it again should throw an error
assert.ErrorIs(t, lp.Shutdown(context.Background()), memorylimiter.ErrShutdownNotStarted)

var createLoggerCount int
for _, log := range observer.All() {
if log.Message == "created singleton logger" {
createLoggerCount++
assert.Len(t, observer.All()[0].Context, 0)
}
}
assert.Equal(t, 1, createLoggerCount)
}
2 changes: 0 additions & 2 deletions processor/memorylimiterprocessor/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -106,5 +106,3 @@ replace go.opentelemetry.io/collector/internal/memorylimiter => ../../internal/m
replace go.opentelemetry.io/collector/consumer/consumererror => ../../consumer/consumererror

replace go.opentelemetry.io/collector/component/componentattribute => ../../component/componentattribute

replace go.opentelemetry.io/collector/pipeline/xpipeline => ../../pipeline/xpipeline
22 changes: 22 additions & 0 deletions receiver/otlpreceiver/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,12 @@ import (

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/attribute"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"go.uber.org/zap/zaptest/observer"

"go.opentelemetry.io/collector/component/componentattribute"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config/configgrpc"
"go.opentelemetry.io/collector/config/confighttp"
Expand All @@ -35,7 +40,13 @@ func TestCreateSameReceiver(t *testing.T) {
cfg.GRPC.NetAddr.Endpoint = testutil.GetAvailableLocalAddress(t)
cfg.HTTP.Endpoint = testutil.GetAvailableLocalAddress(t)

core, observer := observer.New(zapcore.DebugLevel)
attrs := attribute.NewSet(
attribute.String(componentattribute.SignalKey, "traces"), // should be removed
attribute.String(componentattribute.ComponentIDKey, "otlp"),
)
creationSet := receivertest.NewNopSettings()
creationSet.Logger = componentattribute.NewLogger(zap.New(core), &attrs)
tReceiver, err := factory.CreateTraces(context.Background(), creationSet, cfg, consumertest.NewNop())
assert.NotNil(t, tReceiver)
require.NoError(t, err)
Expand All @@ -55,6 +66,17 @@ func TestCreateSameReceiver(t *testing.T) {
assert.Same(t, tReceiver, mReceiver)
assert.Same(t, tReceiver, lReceiver)
assert.Same(t, tReceiver, pReceiver)

var createLoggerCount int
for _, log := range observer.All() {
if log.Message == "created signal-agnostic logger" {
createLoggerCount++
require.Len(t, log.Context, 1)
assert.Equal(t, componentattribute.ComponentIDKey, log.Context[0].Key)
assert.Equal(t, "otlp", log.Context[0].String)
}
}
assert.Equal(t, 1, createLoggerCount)
}

func TestCreateTraces(t *testing.T) {
Expand Down
2 changes: 0 additions & 2 deletions receiver/otlpreceiver/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -142,5 +142,3 @@ retract (
)

replace go.opentelemetry.io/collector/extension/auth/authtest => ../../extension/auth/authtest

replace go.opentelemetry.io/collector/pipeline/xpipeline => ../../pipeline/xpipeline
1 change: 1 addition & 0 deletions receiver/otlpreceiver/otlp.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ type otlpReceiver struct {
func newOtlpReceiver(cfg *Config, set *receiver.Settings) (*otlpReceiver, error) {
if c, ok := set.Logger.Core().(*componentattribute.Core); ok {
set.Logger = c.Without(componentattribute.SignalKey)
set.Logger.Debug("created signal-agnostic logger")
}
r := &otlpReceiver{
cfg: cfg,
Expand Down
3 changes: 2 additions & 1 deletion versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ module-sets:
- go.opentelemetry.io/collector/cmd/builder
- go.opentelemetry.io/collector/cmd/mdatagen
- go.opentelemetry.io/collector/component
- go.opentelemetry.io/collector/component/componenttest
- go.opentelemetry.io/collector/component/componentattribute
- go.opentelemetry.io/collector/component/componentstatus
- go.opentelemetry.io/collector/component/componenttest
- go.opentelemetry.io/collector/config/configauth
- go.opentelemetry.io/collector/config/configgrpc
- go.opentelemetry.io/collector/config/confighttp
Expand Down

0 comments on commit 39415d7

Please sign in to comment.