grafana/k6 · error
failed to create OpenTelemetry exporter: %w
Error message
failed to create OpenTelemetry exporter: %w
What it means
Output.Start failed while building the OTLP metric exporter (bad TLS files, unparseable headers, or exporter construction error). Start wraps whatever getExporter returned as the exporter-creation failure.
Source
Thrown at internal/output/opentelemetry/output.go:77
if err := o.meterProvider.Shutdown(context.Background()); err != nil {
o.logger.WithError(err).Error("can't shutdown OpenTelemetry metric provider")
}
return nil
}
// Stop just implements an old interface (output.Output)
func (o *Output) Stop() error {
return o.StopWithTestError(nil)
}
// Start performs initialization tasks prior to Engine using the output
func (o *Output) Start() error {
o.logger.Debug("Starting output...")
exp, err := getExporter(o.config)
if err != nil {
return fmt.Errorf("failed to create OpenTelemetry exporter: %w", err)
}
res, err := resource.Merge(resource.Default(),
resource.NewSchemaless(
semconv.ServiceName(o.config.ServiceName.String),
semconv.ServiceVersion(o.config.ServiceVersion.String),
))
if err != nil {
return fmt.Errorf("failed to create OpenTelemetry resource: %w", err)
}
meterProvider := metric.NewMeterProvider(
metric.WithResource(res),
metric.WithReader(
metric.NewPeriodicReader(
exp,
metric.WithInterval(o.config.ExportInterval.TimeDuration()),
),View on GitHub (pinned to 01ffac6f24)
Solutions
- Inspect the wrapped error: fix header syntax, TLS certificate paths, or exporter endpoint settings
- Verify K6_OTEL_* endpoint, protocol and credential configuration
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at internal/output/opentelemetry/output.go:77 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of grafana/k6@01ffac6f24 (2026-08-18).
Data as JSON: /api/errors/28df84e4e547067f.
Report an issue: GitHub.