{"record":{"id":"a33df858978966dc","repo":"grafana/k6","slug":"invalid-output-extension-s-built-in-output-with","errorCode":null,"errorMessage":"invalid output extension %s, built-in output with the same type already exists","messagePattern":"invalid output extension (.+?), built-in output with the same type already exists","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/cmd/outputs.go","lineNumber":87,"sourceCode":"\t\t\treturn remotewrite.New(params)\n\t\t},\n\t\t\"web-dashboard\": dashboard.New,\n\t\tbuiltinOutputExperimentalOpentelemetry.String(): func(params output.Params) (output.Output, error) {\n\t\t\tparams.Logger.Warnf(\"OpenTelemetry output has been graduated as a stable output.\"+\n\t\t\t\t\"You can now use just %q instead of %q. The experimental version will be removed in future versions.\",\n\n\t\t\t\t\"opentelemetry\", \"experimental-opentelemetry\")\n\t\t\treturn opentelemetry.New(params)\n\t\t},\n\t\tbuiltinOutputOpentelemetry.String(): func(params output.Params) (output.Output, error) {\n\t\t\treturn opentelemetry.New(params)\n\t\t},\n\t}\n\n\texts := ext.Get(ext.OutputExtension)\n\tfor _, e := range exts {\n\t\tif _, ok := result[e.Name]; ok {\n\t\t\treturn nil, fmt.Errorf(\"invalid output extension %s, built-in output with the same type already exists\", e.Name)\n\t\t}\n\t\tm, ok := e.Module.(output.Constructor)\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"unexpected output extension type %T\", e.Module)\n\t\t}\n\t\tresult[e.Name] = m\n\t}\n\n\treturn result, nil\n}\n\nfunc getPossibleIDList(constrs map[string]output.Constructor) string {\n\tres := make([]string, 0, len(constrs))\n\tfor k := range constrs {\n\t\tif k == \"kafka\" || k == \"datadog\" {\n\t\t\tcontinue\n\t\t}\n\t\tres = append(res, k)","sourceCodeStart":69,"sourceCodeEnd":105,"githubUrl":"https://github.com/grafana/k6/blob/93accf6570dcd306ca5e99cc44c393ee3797761b/internal/cmd/outputs.go#L69-L105","documentation":"Error \"invalid output extension %s, built-in output with the same type already exists\" thrown in grafana/k6.","triggerScenarios":"Thrown at internal/cmd/outputs.go:87 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"93accf6570dcd306ca5e99cc44c393ee3797761b","analyzedAt":"2026-08-15T21:23:27.118Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}