Project Perf REST API
Query project performance metrics
⚠️ Breaking Changes: The Bencher API is in beta and under active development. We may introduce breaking changes in future releases. We will announce any breaking changes in the release notes.
Query the performance metrics for a project. The query results are every permutation of each branch, testbed, benchmark, and measure. Each permutation returns one line per variant of its benchmark, narrowed by the `parameters` filter when one is given. Only the first 64 entries of each dimension list are queried, the `parameters` filter included. There is a limit of 256 permutations and 256 lines for a single request. A permutation with nothing to plot returns no line, but it still counts against the permutation limit. If there is no `start_time`, then the last four weeks are queried, back from the `end_time` when there is one and from now when there is not. The response always states the window that was queried. If the project is public, then the user does not need to be authenticated. If the project is private, then the user must be authenticated and have `view` permissions for the project, or provide a valid project key for the project.
Headers
Content-Typestring
Set to application/json.
Authorizationstring
Set to Bearer BENCHER_API_KEY, where BENCHER_API_KEY is a valid Bencher API key (or a deprecated API token).
Path Parameters
projectThe slug or UUID for a project.
Query Parameters
benchmarksstring
A comma separated list of benchmark UUIDs to query. Only the first 64 benchmarks are queried.
branchesstring
A comma separated list of branch UUIDs to query. Only the first 64 branches are queried.
end_timeinteger
Search for metrics before the given date time in milliseconds.
headsstring
An optional comma separated list of branch head UUIDs. To not specify a particular branch head leave an empty entry in the list.
measuresstring
A comma separated list of measure UUIDs to query. Only the first 64 measures are queried.
parametersstring
An optional comma separated list of URL encoded parameter sets to filter on. A variant is queried when at least one of them is a subset of its parameter set: every key the filter names, with the same value. Leaving this off queries every variant. Only the first 64 parameter sets are queried.
specsstring
An optional comma separated list of testbed spec UUIDs. To not specify a particular testbed spec leave an empty entry in the list.
start_timeinteger
Search for metrics after the given date time in milliseconds. Defaults to four weeks before the end time, or four weeks before now when there is no end time.
testbedsstring
A comma separated list of testbed UUIDs to query. Only the first 64 testbeds are queried.
/v0/projects/{project}/perf| Bencher Cloud | https://api.bencher.dev |
| Bencher Self-Hosted | http://localhost:6610 |
Bencher CLI
bencher perf PROJECTView OpenAPI Spec
Generate a dynamic image of project performance metrics
⚠️ Breaking Changes: The Bencher API is in beta and under active development. We may introduce breaking changes in future releases. We will announce any breaking changes in the release notes.
Generate a dynamic image of performance metrics for a project. The query results are every permutation of each branch, testbed, benchmark, and measure. There is a limit of 8 permutations for a single image. Therefore, only the first 8 permutations are plotted. Each permutation plots one line per variant of its benchmark, narrowed by the `parameters` filter when one is given. If the project is public, then the user does not need to be authenticated. If the project is private, then the user must be authenticated and have `view` permissions for the project, or provide a valid project key for the project.
Headers
Content-Typestring
Set to image/jpeg.
Authorizationstring
Set to Bearer BENCHER_API_KEY, where BENCHER_API_KEY is a valid Bencher API key (or a deprecated API token).
Path Parameters
projectThe slug or UUID for a project.
Query Parameters
benchmarksstring
A comma separated list of benchmark UUIDs to query. Only the first 64 benchmarks are queried.
branchesstring
A comma separated list of branch UUIDs to query. Only the first 64 branches are queried.
end_timeinteger
Search for metrics before the given date time in milliseconds.
headsstring
An optional comma separated list of branch head UUIDs. To not specify a particular branch head leave an empty entry in the list.
measuresstring
A comma separated list of measure UUIDs to query. Only the first 64 measures are queried.
parametersstring
An optional comma separated list of URL encoded parameter sets to filter on. A variant is queried when at least one of them is a subset of its parameter set: every key the filter names, with the same value. Leaving this off queries every variant. Only the first 64 parameter sets are queried.
specsstring
An optional comma separated list of testbed spec UUIDs. To not specify a particular testbed spec leave an empty entry in the list.
start_timeinteger
Search for metrics after the given date time in milliseconds. Defaults to four weeks before the end time, or four weeks before now when there is no end time.
testbedsstring
A comma separated list of testbed UUIDs to query. Only the first 64 testbeds are queried.
titlestring
The title for the perf plot. If not provided, the project name will be used.
/v0/projects/{project}/perf/img| Bencher Cloud | https://api.bencher.dev |
| Bencher Self-Hosted | http://localhost:6610 |
View OpenAPI Spec