fix(cli): close prebuild runner prometheus server last #21053
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes the
exp scaletest prebuildscommand where the prometheus server was being shut down before waiting for metrics to be scraped.The issue was the defer order - since defers execute in LIFO (last-in, first-out) order:
Before (broken):
Execution order: prometheus closes first, then wait happens (server already gone!)
After (fixed):
Execution order: wait happens first (server still up), then prometheus closes.
This matches the pattern used in other scaletest commands.
Impact
The
coderd_scaletest_prebuild_deletion_jobs_completedmetric (and potentially others) was always showing 0 because the server shut down before Prometheus could scrape the final values.This PR was generated by
muxand reviewed by a human.