GitHub Copilot Log Collector for Visual Studio
Automatically collects and analyzes GitHub Copilot usage metrics from Visual Studio.
Features
- Non-blocking startup: Runs in background, doesn't slow down VS startup
- Incremental parsing: Only processes new log entries, tracks state between runs
- Smart request detection: Filters out non-request log lines to avoid overcounting
- Aggregated metrics: Groups by date, model, action, and user
- Auto-runs every 60 minutes: Background collection with health checks every 5 minutes
Privacy & Data Collection
What data is collected:
- Usage statistics only (request counts, dates, model names, action types)
- User-provided metadata (name, team, company - entered by you)
- No code, prompts, or completions are captured
- No file paths or project details are recorded
- No credentials, tokens, or sensitive data is collected
All data stays local:
- Metrics are saved only to your Desktop folder (
Desktop\copilot-vs-log\metrics\
)
- No data is sent to any external servers or services
- No telemetry, analytics, or tracking of any kind
- You have full control over the collected files
This extension is designed solely for tracking your own Copilot usage metrics locally.
Verify Installation
- Go to View → Output (or press Ctrl+Alt+O)
- Select "Copilot Log Collector" from the dropdown menu
- You should see initial collection logs within a few seconds
Troubleshooting
Extension not appearing in Output window?
- Go to Extensions → Manage Extensions
- Check if "GitHub Copilot Log Collector" is listed and enabled
- Try restarting Visual Studio
VSIX installation failed?
- Make sure all Visual Studio instances are closed
- Run the VSIX installer as Administrator (right-click → Run as administrator)
- Check that you have Visual Studio 2022 or later installed
No metrics being collected?
- Ensure GitHub Copilot extension is installed and active
- Use Copilot features (code completions, chat) to generate logs
- Check the output window for any error messages
Output
Metrics saved to: Desktop\copilot-vs-log\metrics\
all_metrics.json
- All aggregated metrics
YYYY-MM-DD_aggregated.json
- Daily metrics
JSON Structure
{
"date": "2025-10-02",
"source": "copilot-chat",
"servedBy": "gpt-41-copilot",
"action": "completion",
"numRequests": 68,
"name": "John Doe",
"team": "Engineering",
"company": "Acme Corp",
"ide": "Visual Studio"
}
Metrics Fields
- date: Date in YYYY-MM-DD format
- source:
copilot
or copilot-chat
- servedBy: AI model name (e.g.,
gpt-41-copilot
, gpt-4o-mini
)
- action: Action type (e.g.,
completion
, conversation
)
- numRequests: Total number of API requests
- name/team/company: User metadata
- ide: IDE name (always "Visual Studio")
How It Works
- Startup: Loads user settings, starts timers, runs initial collection in background
- Incremental Parsing: Only parses new log entries since last run (tracks file positions)
- Request Detection: Filters lines with request keywords (
completion
, request
, response
, etc.) + timing patterns
- Aggregation: Groups records by date, source, model, action, user
- Export: Saves JSON files with camelCase formatting
View Output
View → Output → Select "Copilot Log Collector" from dropdown
Sample Output
=== Recollecting 60 minutes time current 10/13/2025 2:30:00 PM found 3 files ===
User: John Doe, Team: Engineering
Parsed 150 new records incrementally
Aggregated into 12 metric groups
Updated: C:\Users\...\Desktop\copilot-vs-log\metrics\2025-10-13_aggregated.json
Updated: C:\Users\...\Desktop\copilot-vs-log\metrics\all_metrics.json
Total Requests: 150
Unique Dates: 1
Configuration
Settings: %AppData%\CopilotLogCollector\userconfig.txt
Parser state: %AppData%\CopilotLogCollector\parserstate.json
Requirements
- Visual Studio 2022 or later
- GitHub Copilot extension installed