Skip to content

Nightly stress test: skip the warm-up when checking the Master RSS slope - #70681

Closed
charzl wants to merge 3 commits into
saltstack:masterfrom
charzl:ci/stress-test-skip-warmup
Closed

charzl wants to merge 3 commits into
saltstack:masterfrom
charzl:ci/stress-test-skip-warmup

Conversation

@charzl

@charzl charzl commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

The nightly stress test failed on the Master RSS slope (244 KB/sec, limit 10 KB/sec). analyze_stats.py fitted the last 30m, which is the whole default run, so the start-up ramp-up of RSS was counted as a leak.

  • The slope window now starts 10 minutes after the stress starts, and is at least the last 5 minutes. The workflow records the start time in STRESS_START_EPOCH. The warm-up can be changed with STRESS_WARMUP_SECONDS.
  • The shortest duration option is now 15m (10m warm-up + 5m of data); it was 10m.
  • The Master RSS slope limit is 15 KB/sec (was 10 KB/sec). Master RSS is not flat: it moves by a few hundred MB about every 6 minutes, so the fitted slope keeps some noise. Two 30m runs measured about 13 and 7 KB/sec.
  • The counter-reset check in check_salt_prometheus_metrics now uses the real run length instead of a fixed 30m.

What issues does this PR fix or reference?

Fixes #70677

Notes

  • A 15m run is judged on about 5 minutes of data. That is too short for a reliable RSS slope, so use it as a smoke test and rely on 30m or longer for the leak check.
  • Tested on a fork with 30m runs. I have not run it on this repository.

Merge requirements satisfied?

CI only: no docs, tests or changelog entry.

  • Docs
  • Changelog
  • Tests written/updated

Commits signed with GPG?

No

The slope was computed over the last 30m, which is the whole default run,
so the start-up ramp-up of RSS looked like a leak.

- analyze_stats.py: use the data after the 10m warm-up (at least the last
  5m), based on the real run length from STRESS_START_EPOCH
- workflow: record STRESS_START_EPOCH; shortest duration is now 15m
  (10m warm-up + 5m of data)
Master RSS oscillates by a few hundred MB every ~6 minutes, so the fit
over the post-warm-up window keeps some noise.  A 30m run measured
13 KB/sec against the old limit of 10 KB/sec.
Two 30m runs measured about 13 and 7 KB/sec after the warm-up; 20 KB/sec
was more room than needed.
@charzl
charzl requested a review from a team as a code owner November 4, 2026 21:18
@charzl

charzl commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator Author

Closing: this fix should go to 3006.x first. I will open a new PR against 3006.x.

This branch was previously deployed

1 inactive deployment
ci — e0ed8878 Deployed Nov 4, 2026 by charzl via Build Onedir Packages / DEB (arm64) #28431
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.

Nightly stress test: ignore first 10 minutes of RSS data in leak check

1 participant