Skip to content

feat(agentx): aggregate full-response ITL and interactivity - #2504

Merged
cquil11 merged 15 commits into
mainfrom
agent/full-response-agentx-tps
Aug 7, 2026
Merged

cquil11 merged 15 commits into
mainfrom
agent/full-response-agentx-tps

Conversation

@cquil11

@cquil11 cquil11 commented Aug 5, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • pin the AIPerf submodule to agentx-v1.0.2 at the merged full-response implementation
  • aggregate full_response_inter_token_latency from AgentX per-request profile records
  • expose latency statistics at request_metrics.latency.full_response_itl
  • derive matching slow-tail interactivity at request_metrics.latency.full_response_intvty

Why

AgentX can receive a server-reported raw token count even when a structured-output parser stops emitting visible content before generation completes. The existing ITL then mixes the raw token count with a shorter parsed-content interval.

The full-response ITL uses the client-observed interval through HTTP response completion. InferenceX derives each interactivity statistic as the reciprocal of its matching ITL statistic, consistent with the existing itl and intvty fields. For example, full-response p75 interactivity is 1 / p75(full-response ITL), preserving slow-tail percentile semantics.

Validation

  • PYTHONPATH=. uv run pytest -q utils/agentic/aggregation: 43 passed
  • Python compile check: passed
  • git diff --check: passed
  • B300 Kimi AgentX sweep: running

Dependencies and merge order

  1. feat: add full-response ITL and output throughput agentx-harness#36 (merged and tagged agentx-v1.0.2)
  2. This PR
  3. fix(agentx): use full-response interactivity InferenceX-app#677

Signed-off-by: Cam Quilici <cjquilici@gmail.com>
@cquil11
cquil11 requested a review from a team August 5, 2026 18:30

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Beyond the inline finding, I checked two other candidate issues in the new aggregation and ruled both out: stats dropping when request start/end ns metadata is missing, and degenerate zero/non-positive values not being filtered — neither holds up against the actual aggregation logic.

Extended reasoning...

Two additional candidate issues around the new full_response_output_token_throughput_per_user aggregation were examined this run and ruled out: (1) concern that records missing request_start_ns/request_end_ns metadata would silently drop the new stat — this is not the case, extract_per_record_floats/stats_for operate independently of the start/end-ns filtering used for duration, so the new metric's per-record extraction is unaffected by that gate; (2) concern that degenerate zero/non-positive full_response_output_token_throughput_per_user values would skew mean/percentiles unfiltered — to_float only excludes None/non-numeric values, but this mirrors how input_tokens/output_tokens and other existing throughput stats in this same file are handled (no zero-filtering there either), so this is consistent with existing conventions rather than a new defect.

Comment thread utils/agentic/aggregation/request_metrics.py
Signed-off-by: Cam Quilici <cjquilici@gmail.com>
@cquil11 cquil11 changed the title feat(agentx): aggregate full-response output TPS feat(agentx): aggregate full-response ITL and interactivity Aug 5, 2026
@cquil11 cquil11 added agentx-fast Run AgentX throughput with 1 warmup request per lane and a 20-minute profile; not reusable full-sweep-enabled labels Aug 5, 2026
Signed-off-by: Cam Quilici <cjquilici@gmail.com>
@cquil11
cquil11 force-pushed the agent/full-response-agentx-tps branch from d368c20 to 1985ac7 Compare August 5, 2026 20:40
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@cquil11
cquil11 marked this pull request as draft August 7, 2026 03:07
@cquil11
cquil11 marked this pull request as ready for review August 7, 2026 03:08
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@cquil11

cquil11 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

/stage-results 31143750490

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@cquil11 /stage-results requires a completed run from a PR using one of: full-sweep-enabled, non-canary-full-sweep-enabled, full-sweep-fail-fast, full-sweep-fail-fast-no-canary.

@cquil11

cquil11 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

/stage-results 31143750490

@cquil11

cquil11 commented Aug 7, 2026 •

Copy link
Copy Markdown
Collaborator Author

@cquil11 staged run 31143750490: https://inferencemax-app-git-staging-semianalysisai.vercel.app/inference?i_dates=2026-08-07~r31143750490

This run remains available across future /stage-results requests. Staging the same run ID again updates its staged data. Staging workflow

@cquil11 已将运行 31143750490 发布到预发布环境:https://inferencemax-app-git-staging-semianalysisai.vercel.app/inference?i_dates=2026-08-07~r31143750490

后续的 /stage-results 请求不会移除此运行;再次发布相同的运行 ID 会更新其预发布数据。预发布工作流

@cquil11 cquil11 removed sweep-enabled full-sweep-enabled agentx-fast Run AgentX throughput with 1 warmup request per lane and a 20-minute profile; not reusable ci-checklist-complete labels Aug 7, 2026
@cquil11
cquil11 merged commit b5b459d into main Aug 7, 2026
4 checks passed
@cquil11
cquil11 deleted the agent/full-response-agentx-tps branch August 7, 2026 05:48
jiacao-amd pushed a commit that referenced this pull request Aug 7, 2026
Resolves the perf-changelog.yaml conflict by keeping both sides: the
branch's dsv4-fp4-mi355x-vllm-agentic-mtp DEP8 entry and main's
dsr1/dsv4-b200/gb300/glm5.2/qwen3.5 entries are independent appends at
the same list position.

Brings in the AIPerf submodule bump past agentx-v1.0.1 (b7b16cf, #2484)
to main's current 743fb82 (#2504, full-response ITL + interactivity
aggregation).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant