New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for custom gauge adapters #209
Conversation
d90014d
to
5274df3
Compare
@OctaveLarose could you give this a spin locally to see whether you can use this to get your gauge adapter to work as desired? You probably want absolute imports in the python file for the gauge adapter, which is something I ran into when creating the ones for testing. |
Indeed, I had to switch to absolute imports. I can confirm it's functional! I would just suggest adding an explicit error message when the class can't be found (when Also, if this gets merged, please make sure to update the rebench version on yuria so I can use it for my experiments |
The latest commit will make sure it fails in the same way as for a misnamed standard gauge adapter. |
And the last push adds a revised bit of documentation, with a minimal example on how to implement a custom adapter. |
- also change the schema to permit for the new configuration Signed-off-by: Stefan Marr <git@stefan-marr.de>
- the used schema language isn’t expressive enough to validate this Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
756222e
to
3495e99
Compare
Some minor cleanups. If CI passes, I'll merge this and update branches. |
Signed-off-by: Stefan Marr <git@stefan-marr.de>
At the moment, we have only a limited, predefined set of gauge adapters in ReBench.
With this PR, we add support to provide custom gauge adapters by specifying a path to a Python file, from which to load the adapter.
This way, we do not need to support all possible benchmark harnesses in ReBench, and can instead provide support when it's needed as a kind of plugin.
Previously, we could only use built-in parsers like this:
With this PR, a custom parser can be used like this:
Remaining Todos