Zero-config observability for Express.js APIs - See exactly where time is spent in every request

✨ Features
- 🔍 One-Click Setup - No Docker, no cloud, no config files
- 📊 Real-Time Dashboard - See request rate, latency, and errors live
- �� Bottleneck Detection - Automatically identifies slow endpoints and queries
- 🗄️ Database Query Tracking - See every SQL query with timing
- 💻 System Metrics - CPU, Memory, Event Loop Lag
- 🎯 Zero Code Changes - Auto-instruments Express, PostgreSQL, MySQL, MongoDB, Redis
- ⚡ 137 KB Download - Binaries downloaded on-demand (~260MB, one-time)
🎬 Quick Start
1. Install the Extension
Open VS Code
Go to Extensions (Ctrl+Shift+X)
Search "API Performance Analyzer"
Click Install
text
2. Start Observability
Ctrl+Shift+P → "API Analyzer: Start Observability"
text
First run downloads Jaeger & Prometheus (~260MB, one-time)
3. Run Your Express App with Tracing
# Install OpenTelemetry packages (one-time)
npm install --save-dev @opentelemetry/api @opentelemetry/auto-instrumentations-node @opentelemetry/sdk-node @opentelemetry/exporter-trace-otlp-http
# Run with tracing
NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register" \
OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318" \
OTEL_SERVICE_NAME="my-api" \
npm start
4. View Analytics
VS Code Dashboard: Ctrl+Shift+P → "API Analyzer: Show Dashboard"
Jaeger UI: http://localhost:16686
Prometheus: http://localhost:9090
📦 What's Included
Tool Purpose Port
Jaeger Distributed tracing 16686
Prometheus Metrics collection 9090
OTLP Endpoint Receives trace data 4318
⚡ Requirements
VS Code 1.85.0+
Node.js 18+
Express.js application
🔧 Configuration
json
{
"apiAnalyzer.autoStart": false,
"apiAnalyzer.jaegerPort": 16686,
"apiAnalyzer.maxTraces": 1000,
"apiAnalyzer.slowThreshold": 1000,
"apiAnalyzer.enableProfiling": true,
"apiAnalyzer.logLevel": "info"
}
❓ FAQ
Q: Does this work without Docker?
A: Yes! All tools run as native binaries downloaded by the extension on first run.
Q: Will this slow down my API?
A: Minimal overhead (<5%). OpenTelemetry is production-ready.
Q: Where is data stored?
A: 100% locally in the extension's directory.
Q: Does it work with TypeScript?
A: Yes! Works with both JavaScript and TypeScript Express apps.
Q: How large is the download?
A: Extension is only 137 KB. Binaries (~260MB) download once on first run.
🎯 Supported Libraries (Auto-Instrumented)
Category Libraries
Web Framework Express
Database PostgreSQL, MySQL, MongoDB, Redis
ORM Sequelize, Prisma, TypeORM
HTTP Client Axios, Fetch, Request
Message Queue RabbitMQ, Kafka
📄 License
MIT © Lakshya Saini
Enjoying API Performance Analyzer? Leave a review ⭐