Skip to content

fix: cap telemetry chart Y-axis when outliers distort scale#686

Merged
harp-intel merged 1 commit intomainfrom
feature/telemetry-outlier-chart-scaling
Apr 10, 2026
Merged

fix: cap telemetry chart Y-axis when outliers distort scale#686
harp-intel merged 1 commit intomainfrom
feature/telemetry-outlier-chart-scaling

Conversation

@harp-intel
Copy link
Copy Markdown
Contributor

Summary

  • Telemetry data from turbostat and sar occasionally contains single readings that are orders of magnitude too high, compressing useful data into a tiny band at the bottom of HTML charts
  • Adds percentile-based outlier detection (computeAxisMax) that sets a hard Chart.js Y-axis max when the actual maximum exceeds P99 by more than 50%
  • Applied automatically to all auto-scaled telemetry charts via the shared telemetryTableHTMLRenderer function; charts with fixed bounds (e.g., CPU utilization 0-100%) are unaffected
  • Outlier data points are preserved — they clip to the axis edge and show real values in tooltips. JSON and XLSX outputs are completely unchanged.

Test plan

  • Unit tests for computeAxisMax covering normal data, outliers, edge cases (8 test cases)
  • make test — all tests pass
  • make check — all quality checks pass
  • Manual: run perfspect telemetry and verify HTML charts render with readable Y-axis scaling when outlier readings are present

🤖 Generated with Claude Code

Turbostat and sar telemetry data occasionally contains single readings
that are orders of magnitude too high, compressing useful data into a
tiny band at the bottom of HTML charts. Add percentile-based outlier
detection that sets a hard Y-axis max when the actual maximum exceeds
P99 by more than 50%, keeping charts readable while preserving outlier
values in tooltips. JSON and XLSX outputs are unaffected.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@harp-intel harp-intel merged commit 9a4b495 into main Apr 10, 2026
5 checks passed
@harp-intel harp-intel deleted the feature/telemetry-outlier-chart-scaling branch April 10, 2026 21:20
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