GitHub Action to transform benchmark output into a standardized format, and write to a file.
Currently supported sources:
cargo bench
criterion
name
(required): name of the benchmarktool
(required): tool used to get benchmark output. One of["cargo"]
os
(required): a string describing the osoutput-file-path
(required): a path to a file containing the output of the benchmark tooldata-out-path
(required): the path where the output of the action should be written
The benchmark name in the cargo
benchmarks can be provided as a /
-separated string with the format category/key size/name/platform/api
. The key size should be an integer. Some fields in this string can be left blank. Any unspecified or invalid fields will be parsed to undefined
.
The output will be written to data-out-path
in a standardized JSON format:
[
{
"api": "unpacked",
"category": "ML-KEM",
"keySize": 768,
"name": "PK Validation",
"os": "ubuntu-latest",
"platform": "neon",
"range": "± 123",
"unit": "ns/iter",
"value": 12314,
},
]