Skip to content

Label y-axis units on stress-test CPU and inode panels - #69945

Open
charzl wants to merge 1 commit into
saltstack:masterfrom
charzl:fix/69944-stress-panel-unit-labels
Open

Label y-axis units on stress-test CPU and inode panels#69945
charzl wants to merge 1 commit into
saltstack:masterfrom
charzl:fix/69944-stress-panel-unit-labels

Conversation

@charzl

@charzl charzl commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do

Fixes #69944.

Adds explicit y-axis labels for the two panel unit types in tests/monitoring/render_panels.py that were previously unlabeled:

  • CPU Usage panels (Master, Minion 1-3, API) use Grafana's percentunit (a 0-1 ratio where 1.0 == 1 full CPU core), matching rate(container_cpu_usage_seconds_total[...]) from cAdvisor. Without a label, a value like 1.2 is easy to misread as "1.2% of the host" instead of 1.2 CPU cores.
  • Minion Inodes (Disk Files) panels use Grafana's short unit (a plain count from inodes_total - inodes_free) and also had no y-axis label.

This follows the exact same pattern the file already uses for byte-family units (ax.set_ylabel("MB")), just extended to the other two unit types actually present in salt_monitoring.json.

What issues does this PR fix or reference

Fixes #69944

Merge requirements satisfied

  • New/modified test cases in this PR are consistent with existing test coverage. This is a CI-tooling script (renders diagnostic PNGs for the nightly stress test dashboard), not covered by Salt's own test suite; verified manually against the checked-in salt_monitoring.json unit definitions (percentunit for the CPU panels, short for the inode panels).

If your PR is still in progress please convert it to a draft PR.

Fixes saltstack#69944

The CPU Usage panels (Master, Minion 1-3, API) use Grafana's
percentunit, a 0-1 ratio where 1.0 == 1 full CPU core -- matching
rate(container_cpu_usage_seconds_total[...]) semantics from cAdvisor.
Without a label, a value like 1.2 is easy to misread as "1.2% of the
host" rather than 1.2 CPU cores. The Minion Inodes panels use
Grafana's "short" unit (a plain count) and also had no y-axis label.

render_panels.py already special-cases bytes-family units to convert
to MB and label the axis; this follows the same pattern for
percentunit and short so every rendered panel states what its numbers
mean.
@dwoz

dwoz commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@charzl Target this to 3008.x please

@twangboy
twangboy changed the base branch from master to 3008.x August 4, 2026 15:46
@twangboy
twangboy changed the base branch from 3008.x to master August 4, 2026 15:46
@twangboy twangboy added the test:full Run the full test suite label Aug 4, 2026
@twangboy twangboy added this to the Argon v3008.3 milestone Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:full Run the full test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nightly stress test dashboard: CPU/Inodes panels missing y-axis unit labels

3 participants