Skip to content

Otel bump v0.115.0 -> v0.124.1 #1694

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
da1ac84
go mod tidy fails
Paramadon May 9, 2025
a6c0bb6
Otel bump v0.115.0 -> v0.124.1
Paramadon May 19, 2025
66a74d0
Merge branch 'main' into paramadon/otel-bump-0.124.1
Paramadon May 19, 2025
95a032e
Updating agent to latest version of otel contrib
Paramadon May 20, 2025
ca0c949
bumping otel version
Paramadon May 20, 2025
b41cd67
adding back arm
Paramadon May 20, 2025
a5c2769
fixing make
Paramadon May 20, 2025
5089178
Merge branch 'main' of github.com:aws/amazon-cloudwatch-agent into pa…
Paramadon May 21, 2025
d41a4fa
fixing prometheus factory and awsutil
Paramadon May 22, 2025
0f1eb01
Final otel bump change
Paramadon May 23, 2025
2a2d5c4
pulling from main
Paramadon May 29, 2025
4dfdb62
fixing ling
Paramadon May 30, 2025
34b0ac9
tyring to fix ling
Paramadon May 30, 2025
2d61a0a
fixing ling
Paramadon May 30, 2025
e526303
Fixing translator
Paramadon May 30, 2025
bfeb573
commenting out overwrite
Paramadon May 30, 2025
10bc9e9
regenerating windows yaml
Paramadon May 30, 2025
4b5866f
trying to fix yaml
Paramadon May 30, 2025
9bbea28
attempting to fix windows issue
Paramadon May 30, 2025
3f69d87
fixing windows test
Paramadon Jun 1, 2025
feb5161
fixing windows test
Paramadon Jun 1, 2025
6e3bdcf
Testing framework
Paramadon Jun 2, 2025
6293423
Merge branch 'main' of github.com:aws/amazon-cloudwatch-agent into pa…
Paramadon Jun 2, 2025
596c49e
Updating agent go mod
Paramadon Jun 2, 2025
63f4592
Merge branch 'main' into paramadon/otel-bump-0.124.1
Paramadon Jun 5, 2025
10b161b
resovling comments
Paramadon Jun 6, 2025
bea31b5
Merge branch 'paramadon/otel-bump-0.124.1' of github.com:aws/amazon-c…
Paramadon Jun 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion extension/agenthealth/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/confmap/confmaptest"
"go.opentelemetry.io/collector/confmap/xconfmap"

"github.com/aws/amazon-cloudwatch-agent/extension/agenthealth/handler/stats/agent"
)
Expand Down Expand Up @@ -41,7 +42,7 @@ func TestLoadConfig(t *testing.T) {
require.NoError(t, err)
require.NoError(t, sub.Unmarshal(cfg))

assert.NoError(t, component.ValidateConfig(cfg))
assert.NoError(t, xconfmap.Validate(cfg))
assert.Equal(t, testCase.want, cfg)
}
}
3 changes: 2 additions & 1 deletion extension/agenthealth/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/extension/extensiontest"
)
Expand All @@ -20,7 +21,7 @@ func TestCreateDefaultConfig(t *testing.T) {

func TestCreate(t *testing.T) {
cfg := &Config{}
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(), cfg)
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(component.MustNewType("agenthealth")), cfg)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Couldn't we just use the TypeStr already defined in the factory? https://github.com/aws/amazon-cloudwatch-agent/blob/main/extension/agenthealth/factory.go#L14

Suggested change
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(component.MustNewType("agenthealth")), cfg)
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(TypeStr)), cfg)

assert.NoError(t, err)
assert.NotNil(t, got)
}
3 changes: 2 additions & 1 deletion extension/entitystore/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/extension/extensiontest"
)
Expand All @@ -20,7 +21,7 @@ func TestCreateDefaultConfig(t *testing.T) {

func TestCreate(t *testing.T) {
cfg := &Config{}
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(), cfg)
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(component.MustNewType("entitystore")), cfg)
assert.NoError(t, err)
assert.NotNil(t, got)
}
3 changes: 2 additions & 1 deletion extension/k8smetadata/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/extension/extensiontest"
)
Expand All @@ -20,7 +21,7 @@ func TestCreateDefaultConfig(t *testing.T) {

func TestCreate(t *testing.T) {
cfg := &Config{}
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(), cfg)
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(component.MustNewType("k8smetadata")), cfg)
assert.NoError(t, err)
assert.NotNil(t, got)
}
5 changes: 3 additions & 2 deletions extension/server/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/extension/extensiontest"
)
Expand All @@ -20,7 +21,7 @@ func TestCreateDefaultConfig(t *testing.T) {

func TestCreateExtension(t *testing.T) {
cfg := &Config{}
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(), cfg)
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(component.MustNewType("server")), cfg)
assert.NoError(t, err)
assert.NotNil(t, got)
}
Expand All @@ -29,7 +30,7 @@ func TestCreateWithConfig(t *testing.T) {
cfg := &Config{ListenAddress: ":8080", TLSCertPath: "./testdata/example-server-cert.pem",
TLSKeyPath: "./testdata/example-server-key.pem",
TLSCAPath: "./testdata/example-CA-cert.pem"}
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(), cfg)
got, err := NewFactory().Create(context.Background(), extensiontest.NewNopSettings(component.MustNewType("server")), cfg)
assert.NoError(t, err)
assert.NotNil(t, got)
}
602 changes: 314 additions & 288 deletions go.mod

Large diffs are not rendered by default.

1,219 changes: 639 additions & 580 deletions go.sum

Large diffs are not rendered by default.

19 changes: 14 additions & 5 deletions plugins/inputs/prometheus/metrics_receiver.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,21 @@ type metricAppender struct {
batch PrometheusMetricBatch
}

func (m *metricAppender) AppendCTZeroSample(storage.SeriesRef, labels.Labels, int64, int64) (storage.SeriesRef, error) {
func (ma *metricAppender) AppendCTZeroSample(storage.SeriesRef, labels.Labels, int64, int64) (storage.SeriesRef, error) {
// TODO: implement this func
return 0, nil
}

func (mr *metricsReceiver) Appender(ctx context.Context) storage.Appender {
func (ma *metricAppender) SetOptions(_ *storage.AppendOptions) {
// Implement if needed, or leave empty if no special handling is required
}

func (ma *metricAppender) AppendHistogramCTZeroSample(_ storage.SeriesRef, _ labels.Labels, _ int64, _ int64, _ *histogram.Histogram, _ *histogram.FloatHistogram) (storage.SeriesRef, error) {
// Implement basic handling or return nil if not needed
return 0, nil
}

func (mr *metricsReceiver) Appender(_ context.Context) storage.Appender {
return &metricAppender{receiver: mr, batch: PrometheusMetricBatch{}}
}

Expand All @@ -66,7 +75,7 @@ func (mr *metricsReceiver) feed(batch PrometheusMetricBatch) error {
return nil
}

func (ma *metricAppender) Append(ref storage.SeriesRef, ls labels.Labels, t int64, v float64) (storage.SeriesRef, error) {
func (ma *metricAppender) Append(_ storage.SeriesRef, ls labels.Labels, t int64, v float64) (storage.SeriesRef, error) {
metricName := ""

labelMap := make(map[string]string, len(ls))
Expand Down Expand Up @@ -118,12 +127,12 @@ func (ma *metricAppender) AppendExemplar(ref storage.SeriesRef, l labels.Labels,
return 0, nil
}

func (ma *metricAppender) UpdateMetadata(ref storage.SeriesRef, l labels.Labels, m metadata.Metadata) (storage.SeriesRef, error) {
func (ma *metricAppender) UpdateMetadata(ref storage.SeriesRef, _ labels.Labels, _ metadata.Metadata) (storage.SeriesRef, error) {
// This code should no longer be used
return ref, nil
}

func (ma *metricAppender) AppendHistogram(ref storage.SeriesRef, l labels.Labels, t int64, h *histogram.Histogram, fh *histogram.FloatHistogram) (storage.SeriesRef, error) {
func (ma *metricAppender) AppendHistogram(ref storage.SeriesRef, _ labels.Labels, _ int64, _ *histogram.Histogram, _ *histogram.FloatHistogram) (storage.SeriesRef, error) {
// This code should no longer be used
return ref, nil
}
88 changes: 65 additions & 23 deletions plugins/inputs/prometheus/metrics_receiver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,17 @@
package prometheus

import (
"log/slog"
"os"
"path/filepath"
"testing"

kitlog "github.com/go-kit/log"
"github.com/prometheus/common/promlog"
"github.com/prometheus/common/promslog"
"github.com/prometheus/prometheus/config"
"github.com/prometheus/prometheus/model/labels"
"github.com/prometheus/prometheus/storage"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func Test_metricAppender_Add_BadMetricName(t *testing.T) {
Expand Down Expand Up @@ -119,53 +120,94 @@ func Test_metricAppender_Commit(t *testing.T) {
func Test_loadConfigFromFileWithTargetAllocator(t *testing.T) {
os.Setenv("POD_NAME", "collector-1")
defer os.Unsetenv("POD_NAME")

configFile := filepath.Join("testdata", "target_allocator.yaml")
logger := kitlog.NewLogfmtLogger(os.Stdout)
logLevel := promlog.AllowedLevel{}
logLevel.Set("DEBUG")

logLevel := &promslog.AllowedLevel{}
err := logLevel.Set("info")
require.NoError(t, err)

logger := slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
Level: slog.LevelInfo,
}))

var reloadHandler = func(cfg *config.Config) error {
logger.Log("reloaded")
logger.Info("reloaded")
return nil
}
taManager := createTargetAllocatorManager(configFile, logger, &logLevel, nil, nil)
err := reloadConfig(configFile, logger, taManager, reloadHandler)

taManager := createTargetAllocatorManager(configFile, logger, logLevel, nil, nil)
err = reloadConfig(configFile, logger, taManager, reloadHandler)

assert.NoError(t, err)
assert.True(t, taManager.enabled)
assert.Equal(t, taManager.config.TargetAllocator.CollectorID, "collector-1")
assert.Equal(t, taManager.config.TargetAllocator.TLSSetting.CAFile, DEFAULT_TLS_CA_FILE_PATH)

}

func Test_loadConfigFromFileWithoutTargetAllocator(t *testing.T) {
os.Setenv("POD_NAME", "collector-1")
defer os.Unsetenv("POD_NAME")

configFile := filepath.Join("testdata", "base-k8.yaml")
logLevel := promlog.AllowedLevel{}
logLevel.Set("DEBUG")
logger := kitlog.NewLogfmtLogger(os.Stdout)

// Create logger configuration
logLevel := &promslog.AllowedLevel{}
err := logLevel.Set("debug")
require.NoError(t, err)

format := &promslog.AllowedFormat{}
err = format.Set("logfmt")
require.NoError(t, err)

logConfig := &promslog.Config{
Level: logLevel,
Format: format,
Style: promslog.SlogStyle,
Writer: os.Stdout,
}
logger := promslog.New(logConfig)

var reloadHandler = func(cfg *config.Config) error {
logger.Log("reloaded")
logger.Info("reloaded")
return nil
}
taManager := createTargetAllocatorManager(configFile, logger, &logLevel, nil, nil)
err := reloadConfig(configFile, logger, taManager, reloadHandler)

taManager := createTargetAllocatorManager(configFile, logger, logLevel, nil, nil)
err = reloadConfig(configFile, logger, taManager, reloadHandler)

assert.NoError(t, err)
assert.False(t, taManager.enabled)

}

func Test_loadConfigFromFileEC2(t *testing.T) {
configFile := filepath.Join("testdata", "base-k8.yaml")
logger := kitlog.NewLogfmtLogger(os.Stdout)
logLevel := promlog.AllowedLevel{}
logLevel.Set("DEBUG")

// Create logger configuration
logLevel := &promslog.AllowedLevel{}
err := logLevel.Set("debug")
require.NoError(t, err)

format := &promslog.AllowedFormat{}
err = format.Set("logfmt")
require.NoError(t, err)

logConfig := &promslog.Config{
Level: logLevel,
Format: format,
Style: promslog.SlogStyle,
Writer: os.Stdout,
}
logger := promslog.New(logConfig)

var reloadHandler = func(cfg *config.Config) error {
logger.Log("reloaded")
logger.Info("reloaded")
return nil
}

taManager := createTargetAllocatorManager(configFile, logger, &logLevel, nil, nil)
err := reloadConfig(configFile, logger, taManager, reloadHandler)
taManager := createTargetAllocatorManager(configFile, logger, logLevel, nil, nil)
err = reloadConfig(configFile, logger, taManager, reloadHandler)

assert.NoError(t, err)
assert.False(t, taManager.enabled)

}
Loading
Loading