Skip to content
cccskills
FreePublished on GitHub

clean-startup-log

Collect and review SGLang startup logs to identify unnecessary output and trace its source. Get saved logs and specific cleanup proposals while preserving useful diagnostics, with runtime changes left for user approval.

OriginalShow the original description

Audit SGLang startup logs, save evidence, and propose cleanup for user review. With no arguments, run Qwen3-8B at TP1 and TP2 plus gpt-oss-20b at TP1.

See how to install

Good for

  • Investigating repeated messages in startup logs
  • Checking which startup warnings need attention
  • Comparing startup logs across models and GPU counts
  • Reviewing evidence before approving logging changes

Files included (2)

  • SKILL.md5.8 KB
  • references/noise-sources.md4.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Audit SGLang Startup Logs

The default outcome is saved logs and a findings report. Apply runtime changes only after the user selects them. A request to edit this skill does not itself launch servers.

Default runs

A bare $clean-startup-log invocation runs these cases sequentially without asking for commands. Explicit commands, models, or TP sizes replace this matrix.

Case / log filenameCommand
qwen3-8b-tp1.loguv run sglang serve --model-path Qwen/Qwen3-8B
qwen3-8b-tp2.loguv run sglang serve --model-path Qwen/Qwen3-8B --tp 2
gpt-oss-20b-tp1.loguv run sglang serve --model-path openai/gpt-oss-20b

These cover dense, tensor-parallel, and MoE/hybrid sliding-window attention startup. Reuse complete captures from the current audit when code and environment have not changed.

Capture logs

  1. Check the checkout, free GPUs, and ports once. Use the requested command when resources are free; otherwise select free GPUs with CUDA_VISIBLE_DEVICES and an unused --port, recording the adjustments. Leave existing servers alone.
  2. Create a unique directory with mktemp -d /tmp/sglang-startup-audit-XXXXXX. Save raw stdout and stderr together in a separate log for each case, for example with set -o pipefail and COMMAND 2>&1 | tee LOG_PATH. Record commands, GPU IDs, ports, commit, relevant overrides, and readiness status.
  3. Wait for The server is fired up and ready to roll!, then stop that server and its workers before the next case. First runs can spend many minutes downloading weights or compiling FlashInfer kernels; check download/compiler activity before treating a quiet log as a hang. Preserve partial logs for failed or stalled starts and report the last stage. Continue independent cases when possible.
  4. Preserve the user's logging configuration, including NCCL_DEBUG. If NCCL verbosity needs explaining, inspect relevant shell settings, NCCL_CONF_FILE, and /etc/nccl.conf. Do not override intentional diagnostics or recommend NCCL_DEBUG=WARN solely because the output is long. Avoid full environment dumps.

Investigate efficiently

  • Scan for deprecations, duplicate handler output, unrelated import failures, unformatted prints, and unexpected warnings. Read representative excerpts and counts instead of repeatedly dumping server_args, progress redraws, or NCCL diagnostics. Normalize carriage returns for analysis only; preserve raw logs.
  • Trace each candidate to its actual emitter with focused rg searches. Inspect its log level: SGLang's formatter may omit severity. Group shared signatures across cases and distinguish handler duplication from separate GPU/process calls.
  • Repetition, WARNING severity, or a different third-party format alone does not establish a cleanup need. Consider whether the message explains configuration, progress, resource use, or an operational limitation.
  • Consult noise-source hints only for a matching signature or an unresolved emitter. Verify current code rather than trusting historical line numbers, fix status, or assumptions about unrelated models.

Accepted output

Preserve these reviewed messages unless the user requests a different policy:

  • NCCL diagnostics enabled by the user's environment or host configuration.
  • NUMA permission warnings, including one check per GPU in TP runs.
  • GPT-OSS MXFP4 backend-selection warnings and default page-size selection warnings.
  • Init Unified Radix Cache. Components: ... Tree Core: ..., tree-cache summaries, SWA allocation details, and per-rank memory/timing records.
  • Useful progress bars, warmup HTTP access logs, uv synchronization messages, isolated NCCL/Gloo startup lines, and one timestamped HF authentication warning.

These can appear in a clean startup log. Do not repeatedly propose the declined NUMA deduplication, backend/page-size level changes, or NCCL verbosity override. Keep real operational warnings visible: for example, a Harmony vocabulary failure can disable /v1/responses even when server readiness and /generate succeed.

Report before changing code

Return a compact run table with readiness status and clickable raw-log links. For each actual cleanup candidate, give an exact representative message, affected cases/counts, source file/function, and specific proposed behavior. Distinguish confirmed findings from suspicions and operational failures from logging noise.

If there are no actionable cleanup findings, say the logs are clean and no further cleanup is needed. Otherwise, ask which numbered changes to adopt and wait for the user's selections before editing runtime code or preparing patches. Honor existing approvals and declined items without asking again.

Apply selected changes

  • Batch compatible approved edits, then verify affected cases once. Repeat a startup only for a new change, failure, or unresolved concern; do not relaunch after every one-line edit. Save verification logs separately from baselines.
  • Preserve useful warnings and application handlers. HF can warn during early CLI model detection before configure_logger(), and spawned processes have independent logger state. Keep configure_hf_hub_logger() in both suppress_noisy_warnings() and configure_logger(); make repeated setup safe.
  • Keep the legacy compiled-kernel cache migration notice at DEBUG. Avoid broad library-level suppression or fd redirection for a narrow logging problem.
  • Run relevant formatting and focused existing checks. Add tests only when they verify meaningful behavior, not a log-level spelling. Report changes and verification; create branches, commits, and PRs when requested.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

add-jit-kernel

FreeSummary

Develop lightweight CUDA operations for SGLang using JIT, which compiles code on first use. A tensor-scaling example explains implementation conventions, input validation, memory access helpers, and when to choose this approach.

  • Add a lightweight CUDA operation to SGLang
  • Choose between JIT and ahead-of-time compilation
  • Validate tensor inputs in a kernel launcher
sgl-project/sglang37.6KUpdated Oct 22, 2026

add-sgl-kernel

FreeSummary

Add a CUDA/C++ GPU operation to sgl-kernel using AOT, meaning compilation before use. Follow the implementation through PyTorch registration, Python API exposure, SGLang integration, correctness tests, and benchmarks that account for cache reuse.

  • Adding a CUDA/C++ operation to sgl-kernel
  • Registering an operation with PyTorch and exposing a Python API
  • Testing numerical results and invalid inputs
sgl-project/sglang37.6KUpdated Oct 22, 2026

Monitor selected GitHub Actions checks on an SGLang pull request until they pass on its latest commit. Diagnose failures, push small validated fixes, and retry only failed jobs within defined limits.

  • Monitor selected PR checks until they pass
  • Separate code failures from infrastructure problems
  • Apply small fixes and track the resulting checks
sgl-project/sglang37.6KUpdated Oct 22, 2026

ci-test-audit

FreeSummary

Review existing tests and CI, the automated checks run during development, for redundant coverage, misplaced tests, and opportunities to reduce runtime or cost. Receive file-specific recommendations based on documented improvement patterns, with uncertain findings separated.

  • Investigating a slow test suite
  • Finding redundant or misplaced tests
  • Reviewing CI runtime and cost
sgl-project/sglang37.6KUpdated Oct 22, 2026

Understand and modify SGLang's CI pipelines, including test stage order, start conditions, early stopping after failures, and workload splitting. Use the guide to add jobs and investigate failed, skipped, or cancelled checks.

  • Add a test job to an SGLang CI stage
  • Investigate failed or skipped CI checks
  • Update test partitions and waiting job counts
sgl-project/sglang37.6KUpdated Oct 22, 2026

Calculate how to divide serving memory between recurrent state and KV cache, two memory pools used by hybrid models. Use startup logs and workload settings to recommend a ratio, estimate concurrency, and identify the limiting pool.

  • Choosing a memory ratio for a hybrid model
  • Investigating limits on concurrent requests
  • Recalculating memory allocation for context length
sgl-project/sglang37.6KUpdated Oct 22, 2026

See all skills by sgl-project

Report a problem with this skill