benchmark-action / github-action-benchmark

GitHub Action for continuous benchmarking to keep performance
https://benchmark-action.github.io/github-action-benchmark/dev/bench/
MIT License
1.02k stars 152 forks source link

command line tools for data manipulation #249

Open inverted-capital opened 6 months ago

inverted-capital commented 6 months ago

Hey there - just an idea suggestion here 💡

As the years drag on, our benchmark data is getting large. It would be nice to have some command line tools to do decimation or combing of the data. In general, some commandline tools to help manage the .json file would maybe be useful to people ? Manipulating the file directly is difficult, but also it is hard to parse since it is a .js extension but the contents are expected to be strict JSON, so autoformatters like prettier will correct this file to be unusable by benchmark-action. The tooling ideas we had so far are:

Data decimation

Go thru the file and remove a set fraction of the benchmarks after a certain age to reduce the number of data points.

Remove a benchmark

Go thru the data.json file and delete all traces of a particular benchmark

Rename a benchmark

Simply moves a benchmark name to occupy an unused namespace

Merge an old file

Pull in an existing data.json into this one, so that old benchmarks can be carried on, extended, or presented separately for reference