-
Notifications
You must be signed in to change notification settings - Fork 62
Implement guidellm UI #169
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
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 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.
Pull Request Overview
This PR implements the GuideLLM UI by wiring in React components, injecting window-sourced data scripts, and updating environment, asset, and testing configurations.
- Integrate new UI components (PageHeader, WorkloadDetails, MetricsSummary, WorkloadMetrics) into the main page layout
- Inject
runInfoScript
,workloadDetailsScript
, andbenchmarksScript
into the root layout’s<head>
- Update
.env
files, package.json scripts/dependencies, asset imports, and testing setup for the UI
Reviewed Changes
Copilot reviewed 207 out of 207 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
src/ui/app/page.tsx | Replaced placeholder Typography with real UI components |
src/ui/app/not-found.tsx | Added custom 404 page |
src/ui/app/layout.tsx | Inject window-data scripts into <head> and update favicon format |
src/ui/app/assets/icons/index.tsx | Imported new PNG icons and reordered exports |
src/ui/.env.staging, .env.production, .env.local, .env.example, .env.development | Added environment variable templates |
src/guidellm/benchmark/benchmark.py | Inlined list comprehension for iter_counts |
package.json | Added "type": "module" , updated scripts, dependencies, optionalDependencies |
jest.setup.ts | Polyfilled fetch and mocked Nivo modules |
jest.config.cjs | Disabled default coverage, adjusted reporters |
eslint.config.js | Introduced new Flat ESLint configuration |
cypress.config.ts | Minor comment adjustment on baseUrl |
README.md | Documented GuideLLM UI usage and development notes |
DEVELOPING.md | Added install instructions and test tagging guidelines |
.prettierignore | Updated ignore rule for ESLint config |
.husky/pre-commit | Enabled lint-staged pre-commit hook |
.eslintrc.json | Removed outdated ESLint config |
Comments suppressed due to low confidence (5)
src/ui/app/assets/icons/index.tsx:5
- [nitpick] Icon exports should follow PascalCase (e.g.,
GuideLLMIconDark
) to remain consistent with other component names.
import guideLLMIconDark from './guidellm-icon-dark.png';
jest.setup.ts:4
- Mocks for newly added Nivo modules (
@nivo/scales
,@nivo/tooltip
) should be added here to prevent import errors during tests.
jest.mock('@nivo/bar');
jest.config.cjs:9
- Coverage collection is disabled by default; consider enabling
collectCoverage
to ensure UI test coverage metrics are maintained.
collectCoverage: false,
README.md:172
- [nitpick] Move 'This option is useful if:' to its own line under the heading to improve markdown readability.
2. Build and Serve the UI Locally (For Development) This option is useful if:
DEVELOPING.md:258
- Swap link text and URL for proper Markdown syntax:
[jest-runner-groups](https://www.npmjs.com/package/jest-runner-groups)
.
Reference [https://www.npmjs.com/package/jest-runner-groups](jest-runner-groups) Add @group with the tag in a docblock at the top of the test file to indicate which types of tests are contained within. Can't distinguish between different types of tests in the same file.
📦 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.
I reviewed all parts that look like they would benefit from a lookover. Why does the npx serve out
command just 404 for me? npm run dev
works, though.
Other than that, it looks good.
Thanks for reviewing! Probably should be In the release-candidate and release github workflows the e2e tests use this so cypress can hit localhost:3000. Also in #169 I added this This doesn't make a usable ui from my experience but this is what allows fully local guidellm development. Just wanted to call that out. |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
This PR actually implements the application logic including the UI/charts and the api setup that retrieves data from the window object.