Skip to content

Add opt-in HANG-DIAG logging to chat stream generator#5

Open
prakhar-prakash-juspay wants to merge 2 commits into
kimi-2.6-v0.19.1-custom-fixesfrom
kimi-hang-diag-logging
Open

Add opt-in HANG-DIAG logging to chat stream generator#5
prakhar-prakash-juspay wants to merge 2 commits into
kimi-2.6-v0.19.1-custom-fixesfrom
kimi-hang-diag-logging

Conversation

@prakhar-prakash-juspay

@prakhar-prakash-juspay prakhar-prakash-juspay commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Logs a single HANG-DIAG line per request at completion or cancellation to identify hung requests and their cause: ttft_engine=NEVER points to a queue/prefill/engine stall, while gen_tokens>0 with content_chunks=0 points to parser suppression.

Off by default; enable with VLLM_KIMI_HANG_DEBUG=1. When disabled the only added work is one time.monotonic() call per request, so it is safe to ship to prod and flip on per-instance.

Purpose

Test Plan

Test Result


Essential Elements of an Effective PR Description Checklist
  • The purpose of the PR, such as "Fix some issue (link existing issues this PR will resolve)".
  • The test plan, such as providing test command.
  • The test results, such as pasting the results comparison before and after, or e2e results
  • (Optional) The necessary documentation update, such as updating supported_models.md and examples for a new model.
  • (Optional) Release notes update. If your change is user facing, please update the release notes draft in the Google Doc.

Logs a single HANG-DIAG line per request at completion or cancellation to
identify hung requests and their cause: ttft_engine=NEVER points to a
queue/prefill/engine stall, while gen_tokens>0 with content_chunks=0 points
to parser suppression.

Off by default; enable with VLLM_KIMI_HANG_DEBUG=1. When disabled the only
added work is one time.monotonic() call per request, so it is safe to ship
to prod and flip on per-instance.
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

👋 Hi! Thank you for contributing to the vLLM project.

💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels.

Just a reminder: PRs would not trigger full CI run by default.

Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging.

To run CI, PR reviewers can either: Add ready label to the PR or enable auto-merge.

If you have any questions, please reach out to us on Slack at https://slack.vllm.ai.

🚀

Starlette tears the streaming async generator down via aclose() ->
GeneratorExit (not CancelledError) on client disconnect / upstream
read-timeout. Catch both so the HANG-DIAG line records cancelled
accurately for either teardown path.

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant