Skip to content

tag-assistant/copilot-pulse

Repository files navigation

Copilot Pulse ⚡

Personal dashboard for your GitHub Copilot usage — see what's actually happening in your AI-assisted workflow.

VS Code License

What it does

Copilot Pulse gives individual developers visibility into their own Copilot usage patterns — something that doesn't exist today. The org-level Copilot Metrics API is admin-facing; this is for you.

Features

  • Real-time tracking of inline completion accepts/dismissals
  • 📊 Language breakdown — which languages do you accept the most suggestions in?
  • 📈 Acceptance rate — your personal hit rate over time
  • 🔤 Chars/lines added — estimate how much code Copilot is writing for you
  • 📋 Live feed — see events as they happen
  • Session timeline — hourly activity chart for your coding sessions
  • 💾 Local JSON storage — your data stays on your machine
  • 🔭 Log tailing — parses Copilot extension logs for ghost text events and model/token metadata

Planned (as OTel API stabilizes)

  • 🤖 Model attribution (which model generated each suggestion)
  • ⏱️ Latency tracking per completion
  • 🪙 Token usage and cost estimates for Chat/Agent mode
  • 🔧 Tool call tracking for Agent mode sessions
  • 📤 Export to external observability backends (Jaeger, Langfuse, etc.)

How it works

Detection strategies

  1. Proposed API (onDidExecuteCommand) — Available in VS Code Insiders. Listens for editor.action.inlineSuggest.accept, .commit, and .hide commands. Most accurate.
  2. Document-change heuristic — Detects large text insertions (>10 chars, single edit, no replacement) followed by cursor movement within 500ms. Works on any VS Code version. Filters out pastes, formatting, and snippet expansions.
  3. Copilot log tailing — Reads the Copilot extension's output log files to capture ghostText.shown events and chat completion metadata (model, tokens).

Both proposed API and heuristic run simultaneously with deduplication to maximize coverage.

Tomorrow (VS Code Insiders 1.111+)

VS Code is actively adding OpenTelemetry GenAI instrumentation to Copilot Chat. When this stabilizes, Copilot Pulse will capture the full telemetry: model, tokens, latency, tool calls, and session traces — all stored locally.

Install

# From source (development)
git clone https://github.com/tag-assistant/copilot-pulse.git
cd copilot-pulse
npm install
npm run build
# Then press F5 in VS Code to launch Extension Development Host

Architecture

┌──────────────────────────────────────────┐
│  VS Code                                 │
│  ┌───────────┐  ┌──────────────────────┐ │
│  │ Copilot    │  │ Command Observer     │ │
│  │ Extension  │──│ (proposed API +      │ │
│  └───────────┘  │  doc-change heuristic)│ │
│       │         └──────────┬───────────┘ │
│       │                    │             │
│  ┌────▼──────┐  ┌──────────▼───────────┐ │
│  │ OTel      │  │  Event Store         │ │
│  │ Collector  │──│  (JSON file)         │ │
│  │ (log tail) │  └──────────┬───────────┘ │
│  └───────────┘             │             │
│              ┌─────────────▼───────────┐ │
│              │  Dashboard Webview      │ │
│              │  (stats, languages,     │ │
│              │   timeline, live feed)  │ │
│              └─────────────────────────┘ │
└──────────────────────────────────────────┘

Settings

Setting Default Description
copilotPulse.enableOtel true Capture OTel spans from Copilot Chat
copilotPulse.enableCommandObserver true Track inline completion accepts/dismissals
copilotPulse.retentionDays 90 Days to retain event data
copilotPulse.otlpEndpoint "" Optional OTLP endpoint for span forwarding

Privacy

All data is stored locally as JSON in VS Code's global storage (~/.vscode/globalStorage/). Nothing is sent anywhere unless you configure an external OTLP endpoint. Your usage patterns are yours.

License

MIT

Credits

Inspired by the OpenTelemetry GenAI semantic conventions.

About

⚡ Personal dashboard for your GitHub Copilot usage — acceptance rates, language breakdown, session timelines, and AI-powered insights.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors