From a11d167e1f1db4f526b8dd140a61e59d5df8d9e7 Mon Sep 17 00:00:00 2001 From: Shaun Remekie Date: Fri, 14 Jul 2023 12:43:03 +0200 Subject: [PATCH 1/3] added initial syncmetadata call and error on initial call --- .../ecs-ec2/ecsattributesprocessor/docker.go | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/otel-agent/ecs-ec2/ecsattributesprocessor/docker.go b/otel-agent/ecs-ec2/ecsattributesprocessor/docker.go index 46d943c4..133238ef 100644 --- a/otel-agent/ecs-ec2/ecsattributesprocessor/docker.go +++ b/otel-agent/ecs-ec2/ecsattributesprocessor/docker.go @@ -77,7 +77,13 @@ func (m *metadataHandler) syncMetadata(ctx context.Context, endpoints map[string func (m *metadataHandler) start() error { cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) if err != nil { - m.logger.Sugar().Errorf("failed to intial docker API client: %ss", err) + m.logger.Sugar().Errorf("failed to intial docker API client: %w", err) + return err + } + + // initial sync + if err := syncMetadata(context.Background(), m); err != nil { + m.logger.Sugar().Errorf("failed to sync metadata: %w", err) return err } @@ -90,12 +96,18 @@ func (m *metadataHandler) start() error { for { select { case <-ticker.C: - syncMetadata(ctx, m) + if err := syncMetadata(ctx, m); err != nil { + m.logger.Sugar().Errorf("failed to sync metadata: %w", err) + } case event := <-dockerEvents: - if event.Type == events.ContainerEventType && event.Action == "create" { - m.logger.Debug("new container id detected, re-syncing metadata", zap.String("id", event.ID)) - syncMetadata(ctx, m) + if !(event.Type == events.ContainerEventType && event.Action == "create") { + continue + } + + m.logger.Debug("new container id detected, re-syncing metadata", zap.String("id", event.ID)) + if err := syncMetadata(ctx, m); err != nil { + m.logger.Sugar().Errorf("failed to sync metadata: %w", err) } case err := <-errors: @@ -168,19 +180,19 @@ func getEndpoints(ctx context.Context) (map[string][]string, error) { return m, nil } -func syncMetadata(ctx context.Context, m *metadataHandler) { +func syncMetadata(ctx context.Context, m *metadataHandler) error { endpoints, err := m.endpoints(ctx) if err != nil { - m.logger.Sugar().Errorf("failed to fetch metadata endpoints: %w", err) - return + return fmt.Errorf("failed to fetch metadata endpoints: %w", err) } m.Lock() m.logger.Debug("updating endpoints", zap.String("processor", metadata.Type)) if err := m.syncMetadata(ctx, endpoints); err != nil { - m.logger.Sugar().Errorf("%s failed to update metadata endpoints: %w", metadata.Type, err) + return fmt.Errorf("%s failed to update metadata endpoints: %w", metadata.Type, err) } m.Unlock() m.logger.Debug("number of containers with detected metadata endpoints", zap.Int("count", len(endpoints))) + return nil } From f281033fa0966d26c8ba68a04c69bb599bd1388b Mon Sep 17 00:00:00 2001 From: Shaun Remekie Date: Fri, 14 Jul 2023 16:06:50 +0200 Subject: [PATCH 2/3] changelog --- otel-agent/ecs-ec2/CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/otel-agent/ecs-ec2/CHANGELOG.md b/otel-agent/ecs-ec2/CHANGELOG.md index 944aa1ef..cd6b7093 100644 --- a/otel-agent/ecs-ec2/CHANGELOG.md +++ b/otel-agent/ecs-ec2/CHANGELOG.md @@ -2,6 +2,9 @@ ## OpenTelemtry-Agent +### v0.0.28 / 2023-07-14 +* [FIX] fixed issue with ecsattributes processor not initialising correctly + ### v0.0.28 / 2023-07-05 * [UPGRADE] coralogixrepo/otel-coralogix-ecs-ec2 container version updated to 0.80.0 * [UPGRADE] added custom ecsattributes processor to the container From d6053db7be21b5c4f25140298e5fc8da6d545dc4 Mon Sep 17 00:00:00 2001 From: Shaun Remekie Date: Mon, 17 Jul 2023 13:02:22 +0200 Subject: [PATCH 3/3] Update otel-agent/ecs-ec2/CHANGELOG.md Co-authored-by: Povilas Versockas --- otel-agent/ecs-ec2/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/otel-agent/ecs-ec2/CHANGELOG.md b/otel-agent/ecs-ec2/CHANGELOG.md index cd6b7093..84fac326 100644 --- a/otel-agent/ecs-ec2/CHANGELOG.md +++ b/otel-agent/ecs-ec2/CHANGELOG.md @@ -2,7 +2,7 @@ ## OpenTelemtry-Agent -### v0.0.28 / 2023-07-14 +### v0.0.29 / 2023-07-14 * [FIX] fixed issue with ecsattributes processor not initialising correctly ### v0.0.28 / 2023-07-05