{"record":{"id":"3efba73079629b61","repo":"jaegertracing/jaeger","slug":"jaeger-exporter-is-no-longer-supported-please-use","errorCode":null,"errorMessage":"jaeger exporter is no longer supported, please use otlp","messagePattern":"jaeger exporter is no longer supported, please use otlp","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/tracegen/main.go","lineNumber":130,"sourceCode":"\t\ttp := sdktrace.NewTracerProvider(opts...)\n\t\ttracers = append(tracers, tp.Tracer(cfg.Service))\n\t\tshutdown = append(shutdown, tp.Shutdown)\n\t}\n\treturn tracers, func(ctx context.Context) error {\n\t\tvar errs []error\n\t\tfor _, f := range shutdown {\n\t\t\terrs = append(errs, f(ctx))\n\t\t}\n\t\treturn errors.Join(errs...)\n\t}\n}\n\nfunc createOtelExporter(exporterType string) (sdktrace.SpanExporter, error) {\n\tvar exporter sdktrace.SpanExporter\n\tvar err error\n\tswitch exporterType {\n\tcase \"jaeger\":\n\t\treturn nil, errors.New(\"jaeger exporter is no longer supported, please use otlp\")\n\tcase \"otlp\", \"otlp-http\":\n\t\tclient := otlptracehttp.NewClient(\n\t\t\totlptracehttp.WithInsecure(),\n\t\t)\n\t\texporter, err = otlptrace.New(context.Background(), client)\n\tcase \"otlp-grpc\":\n\t\tclient := otlptracegrpc.NewClient(\n\t\t\totlptracegrpc.WithInsecure(),\n\t\t)\n\t\texporter, err = otlptrace.New(context.Background(), client)\n\tcase \"stdout\":\n\t\texporter, err = stdouttrace.New()\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unrecognized exporter type %s\", exporterType)\n\t}\n\treturn exporter, err\n}\n","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/jaegertracing/jaeger/blob/806f4447841ecdb60519f408b004a599d515f437/cmd/tracegen/main.go#L112-L148","documentation":"createOtelExporter in tracegen returns this error when the deprecated 'jaeger' exporter type is requested. Jaeger's own exporter was removed from OpenTelemetry and from this tool; only OTLP variants (otlp, otlp-http, otlp-grpc) are supported for sending generated spans.","triggerScenarios":"Running tracegen with --exporter jaeger (or JAEGER_EXPORTER env equivalent); createOtelExporter hits `case \"jaeger\"` and immediately returns nil exporter with this error, which createTracers propagates.","commonSituations":"Following an old tutorial or script that used the jaeger exporter; migrating a load-generation harness from pre-OTLP Jaeger setups; CI jobs still passing --exporter jaeger after upgrading tracegen.","solutions":["Use --exporter otlp (or otlp-http) and point it at the collector's OTLP/HTTP endpoint (default 4318)","Use --exporter otlp-grpc to target the collector's OTLP/gRPC endpoint (default 4317)","Ensure the Jaeger receiver/collector has OTLP ingest enabled, since the legacy jaeger-thrift path no longer applies"],"exampleFix":"// before\n./tracegen --exporter jaeger --jaeger-endpoint http://jaeger:14268/api/traces\n// after\n./tracegen --exporter otlp --otlp-endpoint http://jaeger:4318","handlingStrategy":"validation","validationCode":"var exporter string = \"otlp\" // flag value\nswitch exporter {\ncase \"otlp\", \"otlp-http\", \"otlp-grpc\":\n    // ok\ndefault:\n    return fmt.Errorf(\"unsupported exporter %q; use otlp, otlp-http, or otlp-grpc\", exporter)\n}","typeGuard":"func isSupportedExporter(t string) bool {\n    switch t {\n    case \"otlp\", \"otlp-http\", \"otlp-grpc\":\n        return true\n    }\n    return false\n}","tryCatchPattern":"tracer, err := createTracers(...)\nif err != nil {\n    if strings.Contains(err.Error(), \"jaeger exporter is no longer supported\") {\n        return fmt.Errorf(\"migrate to --exporter otlp: %w\", err)\n    }\n    return err\n}","preventionTips":["Stop using --exporter jaeger in scripts and CI","Target the collector's OTLP endpoints (4317/4318)","Update docs/runbooks that reference the jaeger exporter"],"tags":["go","opentelemetry","tracegen","deprecation","cli"],"backgroundTag":"deprecated-exporter-removed","analyzedSha":"806f4447841ecdb60519f408b004a599d515f437","analyzedAt":"2026-09-01T02:39:22.140Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T05:18:18.240Z"}