tracing: update semconv, better error checking
This commit is contained in:
@@ -18,7 +18,7 @@ import (
|
||||
"go.opentelemetry.io/otel/propagation"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
otelsdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
@@ -72,10 +72,15 @@ func InitTracer(ctx context.Context, cfg *TracerConfig) (TpShutdownFunc, error)
|
||||
return emptyTpShutdownFunc, nil
|
||||
}
|
||||
|
||||
resource, err := newResource(cfg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
tp := otelsdktrace.NewTracerProvider(
|
||||
otelsdktrace.WithSampler(otelsdktrace.AlwaysSample()),
|
||||
otelsdktrace.WithBatcher(exporter),
|
||||
otelsdktrace.WithResource(newResource(cfg)),
|
||||
otelsdktrace.WithResource(resource),
|
||||
)
|
||||
|
||||
otel.SetTracerProvider(tp)
|
||||
@@ -125,19 +130,33 @@ func newOLTPExporter(ctx context.Context, cfg *TracerConfig) (otelsdktrace.SpanE
|
||||
// }
|
||||
|
||||
// newResource returns a resource describing this application.
|
||||
func newResource(cfg *TracerConfig) *resource.Resource {
|
||||
func newResource(cfg *TracerConfig) (*resource.Resource, error) {
|
||||
|
||||
log := logger.Setup()
|
||||
|
||||
defaultResource := resource.Default()
|
||||
log.Debug("default semconv", "url", defaultResource.SchemaURL())
|
||||
|
||||
newResource := resource.NewWithAttributes(
|
||||
semconv.SchemaURL,
|
||||
semconv.ServiceNameKey.String(cfg.ServiceName),
|
||||
semconv.ServiceVersionKey.String(version.Version()),
|
||||
attribute.String("environment", cfg.Environment),
|
||||
)
|
||||
|
||||
log.Debug("new resource semconv", "url", newResource.SchemaURL())
|
||||
|
||||
r, err := resource.Merge(
|
||||
resource.Default(),
|
||||
resource.NewWithAttributes(
|
||||
semconv.SchemaURL,
|
||||
semconv.ServiceNameKey.String(cfg.ServiceName),
|
||||
semconv.ServiceVersionKey.String(version.Version()),
|
||||
attribute.String("environment", cfg.Environment),
|
||||
),
|
||||
defaultResource,
|
||||
newResource,
|
||||
)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
log.Error("could not setup otel resource",
|
||||
"err", err,
|
||||
"default", defaultResource.SchemaURL(),
|
||||
"local", newResource.SchemaURL(),
|
||||
)
|
||||
}
|
||||
|
||||
return r
|
||||
return r, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user