17d56d0e01
Clean break, no compatibility alias. Renames the product name, the CLI binary (`ccam` -> `agenthub`), the env var prefix (`CCAM_` -> `AGENTHUB_`), the Prometheus metric namespace (`ccam_*` -> `agenthub_*`), the tmux session prefix (`ccam-lane-<id>` -> `agenthub-lane-<id>`), the per-repo runtime profile directory (`.ccam/profile` -> `.agenthub/profile`), the lanes state root (`~/.claude/ccam-lanes` -> `~/.claude/agenthub-lanes`), the bundled plugins (`plugins/ccam*` -> `plugins/agenthub*`) and their slash commands (`/ccam-doctor` -> `/agenthub-doctor`, `/ccam:*` -> `/agenthub:*`). Because there is no alias, an existing install has to be updated by hand: rename its `.ccam/profile` directory and any `CCAM_*` variables, and reinstall the plugin under its new name. Two other name families are deliberately left alone here, since they are not just strings: the `Claude-Code-Monitor` repository/marketplace name, and the `agent-dashboard` npm package plus its `~/.claude/agent-dashboard` runtime directory, which holds the live database and needs a migration rather than a rename. Verified: server 1406/1406, client 459/459, `grep -i ccam` clean across tracked files, `openapi.yaml` regenerated (95 paths, unchanged count).
88 lines
3.3 KiB
Markdown
88 lines
3.3 KiB
Markdown
---
|
||
description: >
|
||
Analyze Claude Code usage trends over time using the Agent Monitor's
|
||
analytics API — daily session counts, daily event counts, token volumes
|
||
by type, model distribution, tool usage rankings, and agent/event type
|
||
distributions across 365-day retention windows.
|
||
---
|
||
|
||
# Usage Trends
|
||
|
||
Analyze usage patterns and trends from the Agent Monitor analytics data.
|
||
|
||
## Input
|
||
|
||
The user provides: **$ARGUMENTS**
|
||
|
||
Options: "last 7 days", "last 30 days", "last quarter", "peak hours", "tool trends", "model usage".
|
||
|
||
## Data Sources
|
||
|
||
| Endpoint | Returns |
|
||
|----------|---------|
|
||
| `GET /api/analytics` | Comprehensive analytics object (see schema below) |
|
||
| `GET /api/stats` | `{ total_sessions, active_sessions, active_agents, total_agents, total_events, events_today, ws_connections, agents_by_status, sessions_by_status }` |
|
||
| `GET /api/sessions?limit=200` | Full session records with timestamps and metadata |
|
||
|
||
### Analytics response schema (`GET /api/analytics`)
|
||
|
||
```json
|
||
{
|
||
"overview": { "total_sessions", "active_sessions", "active_agents", "total_agents", "total_events" },
|
||
"tokens": {
|
||
"total_input": N, "total_output": N,
|
||
"total_cache_read": N, "total_cache_write": N
|
||
},
|
||
"tool_usage": [{ "tool_name": "...", "count": N }], // top 20
|
||
"daily_events": [{ "date": "YYYY-MM-DD", "count": N }], // 365 days
|
||
"daily_sessions": [{ "date": "YYYY-MM-DD", "count": N }], // 365 days
|
||
"agent_types": [{ "subagent_type": "task"|"explore"|null, "count": N }],
|
||
"event_types": [{ "event_type": "PreToolUse"|"PostToolUse"|..., "count": N }],
|
||
"avg_events_per_session": N,
|
||
"total_subagents": N,
|
||
"sessions_by_status": { "active": N, "completed": N, "error": N, "abandoned": N },
|
||
"agents_by_status": { "working": N, "completed": N, "error": N, ... }
|
||
}
|
||
```
|
||
|
||
## Trend Analyses to Produce
|
||
|
||
### 1. Daily Activity Trend
|
||
Plot `daily_sessions` and `daily_events` for the requested period. Compute:
|
||
- **Average sessions/day** and **events/day**
|
||
- Week-over-week delta (%)
|
||
- Peak day and quietest day
|
||
|
||
### 2. Token Volume Trends
|
||
From analytics tokens (baselines are pre-summed into totals at the DB level):
|
||
- Total tokens: `total_input`, `total_output`, `total_cache_read`, `total_cache_write`
|
||
- **Cache efficiency over time**: `total_cache_read / (total_cache_read + total_input)` — trending up = improving
|
||
- **Output intensity**: `total_output / total_input` ratio — high = Claude is verbose
|
||
|
||
### 3. Tool Usage Ranking
|
||
From `tool_usage` (top 20 tools by event count):
|
||
- Bar chart data (tool name → count)
|
||
- Tool diversity: unique tools used
|
||
- Subagent spawns: count of "Agent" tool uses (each = a subagent launched)
|
||
|
||
### 4. Model Distribution
|
||
From `agent_types` + per-session model field:
|
||
- Which models are used most frequently
|
||
- Subagent type distribution: main (null) vs task vs explore vs code-review
|
||
|
||
### 5. Session Health Distribution
|
||
From `sessions_by_status`:
|
||
- Completion rate: `completed / total × 100`
|
||
- Error rate: `error / total × 100`
|
||
- Abandoned rate: `abandoned / total × 100`
|
||
|
||
### 6. Event Type Distribution
|
||
From `event_types`:
|
||
- PreToolUse/PostToolUse ratio (should be ~1:1; gap = tools failing)
|
||
- Compaction frequency relative to session count
|
||
- APIError count (quota hits, rate limits, overloaded)
|
||
|
||
## Output
|
||
|
||
Markdown with tables and ASCII trend indicators (▲▼→). Include period comparison when applicable.
|