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)
|
||||
}
|
||||
|
||||
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.WithInsecure(),
|
||||
otlptracegrpc.WithRetry(retryConfig),
|
||||
)
|
||||
if err != nil {
|
||||
slog.Error("[OTEL] Failed to create trace exporter", "err", err)
|
||||
}
|
||||
|
||||
tp := sdktrace.NewTracerProvider(
|
||||
sdktrace.WithBatcher(traceExporter),
|
||||
sdktrace.WithResource(res),
|
||||
@@ -45,10 +57,16 @@ func Init(ctx context.Context) func(context.Context) error {
|
||||
)
|
||||
otel.SetTracerProvider(tp)
|
||||
|
||||
metricExporter, _ := otlpmetricgrpc.New(ctx,
|
||||
// Metric Exporter
|
||||
metricExporter, err := otlpmetricgrpc.New(ctx,
|
||||
otlpmetricgrpc.WithEndpoint(endpoint),
|
||||
otlpmetricgrpc.WithInsecure(),
|
||||
otlpmetricgrpc.WithRetry(otlpmetricgrpc.RetryConfig(retryConfig)),
|
||||
)
|
||||
if err != nil {
|
||||
slog.Error("[OTEL] Failed to create metric exporter", "err", err)
|
||||
}
|
||||
|
||||
mp := sdkmetric.NewMeterProvider(
|
||||
sdkmetric.WithResource(res),
|
||||
sdkmetric.WithReader(sdkmetric.NewPeriodicReader(metricExporter,
|
||||
@@ -56,10 +74,16 @@ func Init(ctx context.Context) func(context.Context) error {
|
||||
)
|
||||
otel.SetMeterProvider(mp)
|
||||
|
||||
logExporter, _ := otlploggrpc.New(ctx,
|
||||
// Log Exporter
|
||||
logExporter, err := otlploggrpc.New(ctx,
|
||||
otlploggrpc.WithEndpoint(endpoint),
|
||||
otlploggrpc.WithInsecure(),
|
||||
otlploggrpc.WithRetry(otlploggrpc.RetryConfig(retryConfig)),
|
||||
)
|
||||
if err != nil {
|
||||
slog.Error("[OTEL] Failed to create log exporter", "err", err)
|
||||
}
|
||||
|
||||
lp := sdklog.NewLoggerProvider(
|
||||
sdklog.WithResource(res),
|
||||
sdklog.WithProcessor(sdklog.NewBatchProcessor(logExporter)),
|
||||
|
||||
Reference in New Issue
Block a user