Skip to content

Commit 5639962

Browse files
jpkrohlingsbylica-splunk
authored andcommitted
[chore][exporter/loadbalancing] Add debug statements after failed export operation (open-telemetry#36575)
This adds some debug logging to the load balancing exporter, to help identify causes of 503, reported as part of issues like open-telemetry#35512. The statements should only be logged when the logging mode is set to debug, meaning that there should not be a difference to the current behavior of production setups. Signed-off-by: Juraci Paixão Kröhling <[email protected]> Signed-off-by: Juraci Paixão Kröhling <[email protected]>
1 parent 048d5b7 commit 5639962

File tree

4 files changed

+17
-5
lines changed

4 files changed

+17
-5
lines changed

exporter/loadbalancingexporter/factory.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,22 +83,22 @@ func buildExporterResilienceOptions(options []exporterhelper.Option, cfg *Config
8383

8484
func createTracesExporter(ctx context.Context, params exporter.Settings, cfg component.Config) (exporter.Traces, error) {
8585
c := cfg.(*Config)
86-
exporter, err := newTracesExporter(params, cfg)
86+
exp, err := newTracesExporter(params, cfg)
8787
if err != nil {
8888
return nil, fmt.Errorf("cannot configure loadbalancing traces exporter: %w", err)
8989
}
9090

9191
options := []exporterhelper.Option{
92-
exporterhelper.WithStart(exporter.Start),
93-
exporterhelper.WithShutdown(exporter.Shutdown),
94-
exporterhelper.WithCapabilities(exporter.Capabilities()),
92+
exporterhelper.WithStart(exp.Start),
93+
exporterhelper.WithShutdown(exp.Shutdown),
94+
exporterhelper.WithCapabilities(exp.Capabilities()),
9595
}
9696

9797
return exporterhelper.NewTraces(
9898
ctx,
9999
params,
100100
cfg,
101-
exporter.ConsumeTraces,
101+
exp.ConsumeTraces,
102102
buildExporterResilienceOptions(options, c)...,
103103
)
104104
}

exporter/loadbalancingexporter/log_exporter.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"go.opentelemetry.io/collector/pdata/plog"
1818
"go.opentelemetry.io/otel/metric"
1919
"go.uber.org/multierr"
20+
"go.uber.org/zap"
2021

2122
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter/internal/metadata"
2223
"github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal"
@@ -27,6 +28,7 @@ var _ exporter.Logs = (*logExporterImp)(nil)
2728
type logExporterImp struct {
2829
loadBalancer *loadBalancer
2930

31+
logger *zap.Logger
3032
started bool
3133
shutdownWg sync.WaitGroup
3234
telemetry *metadata.TelemetryBuilder
@@ -54,6 +56,7 @@ func newLogsExporter(params exporter.Settings, cfg component.Config) (*logExport
5456
return &logExporterImp{
5557
loadBalancer: lb,
5658
telemetry: telemetry,
59+
logger: params.Logger,
5760
}, nil
5861
}
5962

@@ -112,6 +115,7 @@ func (e *logExporterImp) consumeLog(ctx context.Context, ld plog.Logs) error {
112115
e.telemetry.LoadbalancerBackendOutcome.Add(ctx, 1, metric.WithAttributeSet(le.successAttr))
113116
} else {
114117
e.telemetry.LoadbalancerBackendOutcome.Add(ctx, 1, metric.WithAttributeSet(le.failureAttr))
118+
e.logger.Debug("failed to export log", zap.Error(err))
115119
}
116120

117121
return err

exporter/loadbalancingexporter/metrics_exporter.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
conventions "go.opentelemetry.io/collector/semconv/v1.27.0"
1919
"go.opentelemetry.io/otel/metric"
2020
"go.uber.org/multierr"
21+
"go.uber.org/zap"
2122

2223
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter/internal/metadata"
2324
"github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics"
@@ -30,6 +31,7 @@ type metricExporterImp struct {
3031
loadBalancer *loadBalancer
3132
routingKey routingKey
3233

34+
logger *zap.Logger
3335
stopped bool
3436
shutdownWg sync.WaitGroup
3537
telemetry *metadata.TelemetryBuilder
@@ -57,6 +59,7 @@ func newMetricsExporter(params exporter.Settings, cfg component.Config) (*metric
5759
loadBalancer: lb,
5860
routingKey: svcRouting,
5961
telemetry: telemetry,
62+
logger: params.Logger,
6063
}
6164

6265
switch cfg.(*Config).RoutingKey {
@@ -142,6 +145,7 @@ func (e *metricExporterImp) ConsumeMetrics(ctx context.Context, md pmetric.Metri
142145
e.telemetry.LoadbalancerBackendOutcome.Add(ctx, 1, metric.WithAttributeSet(exp.successAttr))
143146
} else {
144147
e.telemetry.LoadbalancerBackendOutcome.Add(ctx, 1, metric.WithAttributeSet(exp.failureAttr))
148+
e.logger.Debug("failed to export metrics", zap.Error(err))
145149
}
146150
}
147151

exporter/loadbalancingexporter/trace_exporter.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"go.opentelemetry.io/collector/pdata/ptrace"
1818
"go.opentelemetry.io/otel/metric"
1919
"go.uber.org/multierr"
20+
"go.uber.org/zap"
2021

2122
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter/internal/metadata"
2223
"github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal"
@@ -30,6 +31,7 @@ type traceExporterImp struct {
3031
loadBalancer *loadBalancer
3132
routingKey routingKey
3233

34+
logger *zap.Logger
3335
stopped bool
3436
shutdownWg sync.WaitGroup
3537
telemetry *metadata.TelemetryBuilder
@@ -59,6 +61,7 @@ func newTracesExporter(params exporter.Settings, cfg component.Config) (*traceEx
5961
loadBalancer: lb,
6062
routingKey: traceIDRouting,
6163
telemetry: telemetry,
64+
logger: params.Logger,
6265
}
6366

6467
switch cfg.(*Config).RoutingKey {
@@ -127,6 +130,7 @@ func (e *traceExporterImp) ConsumeTraces(ctx context.Context, td ptrace.Traces)
127130
e.telemetry.LoadbalancerBackendOutcome.Add(ctx, 1, metric.WithAttributeSet(exp.successAttr))
128131
} else {
129132
e.telemetry.LoadbalancerBackendOutcome.Add(ctx, 1, metric.WithAttributeSet(exp.failureAttr))
133+
e.logger.Debug("failed to export traces", zap.Error(err))
130134
}
131135
}
132136

0 commit comments

Comments
 (0)