cctime - Claude Code Response Time Analyzer
Analyze response times from Claude Code sessions to understand performance patterns and optimize your AI-assisted development workflow.
Features
- 📊 Daily Response Time Analytics: Track how long Claude takes to respond to your messages
- 📈 Trend Visualization: ASCII charts showing response time trends over time
- 🗂️ Session Analysis: Break down response times by individual sessions
- 📊 Statistical Insights: Percentiles (P50, P90, P99), averages, and totals
- 💾 Multiple Export Formats: JSON, CSV, and Markdown reports
- 🎨 Interactive Terminal UI: Built with Ink (React for CLIs)
- ⚡ Real-time Updates: Watch mode for monitoring active sessions
Installation
git clone https://github.com/EveryInc/cctime.git
cd cctime
bun install
bun run src/cli.tsx
Usage
Interactive Mode (default)
bun run src/cli.tsx
Command Line Options
bun run src/cli.tsx --from 2024-01-01 --to 2024-01-31
bun run src/cli.tsx --no-interactive --export report.json --export-format json
bun run src/cli.tsx --no-interactive --export report.csv --export-format csv
bun run src/cli.tsx --no-interactive --export report.md --export-format markdown
How It Works
cctime analyzes the JSONL transcript files that Claude Code stores locally:
- Location:
~/.claude/projects/{project-path}/{sessionId}.jsonl
- Calculates time between user messages and Claude's responses
- Aggregates data by day, session, and overall statistics
- Provides insights into Claude's response patterns
Export Formats
JSON Export
Complete data structure with all metrics, suitable for further analysis.
CSV Export
Tabular format with daily breakdowns, perfect for spreadsheet analysis.
Markdown Export
Human-readable report with tables and statistics, great for documentation.
Architecture
Built using a parallel development approach with 5 independent streams:
- Data Processing: JSONL parsing and response time calculation
- File System: Session discovery and caching
- UI Components: Ink-based terminal UI components
- State Management: React-style state handling
- CLI & Config: Command-line interface and configuration
Core Modules
src/parser/: JSONL file parsing
src/calculator.ts: Response time calculations
src/aggregator.ts: Data aggregation and statistics
src/finder.ts: Claude session file discovery
src/components/: Ink UI components
src/export/: Export functionality
Development
bun test
bun run demo.ts
bun run test-minimal.ts
Configuration
Create ~/.cctime/config.json:
{
"theme": {
"primaryColor": "cyan",
"successColor": "green",
"errorColor": "red"
},
"analysis": {
"outlierThresholdMs": 300000,
"defaultDateRangeDays": 30
},
"export": {
"defaultPath": "./exports",
"includeDetailedStats": true
}
}
License
MIT