Add RetryConfig for OtelTracer
All checks were successful
Server Check Build (NixCN CMS) TeamCity build finished
All checks were successful
Server Check Build (NixCN CMS) TeamCity build finished
Signed-off-by: Asai Neko <sugar@sne.moe>
This commit is contained in:
@@ -34,10 +34,22 @@ func Init(ctx context.Context) func(context.Context) error {
|
|||||||
slog.Error("[OTEL] Failed to create resource", "err", err)
|
slog.Error("[OTEL] Failed to create resource", "err", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
traceExporter, _ := otlptracegrpc.New(ctx,
|
retryConfig := otlptracegrpc.RetryConfig{
|
||||||
|
Enabled: true,
|
||||||
|
InitialInterval: 1 * time.Second,
|
||||||
|
MaxInterval: 10 * time.Second,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Trace Exporter
|
||||||
|
traceExporter, err := otlptracegrpc.New(ctx,
|
||||||
otlptracegrpc.WithEndpoint(endpoint),
|
otlptracegrpc.WithEndpoint(endpoint),
|
||||||
otlptracegrpc.WithInsecure(),
|
otlptracegrpc.WithInsecure(),
|
||||||
|
otlptracegrpc.WithRetry(retryConfig),
|
||||||
)
|
)
|
||||||
|
if err != nil {
|
||||||
|
slog.Error("[OTEL] Failed to create trace exporter", "err", err)
|
||||||
|
}
|
||||||
|
|
||||||
tp := sdktrace.NewTracerProvider(
|
tp := sdktrace.NewTracerProvider(
|
||||||
sdktrace.WithBatcher(traceExporter),
|
sdktrace.WithBatcher(traceExporter),
|
||||||
sdktrace.WithResource(res),
|
sdktrace.WithResource(res),
|
||||||
@@ -45,10 +57,16 @@ func Init(ctx context.Context) func(context.Context) error {
|
|||||||
)
|
)
|
||||||
otel.SetTracerProvider(tp)
|
otel.SetTracerProvider(tp)
|
||||||
|
|
||||||
metricExporter, _ := otlpmetricgrpc.New(ctx,
|
// Metric Exporter
|
||||||
|
metricExporter, err := otlpmetricgrpc.New(ctx,
|
||||||
otlpmetricgrpc.WithEndpoint(endpoint),
|
otlpmetricgrpc.WithEndpoint(endpoint),
|
||||||
otlpmetricgrpc.WithInsecure(),
|
otlpmetricgrpc.WithInsecure(),
|
||||||
|
otlpmetricgrpc.WithRetry(otlpmetricgrpc.RetryConfig(retryConfig)),
|
||||||
)
|
)
|
||||||
|
if err != nil {
|
||||||
|
slog.Error("[OTEL] Failed to create metric exporter", "err", err)
|
||||||
|
}
|
||||||
|
|
||||||
mp := sdkmetric.NewMeterProvider(
|
mp := sdkmetric.NewMeterProvider(
|
||||||
sdkmetric.WithResource(res),
|
sdkmetric.WithResource(res),
|
||||||
sdkmetric.WithReader(sdkmetric.NewPeriodicReader(metricExporter,
|
sdkmetric.WithReader(sdkmetric.NewPeriodicReader(metricExporter,
|
||||||
@@ -56,10 +74,16 @@ func Init(ctx context.Context) func(context.Context) error {
|
|||||||
)
|
)
|
||||||
otel.SetMeterProvider(mp)
|
otel.SetMeterProvider(mp)
|
||||||
|
|
||||||
logExporter, _ := otlploggrpc.New(ctx,
|
// Log Exporter
|
||||||
|
logExporter, err := otlploggrpc.New(ctx,
|
||||||
otlploggrpc.WithEndpoint(endpoint),
|
otlploggrpc.WithEndpoint(endpoint),
|
||||||
otlploggrpc.WithInsecure(),
|
otlploggrpc.WithInsecure(),
|
||||||
|
otlploggrpc.WithRetry(otlploggrpc.RetryConfig(retryConfig)),
|
||||||
)
|
)
|
||||||
|
if err != nil {
|
||||||
|
slog.Error("[OTEL] Failed to create log exporter", "err", err)
|
||||||
|
}
|
||||||
|
|
||||||
lp := sdklog.NewLoggerProvider(
|
lp := sdklog.NewLoggerProvider(
|
||||||
sdklog.WithResource(res),
|
sdklog.WithResource(res),
|
||||||
sdklog.WithProcessor(sdklog.NewBatchProcessor(logExporter)),
|
sdklog.WithProcessor(sdklog.NewBatchProcessor(logExporter)),
|
||||||
|
|||||||
Reference in New Issue
Block a user