feat(observabillity): #115 add traces
All checks were successful
Build Docker Image / Build-Docker-Image (push) Successful in 5m14s
All checks were successful
Build Docker Image / Build-Docker-Image (push) Successful in 5m14s
This commit is contained in:
@@ -8,12 +8,16 @@ import (
|
||||
"go.opentelemetry.io/otel"
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc"
|
||||
// "go.opentelemetry.io/otel/exporters/stdout/stdoutlog".
|
||||
// "go.opentelemetry.io/otel/exporters/stdout/stdouttrace".
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
|
||||
// "go.opentelemetry.io/otel/log/global".
|
||||
// "go.opentelemetry.io/otel/propagation".
|
||||
"go.opentelemetry.io/otel/propagation"
|
||||
// "go.opentelemetry.io/otel/sdk/log".
|
||||
"go.opentelemetry.io/otel/sdk/metric"
|
||||
// "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/sdk/trace"
|
||||
)
|
||||
|
||||
var (
|
||||
otelEndpoint = "192.168.188.155:4317"
|
||||
)
|
||||
|
||||
// setupOTelSDK bootstraps the OpenTelemetry pipeline.
|
||||
@@ -40,17 +44,17 @@ func setupOTelSDK(ctx context.Context) (func(context.Context) error, error) {
|
||||
}
|
||||
|
||||
// Set up propagator.
|
||||
// prop := newPropagator()
|
||||
// otel.SetTextMapPropagator(prop)
|
||||
prop := newPropagator()
|
||||
otel.SetTextMapPropagator(prop)
|
||||
|
||||
// Set up trace provider.
|
||||
// tracerProvider, err := newTracerProvider()
|
||||
// if err != nil {
|
||||
// handleErr(err)
|
||||
// return
|
||||
// }
|
||||
// shutdownFuncs = append(shutdownFuncs, tracerProvider.Shutdown)
|
||||
// otel.SetTracerProvider(tracerProvider)
|
||||
tracerProvider, err := newTracerProvider(ctx)
|
||||
if err != nil {
|
||||
handleErr(ctx, err)
|
||||
return nil, err
|
||||
}
|
||||
shutdownFuncs = append(shutdownFuncs, tracerProvider.Shutdown)
|
||||
otel.SetTracerProvider(tracerProvider)
|
||||
|
||||
// Set up meter provider.
|
||||
meterProvider, err := newMeterProvider(ctx)
|
||||
@@ -73,42 +77,37 @@ func setupOTelSDK(ctx context.Context) (func(context.Context) error, error) {
|
||||
return shutdown, nil
|
||||
}
|
||||
|
||||
// func newPropagator() propagation.TextMapPropagator {
|
||||
// return propagation.NewCompositeTextMapPropagator(
|
||||
// propagation.TraceContext{},
|
||||
// propagation.Baggage{},
|
||||
// )
|
||||
// }
|
||||
func newPropagator() propagation.TextMapPropagator {
|
||||
return propagation.NewCompositeTextMapPropagator(
|
||||
propagation.TraceContext{},
|
||||
propagation.Baggage{},
|
||||
)
|
||||
}
|
||||
|
||||
// func newTracerProvider() (*trace.TracerProvider, error) {
|
||||
// traceExporter, err := stdouttrace.New(
|
||||
// stdouttrace.WithPrettyPrint())
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
//
|
||||
// tracerProvider := trace.NewTracerProvider(
|
||||
// trace.WithBatcher(traceExporter,
|
||||
// // Default is 5s. Set to 1s for demonstrative purposes.
|
||||
// trace.WithBatchTimeout(time.Second)),
|
||||
// )
|
||||
// return tracerProvider, nil
|
||||
// }
|
||||
|
||||
func newMeterProvider(ctx context.Context) (*metric.MeterProvider, error) {
|
||||
exp, err := otlpmetricgrpc.New(ctx,
|
||||
otlpmetricgrpc.WithInsecure(),
|
||||
otlpmetricgrpc.WithEndpoint("192.168.188.155:4317"))
|
||||
func newTracerProvider(ctx context.Context) (*trace.TracerProvider, error) {
|
||||
exp, err := otlptracegrpc.New(ctx,
|
||||
otlptracegrpc.WithEndpoint(otelEndpoint),
|
||||
otlptracegrpc.WithInsecure(),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
meterProvider := metric.NewMeterProvider(
|
||||
return trace.NewTracerProvider(trace.WithBatcher(exp)), nil
|
||||
}
|
||||
|
||||
func newMeterProvider(ctx context.Context) (*metric.MeterProvider, error) {
|
||||
exp, err := otlpmetricgrpc.New(ctx,
|
||||
otlpmetricgrpc.WithInsecure(),
|
||||
otlpmetricgrpc.WithEndpoint(otelEndpoint))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return metric.NewMeterProvider(
|
||||
metric.WithReader(
|
||||
metric.NewPeriodicReader(
|
||||
exp, metric.WithInterval(15*time.Second))))
|
||||
|
||||
return meterProvider, nil
|
||||
exp, metric.WithInterval(15*time.Second)))), nil
|
||||
}
|
||||
|
||||
// func newLoggerProvider() (*log.LoggerProvider, error) {
|
||||
|
||||
Reference in New Issue
Block a user