Skip to content

feat(dashboard): add Grafana link routing for Athena and Janus - #103

Open
aas008 wants to merge 1 commit into
openshift-psap:mainfrom
aas008:feat/onboard-athena-janus
Open

aas008 wants to merge 1 commit into
openshift-psap:mainfrom
aas008:feat/onboard-athena-janus

Conversation

@aas008

@aas008 aas008 commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Adds _is_athena_run() and _is_janus_run() routing functions matching runs prefixed with athena-/janus-
  • Adds H200_ATHENA and H200_JANUS entries in GRAFANA_DASHBOARDS — both pointing to the combined multi-cluster dashboard (df28i54z7okcgf) with var-cluster_name pre-set for the respective cluster
  • Adds H200_ATHENA and H200_JANUS to SGLANG_GRAFANA_DASHBOARDS for SGLang runs

Both clusters have Thanos metric ingestion set up and data is already queryable in the combined Grafana dashboard. The combined dashboard is used (rather than per-cluster dashboards) since it already has a cluster dropdown.

Test plan

  • Run from Athena (cluster_tag=athena) generates a Grafana link to the combined dashboard filtered to psap-fire-athena
  • Run from Janus (cluster_tag=janus) generates a Grafana link to the combined dashboard filtered to psap-de-h200-cluster

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Profile selectors now show hover tooltips with available profile details, including input and output token counts. Performance Trends and the LLM dashboard also display selected profile information, such as samples, conversation turns, prefix tokens, and descriptions when available.
    • Athena and Janus cluster runs now link to their respective H200 Grafana dashboards, and these clusters are included in the SGLang H200 dashboard mapping.

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 54 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ad0b1aca-426a-4c28-8bcb-7d093900c532
📥 Commits

Reviewing files that changed from the base of the PR and between dcedd6a and 3d8a00b.

📒 Files selected for processing (1)
  • dashboard.py

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 98a444aa-2041-494b-a1cd-c462d867cb3d

📥 Commits

Reviewing files that changed from the base of the PR and between ef4aa24 and dcedd6a.

📒 Files selected for processing (5)
  • custom_dropdown.py
  • dashboard.py
  • dashboard_styles.py
  • llmd_dashboard.py
  • tests/test_custom_dropdown.py

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 change adds profile metadata lookup, tooltip behavior, and selected-profile details to dashboard selectors. It also adds Athena and Janus H200 Grafana dashboard configurations and routes matching run names to those dashboards.

Changes

Profile Details and Tooltips

Layer / File(s) Summary
Profile metadata and lookup
custom_dropdown.py, tests/test_custom_dropdown.py
Adds seven profile entries, lookup across token-pair display variants, and tests for exact, normalized, alias, and unmatched inputs.
Tooltip injection
custom_dropdown.py, dashboard_styles.py
Maps profile display variants to tooltip text. Injected JavaScript binds hover and active-option tooltips and tags selected icons; CSS displays an information icon for tagged targets.
Dashboard profile selectors
dashboard.py, llmd_dashboard.py
Adds profile hover guidance to selectors. Performance Trends and the LLM dashboard display available details for the selected profile. Both dashboards call the tooltip injector.

Athena and Janus Grafana Routing

Layer / File(s) Summary
Cluster dashboard configuration and selection
dashboard.py
Adds Athena and Janus H200 dashboard configurations and SGLang mappings. Run-name checks recognize hyphenated and underscored prefixes, and Grafana link selection uses the matching dashboard configuration.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant DashboardSetup
  participant inject_profile_tooltips
  participant ParentDocument
  participant ProfileOption
  DashboardSetup->>inject_profile_tooltips: inject tooltip script
  inject_profile_tooltips->>ParentDocument: add script and profile tooltip map
  ParentDocument->>ProfileOption: bind hover and active-option events
  ProfileOption->>ParentDocument: provide option label
  ParentDocument->>ProfileOption: display matching tooltip
Loading

Suggested reviewers: harshith-umesh

Merge Risk: 🔵 Low · up to dcedd

This adds profile tooltips and Grafana routing for Athena and Janus. Before merging, confirm that the generated Grafana links open the correct dashboards and that the tooltips render. A failure would be cosmetic or a wrong link, not data loss.

Security Architecture Review

Security architecture risk: 🔵 Low · up to dcedd

The examined changes use predefined profile descriptions and fixed Grafana destinations. No attacker-controlled executable-content path was identified. Risk remains low rather than minimal because the new parent-page scripting behavior and downstream dashboard access depend on runtime controls that were not verified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • observed — The tooltip script operates across the current parent document, observing its body and querying all option and widget-label elements. Its observed authority is broader than its component iframe, though the examined operations remain tooltip presentation and icon tagging.

Security Findings and Attack Paths

  • inferred — No attacker-controlled executable-content path was established in the examined tooltip flow: metadata is predefined, option labels only select map entries, and output uses textContent. This conclusion is limited to the inspected path and does not establish complete security coverage.

Trust Boundaries and Controls

  • observed — The new script explicitly crosses from component execution into window.parent.document. The singleton flag limits duplicate installation; it is not an authorization or isolation control.
  • inferred — Cluster query variables are navigation and filtering presets, not demonstrated tenant-isolation controls. Effective access to other clusters depends on Grafana permissions, which were not verified. The examined routing code does not itself establish an authorization bypass.

Resilience and Maintainability Implications

  • inferred — The document flag and per-option markers prevent ordinary duplicate installation. However, the flag is set before initialization completes, and the observer has no retained teardown handle. Partial initialization can suppress retries; same-document body replacement can leave stale observation and detached tooltip state. These are browser-UI lifecycle limitations, not an established failure of a security control.

Hardening Proposals

  • proposed — Give the parent-document tooltip installation explicit lifecycle ownership: mark initialization complete only after successful setup, retain cleanup handles, and define recovery when the tooltip or observed body is replaced.
🚥 Pre-merge checks | ✅ 4 | ❓ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ❓ Inconclusive Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 24 functions across 4 files. (1 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately identifies the primary objective: adding Grafana routing for Athena and Janus runs. The pull request also adds profile tooltip functionality, but the title does not need to cover …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 24 functions across 4 files. (1 skipped: 1 too large.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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.

@codecov-commenter

codecov-commenter commented Oct 2, 2026 •

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 0% with 15 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (main@ef4aa24). Learn more about missing BASE report.

Files with missing lines Patch % Lines
dashboard.py 0.00% 15 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@          Coverage Diff           @@
##             main    #103   +/-   ##
======================================
  Coverage        ?   3.47%           
======================================
  Files           ?       8           
  Lines           ?    8343           
  Branches        ?       0           
======================================
  Hits            ?     290           
  Misses          ?    8053           
  Partials        ?       0           
Flag Coverage Δ
unittests 3.47% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Adds _is_athena_run() and _is_janus_run() routing functions and
corresponding GRAFANA_DASHBOARDS entries for H200_ATHENA and H200_JANUS.
Both point to the combined multi-cluster dashboard (df28i54z7okcgf) with
the cluster pre-filtered via var-cluster_name, so runs from these clusters
get a direct Grafana link like any other H200 cluster.

SGLang runs from Athena/Janus route to the existing SGLang dashboard.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@aas008
aas008 force-pushed the feat/onboard-athena-janus branch from dcedd6a to 3d8a00b Compare October 6, 2026 18:25
@aas008
aas008 requested a review from Harshith-umesh October 6, 2026 18:25
@aas008 aas008 self-assigned this Oct 6, 2026
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.

2 participants