| 56 | } |
| 57 | |
| 58 | func newTraceProvider(cfg Config, exporter sdktrace.SpanExporter) (*sdktrace.TracerProvider, error) { |
| 59 | res, err := resource.New(context.Background(), |
| 60 | resource.WithAttributes( |
| 61 | semconv.ServiceNameKey.String(cfg.ServiceName), |
| 62 | semconv.DeploymentEnvironmentKey.String(cfg.Environment), |
| 63 | ), |
| 64 | ) |
| 65 | if err != nil { |
| 66 | return nil, fmt.Errorf("failed to create resource: %w", err) |
| 67 | } |
| 68 | |
| 69 | traceProvider := sdktrace.NewTracerProvider( |
| 70 | sdktrace.WithBatcher(exporter), |
| 71 | sdktrace.WithResource(res), |
| 72 | ) |
| 73 | |
| 74 | return traceProvider, nil |
| 75 | } |