promotional bannermobile promotional banner

PerformanceAnalyzer

PerformanceAnalyzer gives you clear visibility into how your server is performing live and over time. With database-backed statistics, an in-game GUI, optional Discord alerts, and a helper-level AntiCheat/X-Ray module, it’s a handy toolkit for anyone.

File Details

performance-analyzer-2.0.0.jar

  • R
  • Dec 18, 2025
  • 13.19 MB
  • 13
  • 1.21.10+10

File Name

performance-analyzer-2.0.0.jar

Supported Versions

  • 1.21.10
  • 1.21.9
  • 1.21.8
  • 1.21.7
  • 1.21.6
  • 1.21.5
  • 1.21.4
  • 1.21.3
  • 1.21.2
  • 1.21.1
  • 1.21
## Changelog

### v2.0.0 (18.12.2025) - Major Release
**Why Version 2.0?** This release fundamentally transforms PerformanceAnalyzer from a simple monitoring tool into an **intelligent lag diagnosis system**. With 4 new classes, a completely redesigned GUI, and groundbreaking lag source detection, this is more than just new features—it's a new generation of the plugin.

**Major New Features**:
- **🎯 Lag Source Detection** - Automatically identifies what's causing lag
  - **Player Activity Tracking** - Monitors player actions (blocks, movements, commands, interactions)
  - **Plugin Performance Analysis** - Identifies suspect plugins by event listeners and task count
  - **Integrated with Performance Drops** - Lag sources are shown in `/perfdrops` reports
  - Shows top 5 most active players during performance drops
  - Shows top 5 suspect plugins with risk scores
  - Weighted activity scoring (breaking blocks = higher weight than walking)
  - Detects "heavy" plugins (WorldEdit, FAWE, CoreProtect, etc.)

- **🚨 Restricted World Zones** - Instant alerts for specific worlds
  - Configure worlds as "restricted zones" for mining monitoring
  - Option to monitor specific ores or all ores in restricted worlds
  - **Instant alerts** when players mine ores in restricted zones (no threshold needed)
  - Perfect for protecting areas or catching suspicious behavior
  - New config: `anticheat.restricted_worlds` and `anticheat.restricted_world_ores`
  - Logs to database with type `anticheat_restricted_zone`

**Critical Bugfixes**:
- ✅ Fixed missing imports in `PerformanceAnalyzer.java` (Player, UUID)
- ✅ Fixed MySQL incompatibility - `AUTOINCREMENT` vs `AUTO_INCREMENT`
- ✅ Fixed MySQL datetime syntax - All time-based queries now work with MySQL
  - `getRecentMspt()` - Fixed
  - `getAverageByType()` - Fixed
  - `countPerformanceSpikes()` - Fixed
  - `cleanOldData()` - Fixed
- ✅ Plugin now fully compatible with both SQLite AND MySQL

**Improvements**:
- **🔧 Configurable Performance Thresholds** - All lag detection thresholds are now customizable
  - Chunk thresholds: tile entities, redstone, entities (warning/critical)
  - World health thresholds: entity warning/critical levels
  - Plugin risk score interpretation: low/medium/high boundaries
  - Prevents false positives on servers with different hardware
  - Config includes recommendations for standard/powerful/weak servers
  - Allows fine-tuning based on your specific server needs
- Movement detection now properly distinguishes between walking and sprinting
- XRay detector properly handles ore blocks (not items)
- Better null-safety in configuration migration
- Improved performance drop reports with lag source attribution
- Version compatibility updated: **Paper 1.21.x** (all 1.21 versions)

**🔥 Performance Optimizations**:
- **Movement Sampling** - PlayerMove events only processed every 10th occurrence or >2 blocks distance (~90% reduction)
- **Chunk Analysis Timeout** - Configurable timeout (default 5s) prevents long-running chunk scans
- **Self-Monitoring** - Plugin measures and warns about its own performance impact
- **Config Options** - All lag analysis features can be disabled independently
- **Memory Cleanup** - Automatic cleanup on player quit prevents memory leaks
- **New Config Section**: `lag_analysis` with `player_tracking`, `plugin_analysis`, `chunk_analysis_timeout_ms`

**🎨 GUI Improvements**:
- **🆕 Lag-Analyse GUI Page** - Interactive page showing active players and suspect plugins
  - Top 5 most active players with detailed breakdown
  - Top 5 suspect plugins with risk scores
  - Refresh and clear data buttons
  - Config-aware (shows warnings if features disabled)
- **🆕 Performance Drops GUI Page** - Browse and click drops for detailed reports
  - Visual list of 21 recent drops
  - Color-coded by severity (Red/Orange/Yellow)
  - Click any drop for full report in chat
  - Shows lag source previews
- **Expanded Main GUI** - Now 2 rows of features instead of 1
  - Database Info button
  - World Stats quick-link
  - Better organization
- **Multi-page Navigation** - Consistent back buttons between pages

**New Classes**:
- `PlayerActivityTracker` - Monitors player actions in real-time (with sampling)
- `PluginTimingsAnalyzer` - Analyzes plugin performance impact
- `LagAnalysisGUI` - GUI page for lag source inspection
- `PerformanceDropsGUI` - GUI page for drop history browsing