Skip to content

feat: separate dashboard into Virtual Threads and JVM Overview tabs#22

Merged
rlaope merged 3 commits intomasterfrom
feature/dashboard-tab-separation
Feb 10, 2026
Merged

feat: separate dashboard into Virtual Threads and JVM Overview tabs#22
rlaope merged 3 commits intomasterfrom
feature/dashboard-tab-separation

Conversation

@rlaope
Copy link
Owner

@rlaope rlaope commented Feb 9, 2026

Summary

  • Split single-page dashboard into two top-level tabs: [Virtual Threads] and [JVM Overview]
  • Virtual Threads tab (default): pinning alerts/hotspots at top (pinning-focused), VT event charts, recommendations, thread view/event history sub-tabs
  • JVM Overview tab: Memory & GC, CPU, Allocation & Metaspace, Profiling & Contention
  • Added feature flags status bar showing enabled/disabled features with overhead indicators (low/medium/high)
  • Added /config REST endpoint exposing current AgentConfig feature flags as JSON

Changes

File Change
index.html Restructured into vt-tab and jvm-tab containers, reordered pinning to top, added feature flags bar
style.css Added .main-tab-nav, .main-tab-btn, .main-tab-content, .feature-flags, .feature-badge styles
app.js Added main tab switching, fetchConfig(), renderFeatureFlags()
ArgusChannelHandler.java Added AgentConfig field, /config route, handleConfig() method
ArgusServer.java Pass config to ArgusChannelHandler constructor

Test plan

  • Run ./gradlew :samples:virtual-thread-simulation:runMetricsDemoFull -Dduration=60
  • Open http://localhost:9202/ — verify feature flags bar shows all features with overhead tags
  • Verify [Virtual Threads] tab shows: pinning alerts → hotspots → VT charts → recommendations → [Thread View | Event History]
  • Verify [JVM Overview] tab shows: GC → CPU → Allocation → Profiling sections
  • Verify tab switching works, sub-tabs (Thread View / Event History) work inside VT tab
  • Verify curl localhost:9202/config | jq returns feature flags JSON
  • Verify all charts and metrics continue updating in real-time on both tabs

🤖 Generated with Claude Code

rlaope and others added 2 commits February 9, 2026 17:50
Split the single-page dashboard into two top-level tabs:
- Virtual Threads tab (default): pinning alerts and hotspots at top,
  VT event charts, recommendations, thread view/event history sub-tabs
- JVM Overview tab: Memory & GC, CPU, Allocation & Metaspace,
  Profiling & Contention sections

Add feature flags status bar showing which monitoring features are
enabled/disabled with overhead indicators (low/medium/high).

Add /config REST endpoint exposing current AgentConfig feature flags.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When foojay resolver returns 503, Gradle cannot auto-provision JDK.
Tell Gradle to use the JDK installed by setup-java via JAVA_HOME.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rlaope
Copy link
Owner Author

rlaope commented Feb 9, 2026

window ci fail foojay 503

The -Dorg.gradle.java.installations.fromEnv=JAVA_HOME flag was parsed
as a task name by Windows PowerShell. The original foojay 503 error
was a transient external service issue, not a code problem.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rlaope rlaope merged commit 5c551bf into master Feb 10, 2026
8 checks passed
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.

1 participant