
PerfTriage
Automatically captures lag incidents on Fabric servers and points you to suspicious hotspot chunks.
- Загрузки
- 182
- Подписчики
- 1
- Обновлён
- 3 мая 2026 г.
- Лицензия
- MIT
Опубликован 28 февраля 2026 г.
⚡ PerfTriage – Automatic Lag Forensics for Fabric Servers
Catch lag when it happens — automatically
PerfTriage is a lightweight server-side lag triage mod for Fabric.
It stays quiet during normal gameplay. When your server hits sustained MSPT spikes, it automatically captures a structured diagnostic snapshot of what was loaded, where it was concentrated, and which chunks are most suspicious.
It is built for one practical question:
When lag happened, what exactly was going on?
Why install PerfTriage?
Most server lag does not happen while you are actively profiling.
By the time players report:
- “the server froze”
- “something is wrong in one area”
- “TPS dropped again”
…the moment is often already gone.
PerfTriage is designed for that exact problem.
Instead of running as a heavy always-on profiler, it waits for meaningful lag spikes, then records a focused report so you still have evidence after the incident.

What PerfTriage detects
PerfTriage monitors:
- Sustained MSPT spikes
- Automatic recovery after lag
- Cooldown-based dump throttling
- Hard scan budget protection
When triggered, it generates a structured report with:
Tick analysis
- Windowed MSPT statistics (
avg / p95 / max) - Sampling duration
- Budget usage
- Scan truncation status
World snapshot
- Loaded chunk count per dimension
- Total entities / block entities
- Top entity types
- Top block entity types
Hotspot analysis
- Dominant entity type
- Dominant block entity type
- Chunk-level concentration
- Average population per tick
- Budget information
- Chunk scan capability flag
Reports are written asynchronously to:
config/perftriage/reports/
Both:
.txtfor humans.jsonfor tools
Why hotspot chunks matter
Lag is often caused by local concentration, not just global load.
Typical examples include:
- Item / mob / boat flooding
- Redstone machines
- Mob farms
- Sculk farms
- Chunk loaders
- Misbehaving contraptions concentrated in a few chunks
PerfTriage does not only tell you what was loaded. It tells you where the concentration was.
That means you can:
- teleport directly to the problem area
- inspect the affected chunks
- remove the source
- verify the improvement immediately

PerfTriage vs spark
PerfTriage is not a replacement for full profilers like spark.
They solve different problems.
| Tool | Best for | Typical workflow |
|---|---|---|
| PerfTriage | Automatically catching lag incidents | Install and wait for spikes |
| spark | Deep profiling and root-cause investigation | Run manually when needed |
| Both together | Catch first, investigate later | Best overall workflow |
PerfTriage is for automatic incident capture. spark is for deeper profiling after you know where to look.
That is why they work well together.
Who should install this?
PerfTriage is especially useful for:
- server owners who only notice lag after players complain
- admins who need chunk coordinates, not just “the server is slow”
- production servers where always-on profiling is undesirable
- servers with intermittent lag that is hard to reproduce manually

What makes it different?
PerfTriage does not continuously instrument tick functions.
Instead, it focuses on:
- activating only during meaningful lag
- using strict scan and sampling budgets
- avoiding heavy background overhead
- producing deterministic snapshots
- providing chunk-level localization
This makes it suitable for real servers where stability matters.
Commands
Manual dump
/perftriage dump now
Status
/perftriage status
Displays:
- current MSPT window stats
- cooldown remaining
- last report path
- recovery state
Example hotspot output
entity_hot_type: minecraft:acacia_boat
entity_hot_chunks_topN:
- -4,-4: 35320
- -4,-3: 35280
- -5,-3: 31600
This means most of the detected hotspot population is concentrated in those chunks.
Compatibility
- Fabric Loader 0.18+
- Minecraft 1.21.4
- Server-side
Philosophy
PerfTriage focuses on:
- low overhead
- deterministic diagnostics
- automatic operation
- production safety
It is designed to help you keep evidence when lag happens, instead of forcing you to guess after the fact.
Roadmap
- Multi-version support (
1.20.x / 1.21.x) - Optional Top-K type chunk breakdown
- Configurable thresholds
- Report index aggregation
- Optional profiler integration mode
License
MIT
Built for real servers. Designed for real lag.
This mod updates weekly, maybe one or two times a week.
Ченджлог
1.7.0+mc1.21.4-2026-04-18Релиз1.21.4 · 18 апреля 2026 г.
PerfTriage 1.7.0
This update adds historical correlation to newly generated reports.
Added
- Historical correlation analysis for new lag reports
- Automatic matching against recent indexed incidents
- Repeated hotspot type counts in report output
- Repeated hotspot chunk counts in report output
- Top historical matches included in both
.txtand.jsonreports
New
Detection of repeated lag patterns across past incidents
Similar-event context directly inside newly generated reports
Correlation output for:
- reason
- entity hotspot type
- block entity hotspot type
- entity hotspot chunk
- block entity hotspot chunk
Changed
- Extended report generation to analyze recent indexed history before writing reports
- Added
history_correlationto the JSON report schema - Improved text reports with a dedicated
HistoryCorrelationsection
Improved
- Easier identification of recurring lag incidents
- Better visibility into repeated hotspot chunks and repeated hotspot types
- More actionable reports without manually comparing multiple files
Notes
- This update builds on the existing report index and summary system
- No new trigger logic was added; the focus is recurring-incident recognition and historical context
1.6.0+mc1.21.4-2026-04-11Релиз1.21.4 · 11 апреля 2026 г.
PerfTriage 1.6.0
This update adds report history commands and indexed summary tools.
Added
/perftriage recent/perftriage recent <limit>/perftriage summary/perftriage summary <limit>- Indexed report history reader built on top of
index.jsonl
New
- Recent incident listing directly in-game
- Historical summary of indexed lag incidents
- Breakdown of common reasons, worlds, hotspot entity types, and hotspot block entity types
- Breakdown of frequently repeated hotspot chunks
Changed
- Extended the command layer to expose report history from the existing incident index
- Improved the usefulness of indexed reports by turning them into readable operational summaries
- Made historical incident data directly accessible without opening report files manually
Improved
- Faster review of recent lag events
- Better visibility into repeated hotspot patterns
- More practical long-term troubleshooting for live servers
Notes
- This update builds on the existing report index introduced earlier
- No new lag-capture trigger logic was added in this release; the focus is historical visibility and summary workflows
1.5.0+mc1.21.4-2026-04-04Релиз1.21.4 · 4 апреля 2026 г.
PerfTriage 1.5.0
This update focuses on the report pipeline and long-term server operation.
Added
- Report index file at
config/perftriage/reports/index.jsonl - Automatic report retention cleanup
- Configurable report retention days
- Configurable maximum report file count
- Writer queue status in
/perftriage status
Changed
- Reworked the async report writer into a real bounded single-threaded queue
- Improved report write ordering so report files, index updates, and cleanup run in sequence
- Extended the config system with retention-related settings
- Updated report generation flow to append incident summaries automatically
Improved
- Better long-term behavior for servers that generate many reports
- More predictable write/load behavior under repeated lag incidents
- Reduced risk of unbounded background write buildup
Notes
- This update is focused on report infrastructure rather than new lag-detection logic
- Existing report generation behavior is preserved, while report history and cleanup are now handled automatically
1.4.0+mc1.21.4-2026-03-27Релиз1.21.4 · 27 марта 2026 г.
PerfTriage 1.4.0
A configuration-focused update that makes PerfTriage much easier to tune on live servers.
This release adds a proper config file and moves core detection / dump parameters out of hardcoded values and into user-editable settings.
New
config/perftriage/config.json/perftriage reload/perftriage config
Configurable settings
- Trigger MSPT threshold
- Trigger consecutive ticks
- Recovery MSPT threshold
- Recovery consecutive ticks
- Auto-dump cooldown
- World scan budget
- Hotspot sample count
- Hotspot Top-N size
- Hotspot per-tick budget
- Hotspot total budget
- Text / JSON report output toggles
Why this matters PerfTriage is designed for real servers, and different servers need different sensitivity and scan budgets. This update makes the mod much more practical to deploy and tune without rebuilding the jar.
1.1.0+mc1.21.4-2026-03-01Релиз1.21.4 · 1 марта 2026 г.
fix wrong json output
Комментарии
Загружаем…