-
Notifications
You must be signed in to change notification settings - Fork 54
Option to re-display a benchmark file #185
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
Conversation
350e1e2
to
1e496b0
Compare
The gitignore is setup to ignore these files by default
fc2301d
to
27e8391
Compare
📦 Build Artifacts Available |
📦 Build Artifacts Available |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @jaredoconnell; overall, the code looks good. I want to expand the functionality to encompass not only displaying the results but also reexporting them to a new file if the user desires.
Given that, I'd recommend something along the lines of the following for the CLI:
guidellm benchmark report PATH --output OUTPUT
where output is optional. If an output file is supplied, we will resave the report to that file path using the extension as the file type. It could also potentially be named export
, convert
, or anything along those lines.
For the benchmark CLI pathways, it would then look like the following:
guidellm benchmark run ...
guidellm benchmark report ...
And if that ACTION after the benchmark is not supplied, we will default to filling it in as run. This way, we namespace all of the commands under benchmark and add flexibility towards the future.
📦 Build Artifacts Available |
This is ready for re-review. Since the last reviews, there is an option to re-export the benchmarks, and the command format was changed. The default command feature isn't supported by Click so I am using a class to handle the new behavior. I included some external code for the default command as opposed to doing that myself because I found that there were a lot of edge cases that broke the functionality. Should I document this command as Step 6 in the quick start? |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
The CI errors appears to be from using an older commit's code. That's very odd. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Adds a command and related infrastructure to load and display an existing benchmark report via the CLI.
- Introduces
reimport_benchmarks_report
and wires it into a newguidellm benchmark from-file
subcommand - Adds
print_full_report
toGenerativeBenchmarksConsole
and updates the mainbenchmark
group to useDefaultGroupHandler
- Includes unit tests/assets for re-display behavior and updates docs to reference the new
run
subcommand
Reviewed Changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/guidellm/benchmark/entrypoints.py | Added reimport_benchmarks_report and simplified console calls |
src/guidellm/benchmark/output.py | Added print_full_report , updated unsupported-extension error |
src/guidellm/main.py | Converted benchmark to a subcommand group with run & from-file |
src/guidellm/utils/default_group.py | Added DefaultGroupHandler to support default subcommands |
tests/unit/entrypoints/.../test_benchmark_from_file_entrypoint.py | New tests for display and re-export |
docs/outputs.md | Updated examples to use benchmark run |
docs/datasets.md | Updated examples to use benchmark run |
README.md | Updated examples to use benchmark run |
.pre-commit-config.yaml | Excluded test assets from formatting rules |
Comments suppressed due to low confidence (3)
src/guidellm/main.py:36
- To automatically execute
run
when users invokeguidellm benchmark
without any args, adddefault_if_no_args=True
to theDefaultGroupHandler
parameters.
)
src/guidellm/benchmark/entrypoints.py:154
- [nitpick] This docstring ends abruptly at "Can also specify". Please complete it to explain what additional options are available when re-importing a report.
existing benchmarks report. Can also specify
docs/outputs.md:3
- [nitpick] The new
benchmark from-file
command isn’t mentioned here. Consider adding a section with usage examples forguidellm benchmark from-file
to show how to re-display existing reports.
GuideLLM provides flexible options for outputting benchmark results, catering to both console-based summaries and file-based detailed reports. This document outlines the supported output types, their configurations, and how to utilize them effectively.
📦 Build Artifacts Available |
📦 Build Artifacts Available |
closes #175
This adds a command to re-display a prior benchmarks file in the CLI.
Before marking this as ready for review, we need to decide what command format we want to use. During the call with Mark we discussed this being an option within the benchmark command.
Also, let me know if the stripped down results file is a good one to use. I manually removed data from a large results file.