Skip to content

Fix dashboard errors and add B200_PIRATE cluster support - #78

Merged
Harshith-umesh merged 2 commits into
openshift-psap:mainfrom
aas008:fix/dashboard-errors-and-pirate-cluster
Aug 31, 2026
Merged

Harshith-umesh merged 2 commits into
openshift-psap:mainfrom
aas008:fix/dashboard-errors-and-pirate-cluster

Conversation

@aas008

@aas008 aas008 commented Aug 11, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

This PR fixes critical dashboard errors and adds B200_PIRATE cluster Grafana dashboard support.

Changes

  1. Fix TypeError on missing accelerator/model/version values

    • Filters out rows with missing accelerator, model, or version fields during data load
    • Prevents crash: TypeError: '<' not supported between instances of 'float' and 'str'
    • Root cause: pandas reads empty CSV cells as np.nan (float), creating mixed types when .str.strip() is called
    • Adds warning logging when malformed rows are detected and dropped
    • Fixes production dashboard crash
  2. Add B200_PIRATE cluster Grafana dashboard support

    • Adds B200_PIRATE to GRAFANA_DASHBOARDS configuration
    • Dashboard ID: b200-pirate-vllm-dcgm
    • Dashboard name: vllm-2b-dcgm-metrics-b200-pirate
    • Enables "View Metrics" links for PIRATE cluster benchmarks

Testing

  • Verified TypeError fix prevents crash with CSV containing NaN values
  • Confirmed data quality filtering logs warnings appropriately
  • Checked PIRATE Grafana dashboard routing configuration

Related Issues

Fixes dashboard crash from malformed CSV data with missing critical fields.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • Improved dashboard data quality by excluding records with missing accelerator, model, or version details.
    • Prevented invalid or empty profile values from appearing in dashboard links.
  • New Features
    • Added a Grafana dashboard configuration for viewing filtered B200_PIRATE metrics.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: eb1c9e25-9644-46f2-be78-dd827a997fec

📝 Walkthrough

Walkthrough

dashboard.py now removes incomplete metric rows, adds Grafana metadata for B200 Pirate runs, and excludes null profile values during URL filter validation.

Changes

Dashboard data and links

Layer / File(s) Summary
Incomplete row filtering
dashboard.py
load_data drops rows missing accelerator, model, or version values and logs the number of removed rows.
Dashboard link configuration
dashboard.py
Grafana metric links support B200 Pirate runs. URL profile validation excludes null values before string conversion.

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

Possibly related PRs

Suggested reviewers: harshith-umesh

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes both main changes: dashboard error fixes and B200_PIRATE cluster support.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 Aug 11, 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 6 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (main@1e66bad). Learn more about missing BASE report.

Files with missing lines Patch % Lines
dashboard.py 0.00% 6 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@          Coverage Diff           @@
##             main     #78   +/-   ##
======================================
  Coverage        ?   3.49%           
======================================
  Files           ?       8           
  Lines           ?    8306           
  Branches        ?       0           
======================================
  Hits            ?     290           
  Misses          ?    8016           
  Partials        ?       0           
Flag Coverage Δ
unittests 3.49% <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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@dashboard.py`:
- Around line 341-349: Normalize the critical fields in the dataframe filtering
block before dropna: strip whitespace from accelerator, model, and version, then
convert empty strings to pd.NA so blank values are removed. Preserve the
existing dropped-row warning and add regression coverage for whitespace-only and
empty critical fields.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 1a52b3ea-f6f2-40f3-82d9-20d13b6e948f

📥 Commits

Reviewing files that changed from the base of the PR and between 7100702 and 6711020.

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

Comment thread dashboard.py
@Harshith-umesh

Copy link
Copy Markdown
Member

needs rebase

aas008 and others added 2 commits August 31, 2026 09:46
Fixes dashboard crash when CSV contains rows with empty accelerator,
model, or version fields. The error manifested as:
  TypeError: '<' not supported between instances of 'float' and 'str'

Root cause: pandas reads empty CSV cells as np.nan (float). When
.str.strip() is called, NaN values remain as floats while valid
values become strings, creating mixed types that sorted() cannot
compare.

Solution: Drop rows with missing critical fields during data load.
These rows indicate upstream data quality issues (Model Furnace
should always provide accelerator/model/version). Added logging
to track how many malformed rows are filtered out.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Adds B200 PIRATE cluster dashboard configuration to enable Grafana
metrics links for runs on the B200_PIRATE cluster.

Dashboard: vllm-2b-dcgm-metrics-b200-pirate
Dashboard ID: b200-pirate-vllm-dcgm

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@aas008
aas008 force-pushed the fix/dashboard-errors-and-pirate-cluster branch from 6711020 to 76c4667 Compare August 31, 2026 13:46
@Harshith-umesh
Harshith-umesh merged commit 6106803 into openshift-psap:main Aug 31, 2026
5 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.

3 participants