🏥 Extension Health Monitor
Monitor, analyze, and optimize your VS Code extensions performance in real time.
Stop guessing which extensions are slowing down your editor. Extension Health Monitor gives you a complete health dashboard with actionable insights to keep VS Code fast and lean.

📸 Screenshots
⨠Features
🎯 Health Score System
Every installed extension receives a health score from 0 to 100 based on:
- ⥠Activation time â How long the extension takes to start
- 💾 Memory impact â Estimated memory consumption
- 📊 Usage frequency â How often you actually use it
- 🕐 Last used date â When was the last time it was active
- 🔄 Active state â Whether it's running without being needed
| Score Range |
Label |
Meaning |
| 90â100 |
🟢 Excellent |
Extension is well-optimized and actively used |
| 70â89 |
🟡 Good |
Minor issues, generally fine |
| 50â69 |
🟠 Fair |
Noticeable impact, consider reviewing |
| 30â49 |
🔴 Poor |
Significant performance drain |
| 0â29 |
💀 Critical |
Severely impacting your editor |
📊 Interactive Dashboard
A full-featured web dashboard right inside VS Code:
- Overall health score displayed in a visual circle indicator
- Stat cards showing total, healthy, warning, and critical extension counts
- Sortable & filterable table with all extension details
- Real-time search across all extensions
- One-click actions â View, Disable, or Uninstall any extension
- Toast notifications for instant feedback on every action
Open it with Ctrl+Shift+P â Extension Health: Show Dashboard
📍 Status Bar Indicator
A persistent indicator in your status bar shows the overall health score at a glance:
- â
$(check) 85 â Everything looks good (score âĨ 80)
- â ī¸
$(warning) 62 â Some issues detected (score 50â79)
- â
$(error) 34 â Critical issues need attention (score < 50)
Click it to instantly open the dashboard.
🔍 Full Scan
Run a comprehensive analysis of all installed extensions:
- Measures activation time for every active extension
- Estimates memory footprint based on dependencies and features
- Checks usage history and frequency
- Identifies inactive extensions consuming resources
- Generates issue reports with severity levels
Ctrl+Shift+P â Extension Health: Run Full Scan
🧹 Unused Extension Detection
Automatically identifies extensions you haven't used in a configurable number of days:
- Default threshold: 30 days
- Shows a quick pick list with all unused extensions
- Displays last used date for each extension
- Allows batch selection for review
- Excludes themes from unused detection (since they're passive)
Ctrl+Shift+P â Extension Health: Disable Unused Extensions
â ī¸ Issue Detection
Each extension is analyzed for potential problems:
| Issue |
Severity |
Trigger |
| Extremely slow activation (>5s) |
🔴 Critical |
Activation time > 5000ms |
| Slow activation (>2s) |
🟡 Warning |
Activation time > 2000ms |
| Moderate activation time |
âšī¸ Info |
Activation time > 500ms |
| High memory impact |
🔴 Critical |
Estimated memory > 50MB |
| Moderate memory impact |
🟡 Warning |
Estimated memory > 30MB |
| Never used |
🟡 Warning |
No usage data tracked |
| Not used in 90+ days |
🟡 Warning |
Last used > 90 days ago |
| Not used in 30+ days |
âšī¸ Info |
Last used > 30 days ago |
| Active but rarely used |
âšī¸ Info |
Always running, low frequency |
⥠Smart Recommendations
The recommendation engine suggests actions based on extension behavior:
- Uninstall â Extensions never tracked as used
- Disable â Extensions with activation time > 3 seconds
- Disable per workspace â High memory usage + low frequency
- Cleanup â Unused themes taking up space
- Impact estimates â See how much memory and startup time you'd save
🏷ī¸ Extension Categorization
Extensions are automatically categorized for easier management:
| Category |
Description |
language |
Programming language support |
linter |
Code linting tools |
formatter |
Code formatting tools |
theme |
Color themes and icon themes |
debugger |
Debugging tools |
scm |
Source control providers |
snippets |
Code snippet packs |
other |
Everything else |
🔀 Conflict Detection
Detects potential conflicts between installed extensions:
- Formatter conflicts â Multiple formatters for the same language
- Keybinding conflicts â Extensions using the same keyboard shortcuts
- Known conflicts â Database of known problematic extension pairs
- Resolution suggestions â Actionable steps to fix each conflict
Examples of detected conflicts:
| Pair |
Type |
Resolution |
| Prettier + ESLint |
Formatter |
Configure eslint-config-prettier |
| Prettier + Beautify |
Formatter |
Choose one and disable the other |
| Multiple CSS completions |
Functionality |
Keep only the one you need |
📋 Report Generation
Export a complete health report with one click:
- Overall score and breakdown
- Total vs active extension count
- Health distribution (healthy / warning / critical)
- Full extension list with scores and issues
- Category breakdown
- Timestamp for tracking over time
Copy to clipboard as formatted JSON â perfect for sharing with your team.
📈 Historical Tracking
Extension health data is tracked over time:
- Snapshots saved after every scan
- Up to 100 historical snapshots stored
- Query history by date range
- Track score trends per extension
- Monitor overall health improvement
🎨 Dashboard Filters & Search
Quickly find what you need:
- Filter buttons â Show All, Critical only, Warning only, Healthy only
- Live search â Type to filter extensions by name, ID, or any visible text
- Visual indicators â Color-coded rows, score badges, and category tags
- Issue badges â Severity-colored issue descriptions inline
🚀 Getting Started
Installation
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X)
- Search for "Extension Health Monitor"
- Click Install
- Reload VS Code if prompted
First Use
- The extension activates automatically after VS Code starts
- Look for the health score in the status bar (bottom right)
- Click it or run
Extension Health: Show Dashboard from the command palette
- Run a Full Scan to get detailed analysis
📝 Available Commands
Open the Command Palette (Ctrl+Shift+P) and type "Extension Health":
| Command |
Description |
Extension Health: Show Dashboard |
Open the interactive health dashboard |
Extension Health: Run Full Scan |
Run a complete analysis of all extensions |
Extension Health: Disable Unused Extensions |
Find and disable extensions you don't use |
Extension Health: Show Report |
Generate and view a full health report |
âī¸ Configuration
Customize behavior in VS Code settings (Ctrl+,):
| Setting |
Type |
Default |
Description |
extHealth.monitoringInterval |
number |
30000 |
How often to collect metrics (in milliseconds) |
extHealth.unusedThresholdDays |
number |
30 |
Days without use before flagging as unused |
extHealth.showStatusBar |
boolean |
true |
Show/hide the status bar health indicator |
extHealth.enableNotifications |
boolean |
true |
Enable/disable health issue notifications |
extHealth.performanceThreshold |
number |
500 |
Activation time (ms) threshold to flag as slow |
Example settings.json
{
"extHealth.monitoringInterval": 60000,
"extHealth.unusedThresholdDays": 14,
"extHealth.showStatusBar": true,
"extHealth.enableNotifications": true,
"extHealth.performanceThreshold": 300
}
🔒 Privacy & Security
- All data stays local â Nothing is sent to external servers
- No telemetry â Zero tracking or analytics
- No network requests â Works completely offline
- Stored in VS Code's global state â Data follows your VS Code profile
- XSS protected â All dynamic content is sanitized before rendering
🤝 Contributing
Contributions are welcome! Here's how to get started:
Development Setup
# Clone the repository
git clone https://github.com/wallacefrota/extension-health-monitor.git
cd extension-health-monitor
# Install dependencies
npm install
# Compile
npm run compile
# Watch mode (auto-recompile on changes)
npm run watch
Testing
# Press F5 in VS Code to launch Extension Development Host
# Open Command Palette â "Extension Health: Show Dashboard"
📄 License
This project is licensed under the MIT license.
Made with â¤ī¸ for the VsCode community
If this extension helps you, consider leaving a â on GitHub!