grafana/k6 · error

k6/experimental/tracing has been removed. All of it function

Error message

k6/experimental/tracing has been removed. All of it functionality is available as pure JavaScript module. More info available at the docs: https://grafana.com/docs/k6/latest/javascript-api/jslib/http-instrumentation-tempo

What it means

k6/experimental/tracing was removed from the core module set; its functionality lives on as a pure-JavaScript library (jslib http-instrumentation-tempo). The registry entry is a stub that throws this guidance message when the import is instantiated.

Source

Thrown at internal/js/jsmodules.go:107

	// external is always prefixed with `k6/x`
	for _, e := range external {
		result[e.Name] = e.Module
	}

	return result
}

type removedModule struct {
	errMsg string
}

func newRemovedModule(errMsg string) modules.Module {
	return &removedModule{errMsg: errMsg}
}

func (rm *removedModule) NewModuleInstance(vu modules.VU) modules.Instance {
	common.Throw(vu.Runtime(), errors.New(rm.errMsg))

	return nil
}

type warnExperimentalModule struct {
	once sync.Once
	msg  string
	base modules.Module
}

func newWarnExperimentalModule(base modules.Module, msg string) modules.Module {
	return &warnExperimentalModule{
		msg:  msg,
		base: base,
	}
}

func (w *warnExperimentalModule) NewModuleInstance(vu modules.VU) modules.Instance {

View on GitHub (pinned to 93accf6570)

Solutions

  1. Remove the core import and load the jslib version instead: `import { Http } from 'https://jslib.k6.io/http-instrumentation-tempo/1.0.0/index.js'`
  2. Follow the linked docs to instrument client requests for Tempo

Example fix

// before
import tracing from 'k6/experimental/tracing';

// after
import { Http } from 'https://jslib.k6.io/http-instrumentation-tempo/1.0.0/index.js';
const instrumentedHttp = new Http(instrumentTracing);
Defensive patterns

Strategy: validation

Validate before calling

grep -rn "k6/experimental/tracing" . --include='*.js' && { echo 'use jslib http-instrumentation-tempo instead' >&2; exit 1; } || true

Prevention

When it happens

Trigger: `import tracing from 'k6/experimental/tracing'` on a current k6 build.

Common situations: Distributed-tracing instrumentation scripts from the experimental era; templates referencing the removed module after upgrading.

Related errors


AI-assisted analysis of grafana/k6@93accf6570 (2026-08-15). Data as JSON: /api/errors/c01a6af7367d0a6b. Report an issue: GitHub.