Remove code 0 latency metrics from latency average calculations#71
Open
meecethereese wants to merge 4 commits into
Open
Remove code 0 latency metrics from latency average calculations#71meecethereese wants to merge 4 commits into
meecethereese wants to merge 4 commits into
Conversation
…_rate Extract per-second bucketing logic into modules/vegeta/aggregate.awk shared between the live runner and merge.sh. Latency percentiles now ignore status_code=0 records (vegeta's marker for transport-level failures: connection refused, EOF, timeout) so percentiles reflect service response time rather than failure-detection time. Adds successful_count and success_rate fields so consumers can tell whether p99 was computed over many samples or a handful of survivors. rps, code.hist, and byte sums still count every record, so sum(code.hist[*]) == rps remains an invariant. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
modules/vegeta/run/run.sh now pipes vegeta encode --to csv through
gawk -f aggregate.awk, the same aggregator merge.sh uses. Live and
merged JSON outputs now share one schema, and the live path inherits
the code-0 latency filter plus the new successful_count and
success_rate fields.
Code histogram keys are now exact status codes (e.g. "0", "200",
"503") rather than jaggr's binned families ("100"..."500").
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New synthetic-data test in modules/vegeta/test/test.sh exercises three
buckets: mixed (5 successes + 5 code-0 timeouts), all successes, all
failures. Asserts that p99 in the mixed bucket excludes the 30s code-0
timeouts, that successful_count and success_rate match expected values,
that the all-failure bucket emits latency:{0,0,0} without crashing, and
that the live and merge paths produce byte-identical output for in-order
input.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The Data flow for results section now describes the gawk-based aggregator pipeline (replacing the previous jaggr step), the unified live/merge schema, and the latency-filter behavior. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR updates our latency metrics to only report latency for requests that received a response from the server. It accomplishes this by reusing the logic from the merge script and filtering out code 0 latency data. We also add success count and success rate metrics too.