Skip to content

Show worker information on dashboard servers page - #191

Merged
viceroypenguin merged 3 commits into
mainfrom
dashboard-worker-info
Sep 30, 2026
Merged

viceroypenguin merged 3 commits into
mainfrom
dashboard-worker-info

Conversation

@dukesteen

@dukesteen dukesteen commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Closes #186

Summary

  • Extracts the server card from ServersView into a new ServerCard component.
  • Each card now shows one small slot per worker (from JobServerSnapshot.workers), filled when the worker is busy. Hovering shows the worker and job; clicking a busy slot opens the job's detail page.
  • Below the slots, only busy workers are listed, with a job link, attempt number and start time. If every worker is idle, the card says "All workers idle". This keeps cards short at the default of up to 32 workers.
  • The Aspire sample now runs 32 workers so the layout can be checked at the default maximum.
  • Adds a component test covering 32 workers with two busy, and the all-idle case.

No backend changes were needed: the servers endpoint already serializes Workers, and the client contracts.ts already typed it.

Testing

  • npm run check (lint, typecheck, vitest) passes
  • npm run build / npm run size pass

Summary by CodeRabbit

  • New Features
    • Server cards now show server IDs, heartbeat times, and worker capacity.
    • Worker lists show idle or active status; active workers link to job details and display attempt and start-time information.
  • Tests
    • Added coverage for rendering idle and active workers, including job links and attempt details.

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 03ec562d-e912-4784-ad13-6b3d1b1dfdc4

📥 Commits

Reviewing files that changed from the base of the PR and between 517a73d and 58ab4d9.

📒 Files selected for processing (4)
  • src/Immediate.Jobs.Dashboard/DashboardClient/src/components/ServerCard.vue
  • src/Immediate.Jobs.Dashboard/DashboardClient/src/styles.css
  • src/Immediate.Jobs.Dashboard/DashboardClient/src/views/ServersView.vue
  • src/Immediate.Jobs.Dashboard/DashboardClient/tests/components.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The dashboard now renders server cards with sorted worker details. Cards show server ID, heartbeat, worker counts, and each worker’s idle or active status. Active workers link to job details. A component test covers idle and active workers.

Changes

Server worker details

Layer / File(s) Summary
Server card content and styling
src/Immediate.Jobs.Dashboard/DashboardClient/src/components/ServerCard.vue, src/Immediate.Jobs.Dashboard/DashboardClient/src/styles.css
The new card sorts workers by ID and displays server details and worker status. Styles format worker rows and metadata.
Dashboard wiring and rendering test
src/Immediate.Jobs.Dashboard/DashboardClient/src/views/ServersView.vue, src/Immediate.Jobs.Dashboard/DashboardClient/tests/components.test.ts
The servers view renders each server with ServerCard. The test checks idle and active workers, including the active worker’s attempt and invocation link.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Suggested reviewers: viceroypenguin

Merge Risk: ⚪ Minimal · up to 58ab4

The dashboard adds sorted worker status and active-job navigation without changing backend contracts. No concrete merge-blocking issue is identified; merge after normal checks pass.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Issue #186 requires the dashboard to expose worker information from JobServerSnapshot. ServerCard.vue renders each server's workers, sorts them by workerId, shows idle state, and shows busy work…
Out of Scope Changes check ✅ Passed The changes stay within issue #186. The ServerCard extraction, worker-list styles, view integration, and component test directly support exposing worker information. No unrelated change is shown in …
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: showing worker information on the dashboard servers page.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Show one slot per worker and list only busy workers, so cards stay
short at the default of up to 32 workers.
@coveralls

coveralls commented Sep 30, 2026 •

Copy link
Copy Markdown

Coverage Report for CI Build 36726283328

Coverage increased (+0.2%) to 89.007%

Details

  • Coverage increased (+0.2%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 1 coverage regression across 1 file.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

1 previously-covered line in 1 file lost coverage.

File Lines Losing Coverage Coverage
src/Immediate.Jobs.LinqToDB/LinqToDBJobStorage.cs 1 88.1%

Coverage Stats

Coverage Status
Relevant Lines: 13409
Covered Lines: 11935
Line Coverage: 89.01%
Coverage Strength: 2.88 hits per line

💛 - Coveralls

@viceroypenguin
viceroypenguin merged commit 8137276 into main Sep 30, 2026
3 checks passed
@viceroypenguin
viceroypenguin deleted the dashboard-worker-info branch September 30, 2026 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update dashboard to include Worker information

3 participants