Skip to content

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

Merged
merged 113 commits into from
Jun 24, 2025
Merged

Implement guidellm UI #169

merged 113 commits into from
Jun 24, 2025

Conversation

DaltheCow
Copy link
Collaborator

This PR actually implements the application logic including the UI/charts and the api setup that retrieves data from the window object.

DaltheCow added 30 commits May 9, 2025 11:40

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15586746288/artifacts/3305828197.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15587058126/artifacts/3305949563.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15593560473/artifacts/3308527511.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15593608740/artifacts/3308546054.
They will be retained for up to 30 days.

@markurtz markurtz requested review from Copilot and markurtz and removed request for Copilot June 17, 2025 12:45

Unverified

We had a problem verifying this signature. Please try again later.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15707606949/artifacts/3345113057.
They will be retained for up to 30 days.

Copy link
Contributor

@Copilot Copilot AI left a 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, and benchmarksScript 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.

Unverified

We had a problem verifying this signature. Please try again later.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15786784316/artifacts/3372753649.
They will be retained for up to 30 days.

jaredoconnell
jaredoconnell previously approved these changes Jun 21, 2025
Copy link
Collaborator

@jaredoconnell jaredoconnell left a 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.

@DaltheCow
Copy link
Collaborator Author

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 npx serve src/ui/out since the out directory is nested under src/ui. You would need to have already run npm run build to generate the out dir where the build lives.

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 npm run serve command: https://github.com/neuralmagic/guidellm/blob/d4af2274f0f03d056eaa8ae7a39e7de6f2bf0952/package.json#L8

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
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15832203735/artifacts/3385865341.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15840205966/artifacts/3388582727.
They will be retained for up to 30 days.

Unverified

We had a problem verifying this signature. Please try again later.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15850870021/artifacts/3392005154.
They will be retained for up to 30 days.

@markurtz markurtz merged commit fc2a63b into main Jun 24, 2025
15 checks passed
@markurtz markurtz deleted the implement-guidellm-ui branch June 24, 2025 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI Front-end workstream
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants