(ctx context.Context, res *resource.Resource)
| 129 | } |
| 130 | |
| 131 | func newTraceProvider(ctx context.Context, res *resource.Resource) (*sdktrace.TracerProvider, error) { |
| 132 | exporter, err := newTraceExporter(ctx) |
| 133 | if err != nil { |
| 134 | return nil, err |
| 135 | } |
| 136 | |
| 137 | traceProvider := sdktrace.NewTracerProvider( |
| 138 | sdktrace.WithBatcher(exporter, |
| 139 | sdktrace.WithBatchTimeout(5*time.Second)), |
| 140 | sdktrace.WithResource(res), |
| 141 | ) |
| 142 | return traceProvider, nil |
| 143 | } |
| 144 | |
| 145 | // newMeterProvider creates a MeterProvider with dual-mode export: |
| 146 | // - Pull (Prometheus): always active — exposes metrics via /metrics endpoint for scraping. |
no test coverage detected