rspack-tracing
$
npx mdskill add rstackjs/agent-skills/rspack-tracingDiagnose Rspack build failures and profile performance bottlenecks.
- Identify crash locations and slow stages in compilation pipelines.
- Integrates with Rspack's native tracing and profiling systems.
- Analyzes trace files to pinpoint specific plugin or loader delays.
- Delivers actionable steps for capturing and interpreting performance data.
SKILL.md
.github/skills/rspack-tracingView on GitHub ↗
---
name: rspack-tracing
description: Comprehensive guide and toolkit for diagnosing Rspack build issues. Quickly identify where crashes/errors occur, or perform detailed performance profiling to resolve bottlenecks. Use when the user encounters build failures, slow builds, or wants to optimize Rspack performance.
---
# Rspack Tracing & Performance Profiling
## When to Use This Skill
Use this skill when you need to:
1. Diagnose why an Rspack build is slow.
2. Understand which plugins or loaders are taking the most time.
3. Analyze a user-provided Rspack trace file.
4. Guide a user to capture a performance profile.
## Workflow
### 1. Capture a Trace
First, ask the user to run their build with tracing enabled.
```bash
# Set environment variables for logging to a file
RSPACK_PROFILE=TRACE RSPACK_TRACE_LAYER=logger RSPACK_TRACE_OUTPUT=./trace.json pnpm build
```
This will generate a trace file in a timestamped directory like `.rspack-profile-{timestamp}-{pid}/trace.json`.
See [references/tracing-guide.md](references/tracing-guide.md) for more details on configuration.
### 2. Quick Diagnosis for Crashes/Errors
If the user wants to identify **which stage a crash or error occurred in**, use `tail` to quickly view the last events without running the full analysis:
```bash
# Navigate to the generated profile directory
cd .rspack-profile-*/
# View the last 20 events to see where the build failed
tail -n 20 trace.json
```
The last events will show the span names and targets where the build stopped, helping to quickly pinpoint the problematic stage, plugin, or loader.
### 3. Full Performance Analysis
For detailed performance profiling (not just crash diagnosis), ask the user to run the bundled analysis script on the generated trace file.
```bash
# Navigate to the generated profile directory
cd .rspack-profile-*/
# Run the analysis script
node ${CLAUDE_PLUGIN_ROOT}/skills/tracing/scripts/analyze_trace.js trace.json
```
### 4. Interpret Results
Use the output from the script to identify bottlenecks.
Consult [references/bottlenecks.md](references/bottlenecks.md) to map span names to actionable fixes.
### 5. Locate Slow Plugins
Based on the "Top Slowest Hooks" from the analysis script:
1. **Identify the Hook**: Note the hook name (e.g., `hook:CompilationOptimizeChunks`).
2. **Inspect Configuration**: Read `rspack.config.js` or `rsbuild.config.ts`.
3. **Map Hook to Plugin**: Look for plugins and their sources that tap into that specific hook.
4. **Output**: Output the paths, lines and columns of the suspected plugin source code.
## Common Scenarios & Quick Fixes
- [Bottleneck Reference](references/bottlenecks.md): Mapping spans to concepts.
- [Tracing Guide](references/tracing-guide.md): Detailed usage of `RSPACK_PROFILE`.
More from rstackjs/agent-skills
- migrate-to-rsbuildMigrate webpack, Vite, create-react-app (CRA/CRACO), or Vue CLI projects to Rsbuild.
- migrate-to-rslibMigrate tsc or tsup library projects to Rslib.
- migrate-to-rstestMigrate Jest or Vitest test suites and configs to Rstest. Use when asked to move from Jest/Vitest to Rstest, replace framework APIs with `@rstest/core`, translate test config to `rstest.config.ts`, or update test scripts and setup files for Rstest equivalents.
- pr-creatorUse when asked to create a pull request for this repository. It helps the PR follow the repository's branch safety rules, title convention, pull request template, and concise English writing style.
- rsbuild-best-practicesRsbuild best practices for config, CLI workflow, type checking, bundle optimization, assets, and debugging. Use when writing, reviewing, or troubleshooting Rsbuild projects.
- rsbuild-v2-upgradeUse when upgrading a Rsbuild 1.x project to v2, including dependency and configuration updates.
- rsdoctor-analysisUse when analyzing Rspack/Webpack bundles from local `rsdoctor-data.json` and producing evidence-based optimization recommendations.
- rslib-best-practicesRslib best practices for config, CLI workflow, output, declaration files, dependency handling, build optimization and toolchain integration. Use when writing, reviewing, or troubleshooting Rslib projects.
- rspack-best-practicesRspack best practices for config, CLI workflow, type checking, CSS, bundle optimization, assets and profiling. Use when writing, reviewing, or troubleshooting Rspack projects.
- rspack-debuggingHelps Rspack users and developers debug crashes or deadlocks/hangs in the Rspack build process using LLDB. Use this Skill when users encounter "Segmentation fault" errors during Rspack builds or when the build progress gets stuck.