[None][chore] Fix/disagg perf failure detection - #11904
Conversation
… to result dir Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com>
📝 WalkthroughWalkthroughThe changes add tracking and reporting of failed requests to the benchmark execution pipeline. The report parser now extracts failed and total request counts from log files. The executor uses these metrics to conditionally override benchmark results to FAILED status with descriptive error messages when requests fail. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
tests/integration/defs/perf/disagg/execution/executor.py (1)
735-742: Set an explicit terminal status on parse failure.At Line 742, this returns with default
status="UNKNOWN". Settingstatus="FAILED"(or"ERROR") here would make downstream reporting less ambiguous.💡 Proposed tweak
if not parse_result["status"]: error_msg = "Failed to parse benchmark logs" if failed_requests > 0: error_msg += f" ({failed_requests}/{total_requests} requests failed)" + result["status"] = "FAILED" result["error"] = error_msg return result🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@tests/integration/defs/perf/disagg/execution/executor.py` around lines 735 - 742, When parse_result indicates failure (parse_result["status"] is falsy) and you build the error message into result["error"], also set an explicit terminal status (e.g., result["status"] = "FAILED" or "ERROR") so downstream reporting isn't left as the default "UNKNOWN"; update the block that checks parse_result["status"] (the same block that computes failed_requests/total_requests and sets result["error"]) to assign result["status"] = "FAILED" (or "ERROR") alongside setting result["error"] to make the final state explicit.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@tests/integration/defs/perf/disagg/reporting/report.py`:
- Around line 93-97: The code currently only assigns failed_requests and
total_requests when both re.search calls match, using the first match; instead,
parse each counter independently and pick the latest occurrence (use re.findall
instead of re.search or iterate over re.finditer) so you set failed_requests
from the last match of the "Total failed requests" pattern and total_requests
from the last match of the "Total requests" pattern, and handle missing values
explicitly (e.g., default to 0 or raise/log a clear error) so downstream logic
using failed_requests/total_requests is correct; update references to
failed_match/total_match and the assignments to failed_requests/total_requests
accordingly.
---
Nitpick comments:
In `@tests/integration/defs/perf/disagg/execution/executor.py`:
- Around line 735-742: When parse_result indicates failure
(parse_result["status"] is falsy) and you build the error message into
result["error"], also set an explicit terminal status (e.g., result["status"] =
"FAILED" or "ERROR") so downstream reporting isn't left as the default
"UNKNOWN"; update the block that checks parse_result["status"] (the same block
that computes failed_requests/total_requests and sets result["error"]) to assign
result["status"] = "FAILED" (or "ERROR") alongside setting result["error"] to
make the final state explicit.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 2250f97d-b5ce-4b3e-a3a5-ed53c8c6eab2
📒 Files selected for processing (2)
tests/integration/defs/perf/disagg/execution/executor.pytests/integration/defs/perf/disagg/reporting/report.py
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com>
|
/bot run --stage-list "" |
|
PR_Github #37675 [ run ] triggered by Bot. Commit: |
fredricz-20070104
left a comment
There was a problem hiding this comment.
Okay, it's used to detect the failed requests.
|
PR_Github #37675 [ run ] completed with state |
|
/bot reuse-pipeline |
|
PR_Github #37783 [ reuse-pipeline ] triggered by Bot. Commit: |
|
PR_Github #37783 [ reuse-pipeline ] completed with state |
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Signed-off-by: Wangshanshan <30051912+dominicshanshan@users.noreply.github.com>
Summary by CodeRabbit
New Features
Improvements
Description
Test Coverage
PR Checklist
Please review the following before submitting your PR:
PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.
PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.
Test cases are provided for new code paths (see test instructions)
Any new dependencies have been scanned for license and vulnerabilities
CODEOWNERS updated if ownership changes
Documentation updated as needed
Update tava architecture diagram if there is a significant design change in PR.
The reviewers assigned automatically/manually are appropriate for the PR.
Please check this after reviewing the above items as appropriate for this PR.
GitHub Bot Help
To see a list of available CI bot commands, please comment
/bot help.