feat(experiments): Expose end-to-end latency metric on Evaluations - #1133
Merged
shanaiabuggy merged 4 commits intoAug 7, 2026
Merged
Conversation
Signed-off-by: shanaiabuggy <59746633+shanaiabuggy@users.noreply.github.com>
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughChangesEvaluation latency
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
…ncy-metric-on-evaluations
Contributor
|
BrianNewsom
reviewed
Aug 7, 2026
…m directly The computed field was a pure alias for latency_ms.sum with no added computation, and the frontend already routes the End-to-end latency column's sort and filter to the latency_ms.sum rollup stat. Remove the response field (and its OpenAPI/SDK surface) and have the cell read latency_ms.sum directly; sorting and filtering are unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: shanaiabuggy <59746633+shanaiabuggy@users.noreply.github.com>
BrianNewsom
approved these changes
Aug 7, 2026
shanaiabuggy
deleted the
sbuggy/ase-805-expose-end-to-end-serial-latency-metric-on-evaluations
branch
August 7, 2026 16:25
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.
Summary
Adds a first-class end-to-end latency metric to Evaluations: the total time to run an Evaluation's tasks serially. It is the sum of per-test-case latency, where a test case run more than once contributes the average of its attempts. Switchyard requested this for the Experiments leaderboard.
Under the hood this is
latency_ms.sum— the rollup already computes latency test-case-weighted (per-attempt → averaged per test case → distribution across test cases), solatency_ms.sumalready carries exactly this meaning. This PR names it as a dedicated response field and surfaces it in Studio; no new aggregation was required.Related Issue
Relates to ASE-805 (Linear).
Changes
end_to_end_latency_mscomputed field toEvaluationResponse(= latency_ms.sum), typed nullable (nullwhen no session carries latency).Optional[float], webnumber | null.ExperimentDataView), mapped to the API'slatency_ms.sumfor sort/filter, plus the reversedefault_sortmapping so a saved-latency_ms.sumhighlights this column. Null-safe cell.test_end_to_end_latency.py— the field equalslatency_ms.sumand serializes;nullwhen no latency.Type of Change
Quality Gates
Verification
Signed-off-by:traileruv run pre-commit run -apasses, or any blocked checks are identified belowTargeted validation:
uv run --frozen pytest services/intake/tests/test_end_to_end_latency.py -q→ 2 passedpnpm --filter nemo-studio-ui typecheck→ passespnpm --filter nemo-studio-ui lint→ cleanpnpm --filter nemo-studio-ui test src/components/dataViews/ExperimentDataView/util.test.ts→ 5 passed🤖 Generated with Claude Code
Summary by CodeRabbit