Health Watch VS Code Extension


A production-ready VS Code extension for intelligent multi-channel connectivity monitoring with interactive dashboards, automatic report generation, and privacy-first design.
🚀 Quick Start
Health Watch is ready to use out-of-the-box with sensible defaults:
- Install the extension from VS Code marketplace
- Open any workspace in VS Code
- Enable monitoring via Command Palette → "Health Watch: Enable Monitoring"
- Configure channels (optional) by creating
.healthwatch.json
No configuration required for basic internet connectivity monitoring!

🎯 Core Monitoring Features
- 🔍 Multi-Probe Monitoring - HTTPS, TCP, DNS, Script, and VS Code Task probes
- 🛡️ Smart Guard System - Network interface & DNS connectivity checks
- ⚡ Individual Channel Watches - Per-channel monitoring control
- 🌐 Automatic Internet Detection - Built-in connectivity monitoring
- 🔄 Adaptive Backoff - Intelligent failure handling
📊 Interactive Dashboards
- Real-time Overview - Live status with channel cards
- Timeline Visualization - Heatmaps, swimlanes, and incident timelines
- Watch Session Management - Time-boxed monitoring with statistics
- Multi-Window Coordination - Seamless workspace switching
📈 Reporting & Analytics
- Auto-Generated Reports - Markdown with Mermaid diagrams
- SLO Monitoring - Availability targets and performance thresholds
- Incident Tracking - Complete lifecycle management
- Statistics & Metrics - MTTR, latency percentiles, availability
🔒 Privacy & Security
- Local-First - All data stored locally, no cloud dependencies
- Zero Telemetry - No data collection or tracking
- CSP Compliant - Secure webview implementation
- Opt-in Script Execution - Security warnings for script probes
📊 Project Status
┌─────────────────────────┬──────────┬──────────┬─────────────┐
│ Module │ Progress │ Priority │ Status │
├─────────────────────────┼──────────┼──────────┼─────────────┤
│ Core Monitoring │ 95% │ HIGH │ Complete │
│ Multi-Window Coord │ 90% │ HIGH │ Complete │
│ React Dashboards │ 85% │ MEDIUM │ Complete │
│ Individual Watches │ 95% │ HIGH │ Complete │
│ VS Code Tasks │ 100% │ MEDIUM │ Complete │
│ Testing Coverage │ 75% │ HIGH │ In Progress │
└─────────────────────────┴──────────┴──────────┴─────────────┘
⚙️ Configuration
Health Watch uses an opt-in monitoring approach - no monitoring happens until you enable it.
Basic Setup (Recommended)
- Enable via Command Palette:
Health Watch: Enable Monitoring
- Optional: Create
.healthwatch.json
for custom channels
Advanced Configuration
Create a .healthwatch.json
file in your workspace root:
{
"defaults": {
"intervalSec": 60,
"timeoutMs": 3000,
"threshold": 3
},
"channels": [
{
"id": "internet",
"name": "🌐 Internet",
"type": "https",
"url": "https://1.1.1.1",
"intervalSec": 15,
"enabled": true
},
{
"id": "vpn-gateway",
"name": "🔒 VPN Gateway",
"type": "tcp",
"target": "10.0.0.1:443",
"intervalSec": 60,
"enabled": false
},
{
"id": "demo-task",
"name": "🔧 Custom Task Check",
"type": "task",
"intervalSec": 300,
"enabled": false,
"runTask": {
"taskLabel": "my-health-check-task",
"expectExitCode": 0
}
}
]
}
🔧 VS Code Tasks Integration
Health Watch can execute VS Code tasks as monitoring probes. This allows you to integrate custom health checks, scripts, and external tools into your monitoring workflow.
Setting up Task-Based Channels
- Create VS Code tasks in
.vscode/tasks.json
:
{
"version": "2.0.0",
"tasks": [
{
"label": "my-health-check-task",
"type": "shell",
"command": "curl",
"args": ["-f", "-s", "http://localhost:3000/health"],
"group": "test",
"presentation": {
"reveal": "silent"
}
}
]
}
- Configure Health Watch to use the task:
{
"channels": [
{
"id": "api-health",
"name": "🩺 API Health Check",
"type": "task",
"intervalSec": 120,
"runTask": {
"taskLabel": "my-health-check-task",
"expectExitCode": 0
}
}
]
}
Task Configuration Options
taskLabel
- Name of the VS Code task to execute
expectExitCode
- Expected exit code for success (default: 0)
timeoutMs
- Task execution timeout (inherits from channel defaults)
Benefits of Task-Based Monitoring
- ✅ Flexible Integration - Use any command-line tool or script
- ✅ VS Code Integration - Leverage existing task configurations
- ✅ Cross-Platform - Works on Windows, macOS, and Linux
- ✅ Problem Matchers - Parse structured output from tasks
- ✅ Terminal Integration - View task output in VS Code terminals
🔗 Channel Types
HTTP/HTTPS Channels
- Purpose: Web service availability and response time monitoring
- Features: Custom headers, body validation, authentication handling
TCP Channels
- Purpose: Port connectivity and network service availability
- Features: Connection testing, timeout handling, network diagnostics
DNS Channels
- Purpose: Domain name resolution monitoring
- Features: IPv4/IPv6 resolution, DNS server testing
Task Channels ✨ NEW
- Purpose: Custom script and tool integration via VS Code tasks
- Features: Exit code validation, structured output parsing, cross-platform execution
🏗️ Development
Building
npm install
npm run compile
Testing
npm run test:unit
npm run test:integration
Demo & Testing
The repository includes demo tasks for testing the VS Code tasks integration:
healthwatch:demo-simple-check
- Basic echo command
healthwatch:demo-node-version
- Node.js version check
healthwatch:demo-timeout-test
- PowerShell timeout test
Enable the "🔧 Demo Task Check" channel to see task execution in action.
📄 License
MIT License - see LICENSE file for details.