{"record":{"id":"a68d1a0c822d7c3d","repo":"tsenart/vegeta","slug":"the-plot-reporter-has-been-deprecated-and-succeede","errorCode":null,"errorMessage":"The plot reporter has been deprecated and succeeded by the vegeta plot command","messagePattern":"The plot reporter has been deprecated and succeeded by the vegeta plot command","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"report.go","lineNumber":85,"sourceCode":"\tdefer mc.Close()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tout, err := file(output, true)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer out.Close()\n\n\tvar (\n\t\trep    vegeta.Reporter\n\t\treport vegeta.Report\n\t)\n\n\tswitch typ {\n\tcase \"plot\":\n\t\treturn fmt.Errorf(\"The plot reporter has been deprecated and succeeded by the vegeta plot command\")\n\tcase \"text\":\n\t\tvar m vegeta.Metrics\n\t\trep, report = vegeta.NewTextReporter(&m), &m\n\tcase \"json\":\n\t\tvar m vegeta.Metrics\n\t\tif bucketsStr != \"\" {\n\t\t\tm.Histogram = &vegeta.Histogram{}\n\t\t\tif err := m.Histogram.Buckets.UnmarshalText([]byte(bucketsStr)); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\trep, report = vegeta.NewJSONReporter(&m), &m\n\tcase \"hdrplot\":\n\t\tvar m vegeta.Metrics\n\t\trep, report = vegeta.NewHDRHistogramPlotReporter(&m), &m\n\tdefault:\n\t\tswitch {\n\t\tcase strings.HasPrefix(typ, \"hist\"):","sourceCodeStart":67,"sourceCodeEnd":103,"githubUrl":"https://github.com/tsenart/vegeta/blob/cf5811269046c672a604b1eb352204d30f16ae4a/report.go#L67-L103","documentation":"The `vegeta report -type=plot` path is hard-blocked: plot report generation was moved to a standalone `vegeta plot` command. This error directs users to the new subcommand instead of silently producing plots.","triggerScenarios":"Running `vegeta report -type=plot results.bin` (or -type=plot with any arguments) on a vegeta version where the plot reporter was removed from the report command.","commonSituations":"Older scripts written against pre-deprecation vegeta versions still passing -type=plot; CI pipelines upgraded vegeta but not the scripts.","solutions":["Replace `vegeta report -type=plot` with the `vegeta plot` command.","Adjust scripts: `vegeta plot results.bin > plot.html` instead of `vegeta report -type=plot results.bin > plot.html`.","Check `vegeta plot -h` for plot-specific flags (title, threshold) that were previously not part of report.","Pin the vegeta version in CI if you must keep legacy behavior."],"exampleFix":"// before\nvegeta report -type=plot results.bin > plot.html\n// after\nvegeta plot results.bin > plot.html","handlingStrategy":"fallback","validationCode":"func reportCmd(typ string) string {\n    if typ == \"plot\" {\n        return \"vegeta plot\" // route to standalone command\n    }\n    return \"vegeta report\"\n}","typeGuard":null,"tryCatchPattern":"if err := runVegeta(\"report\", \"-type=plot\", file); err != nil {\n    if strings.Contains(err.Error(), \"plot reporter has been deprecated\") {\n        return runVegeta(\"plot\", file)\n    }\n    return err\n}","preventionTips":["Replace -type=plot usages with the `vegeta plot` subcommand in all scripts.","Grep CI configs for 'report -type=plot' after vegeta upgrades.","Pin vegeta versions in deployment pipelines to control deprecation timing."],"tags":["cli","deprecation","report"],"backgroundTag":"command-deprecated","analyzedSha":"cf5811269046c672a604b1eb352204d30f16ae4a","analyzedAt":"2026-08-31T11:04:20.464Z","schemaVersion":2},"datasetVersion":"2026-08-31T14:17:45.589Z"}