docs(changelog): Merge Queue Testing Duration chart#158
Conversation
New Testing Duration chart on the Merge Queue Health tab with Outcome / Cycle-ended-in filters, statistical measures, and inline drill-down into individual test runs. Source eng PRs: trunk-io/trunk2#3919 (base chart), trunk-io/trunk2#3936 (drill-down) Linear: TRUNK-18284 (primary), TRUNK-18256, TRUNK-18239, TRUNK-18347 (absorbed dups) Date basis: latest source PR mergedAt (trunk2#3936, 2026-05-13) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
Verification status (2026-05-29): On in staging only. Re-run after prod rollout.
Hold publishing until |
|
Code verification (2026-05-28): 6 confirmed / 0 contradicted / 0 ambiguous / 0 unverifiable
All factual claims in the entry match source. No contradictions. Filter labels render verbatim from the proto enums; measures and inline-drill-down behavior match the frontend components. Source #1 — Outcome / Cycle ended in filter values (confirmed)File: enum TestingDurationOutcome {
TESTING_DURATION_OUTCOME_UNSPECIFIED = 0; // no filter
TESTING_DURATION_OUTCOME_PASSED = 1;
TESTING_DURATION_OUTCOME_FAILED = 2;
TESTING_DURATION_OUTCOME_INTERRUPTED = 3;
TESTING_DURATION_OUTCOME_CANCELLED = 4;
}
enum TestingDurationCycleEndedIn {
TESTING_DURATION_CYCLE_ENDED_IN_UNSPECIFIED = 0; // no filter
TESTING_DURATION_CYCLE_ENDED_IN_MERGED = 1;
TESTING_DURATION_CYCLE_ENDED_IN_FAILED = 2;
TESTING_DURATION_CYCLE_ENDED_IN_CANCELLED = 3;
TESTING_DURATION_CYCLE_ENDED_IN_IN_FLIGHT = 4; // cycle has not yet concluded
}Reasoning: The proto enums are the contract for both filters. The frontend label maps in Source #2 — Statistical measures (confirmed)File: timeSeriesDataAvg: "Average",
timeSeriesDataMax: "Max",
timeSeriesDataMin: "Min",
timeSeriesDataSum: "Sum",
timeSeriesDataP50: "p50",
timeSeriesDataP95: "p95",
timeSeriesDataP99: "p99",Reasoning: The label map enumerates all seven measures the chart exposes, matching the entry. Percentile labels render lowercase ("p50") in the UI; the entry uses uppercase P50/P95/P99 as prose, which is a stylistic match, not a value difference. Source #3 — Per-transition data points (confirmed)File: // One row per TESTING -> * transition; the same PR can appear multiple
// times if its cycle was restarted or if there were multiple cycles.Reasoning: Directly backs the entry's statement that each data point is one testing-to-final-state transition and a PR appears more than once if its cycle restarted. Source #4 — Independent bucketing, no hover sync (confirmed)File: trunk-io/trunk2#3919 PR body
Reasoning: The author of the implementing PR states the chart buckets independently and does not share hover-sync with the Conclusion count / Time in queue charts, matching the entry. Source #5 — Inline drill-down table (confirmed)File:
Reasoning: Confirms clicking a data point opens an inline table of the individual test runs below the chart. The referenced |
|
Verification status (May 30, 2026): On in staging only. Re-run after prod rollout.
Hold publishing until Generated by Claude Code |
|
Verification status (May 31, 2026): On in staging only. Re-run after prod rollout.
Hold publishing until Generated by Claude Code |
|
Verification status (June 1, 2026): On in staging only. Re-run after prod rollout.
Next: keep in draft. Re-run after the flag flips on in production. PR is conflicting on shared changelog nav files; conflicts handled separately. Unchanged from prior sweep. Generated by Claude Code |
|
Verification status: live - June 2, 2026 Verified: customers can use this. Ready to publish.
Generated by Claude Code |
What shipped: A Testing Duration chart on the Merge Queue Health tab that measures how long PRs spend in the testing phase (distinct from Time in Queue), with Outcome and Cycle-ended-in filters and statistical measures (Average/Min/Max/Sum/P50/P95/P99). Clicking a data point opens an inline table of the individual test runs behind that period.
Source eng PRs:
Linear tickets (dedup cluster, one synthesized entry):
Date basis: latest source PR mergedAt — trunk2#3936 merged 2026-05-13.
Four wired files:
changelog/2026-05-13-merge-queue-testing-duration-chart.mdx(entry)docs.json(Changelog 2026 nav, slotted by date)changelog/index.mdx(May 2026<Update>)merge-queue/changelog.mdx(product index May 2026<Update>)Distinct from the already-published 2026-04-21 "Drill Down Into Merge Metrics" entry, which covers the Conclusion count / Time in queue charts — this is the separate Testing Duration chart.
Docs link: https://docs.trunk.io/merge-queue/administration/metrics
🤖 Generated with Claude Code