in apps/simple-frontend-otel/main.go [49:83]
func initTracer() {
// Create new OTLP Exporter struct
driver := otlpgrpc.NewDriver(
otlpgrpc.WithInsecure(),
otlpgrpc.WithEndpoint("otlp-service.adot-col:55680"),
)
ctx := context.Background()
exporter, err := otlp.NewExporter(ctx, driver)
if err != nil {
// Handle error here...
}
// A custom ID Generator to generate traceIDs that conform to
// AWS X-Ray traceID format
idg := xray.NewIDGenerator()
// Detector
// eksResourceDetector := eks.NewResourceDetector()
// resource, _ := eksResourceDetector.Detect(ctx)
rsc := resource.NewWithAttributes(semconv.ServiceNameKey.String("simple-frontend-otel"))
// Create a new TraceProvider struct passing in the config, the exporter
// and the ID Generator we want to use for our tracing
tp := sdktrace.NewTracerProvider(
sdktrace.WithSyncer(exporter),
sdktrace.WithResource(rsc),
sdktrace.WithIDGenerator(idg),
)
// Set the traceprovider and the propagator we want to use
otel.SetTracerProvider(tp)
otel.SetTextMapPropagator(xray.Propagator{})
}