Claude Code 使用状況
トークン消費、コスト、パフォーマンスメトリクス、使用最適化を追跡するための包括的な Claude Code 使用状況モニタリングおよび分析ツール。
概要
Claude Code 使用状況ツールは、Claude Code のトークン消費と API 使用状況のリアルタイムモニタリング、分析、最適化機能を提供します。これらのツールは、詳細なメトリクス、アラート、レポート機能を通じて、開発者がコストを追跡し、パフォーマンスを監視し、使用パターンを分析し、Claude Code ワークフローを最適化するのに役立ちます。
⚠️ 使用上の注意: 使用状況モニタリングツールは、Claude Code セッションファイルと API ログにアクセスする必要があります。モニタリングソリューションを実装する際は、適切な権限とデータプライバシーのコンプライアンスを確保してください。
コアツール
Claude Code 使用状況モニター
# Install via npm
npm install -g claude-code-usage-monitor
# Install via pip
pip install claude-code-usage-monitor
# Clone from GitHub
git clone https://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor.git
cd Claude-Code-Usage-Monitor
npm install
npm start
ccusage CLI ツール
# Install ccusage
npm install -g ccusage
# Basic usage analysis
ccusage analyze
# Analyze specific session
ccusage analyze --session session-id
# Generate report
ccusage report --format json
# Real-time monitoring
ccusage monitor --live
インストールとセットアップ
使用状況モニターのセットアップ
# Start usage monitor
claude-usage-monitor --port 3000
# With configuration file
claude-usage-monitor --config config.json
# Docker deployment
docker run -p 3000:3000 -v ~/.claude:/data claude-usage-monitor
VS Code 拡張機能
# Install from marketplace
code --install-extension suzuki0430.ccusage-vscode
# Manual installation
git clone https://github.com/suzuki0430/ccusage-vscode.git
cd ccusage-vscode
npm install
npm run compile
code --install-extension ccusage-vscode-*.vsix
Raycast 拡張機能
# Install Raycast extension
raycast://extensions/nyatinte/ccusage
# Configure API access
raycast://preferences/extensions/ccusage
モニタリングコマンド
リアルタイムモニタリング
| コマンド | 説明 |
|---|---|
ccusage monitor | リアルタイムモニタリングを開始 |
ccusage dashboard | オープンウェブダッシュボード |
ccusage status | 現在の使用状況を確認 |
ccusage alerts | アクティブなアラートを表示 |
ccusage live | ライブ使用状況ストリーム |
ccusage watch | 特定のメトリクスを監視する |
ccusage tail | Tailの使用ログ |
分析コマンド
| コマンド | 説明 |
|---|---|
ccusage analyze | 使用パターンを分析する |
ccusage report | 使用状況レポートを生成 |
ccusage summary | 使用状況の概要 |
ccusage trends | 使用傾向分析 |
ccusage compare | 時間帯を比較する |
ccusage breakdown | 詳細な内訳 |
ccusage optimize | 最適化の提案 |
設定
モニター設定
{
"monitor": {
"port": 3000,
"host": "localhost",
"updateInterval": 1000,
"retentionDays": 30,
"enableAlerts": true
},
"claude": {
"sessionPath": "~/.claude/sessions",
"logPath": "~/.claude/logs",
"apiEndpoint": "https://api.anthropic.com",
"trackModels": ["claude-3-sonnet", "claude-3-haiku", "claude-3-opus"]
},
"metrics": {
"trackTokens": true,
"trackCosts": true,
"trackPerformance": true,
"trackErrors": true,
"granularity": "minute"
},
"alerts": {
"dailyLimit": 10000,
"costThreshold": 50.00,
"errorRate": 0.05,
"responseTime": 5000
}
}
コスト追跡
{
"costTracking": {
"enabled": true,
"currency": "USD",
"models": {
"claude-3-opus": {
"inputCost": 0.000015,
"outputCost": 0.000075
},
"claude-3-sonnet": {
"inputCost": 0.000003,
"outputCost": 0.000015
},
"claude-3-haiku": {
"inputCost": 0.00000025,
"outputCost": 0.00000125
}
},
"budgets": {
"daily": 25.00,
"weekly": 150.00,
"monthly": 500.00
}
}
}
ダッシュボード機能
Web ダッシュボード
# Access dashboard
http://localhost:3000
# Dashboard sections
- Real-time metrics
- Usage graphs
- Cost analysis
- Session history
- Performance metrics
- Alert management
- Export options
ダッシュボードコンポーネント
| コンポーネント | 説明 |
|---|---|
Token Counter | リアルタイムのトークン使用 |
Cost Tracker | 現在および予測される費用 |
Session Browser | セッション履歴を参照 |
Performance Graph | レスポンスタイムメトリクス |
Error Monitor | エラー率追跡 |
Usage Heatmap | 使用パターンの可視化 |
Alert Panel | アクティブなアラートと通知 |
メトリクス表示
// Dashboard metrics configuration
const dashboardConfig = {
widgets: [
{
type: "counter",
metric: "tokens_today",
title: "Today's Tokens",
format: "number"
},
{
type: "gauge",
metric: "cost_today",
title: "Today's Cost",
format: "currency",
max: 50
},
{
type: "chart",
metric: "tokens_hourly",
title: "Hourly Usage",
timeRange: "24h"
},
{
type: "table",
metric: "top_sessions",
title: "Top Sessions",
limit: 10
}
],
refreshInterval: 5000,
theme: "dark"
};
使用状況分析
トークン分析
# Analyze token usage
ccusage tokens --period today
ccusage tokens --period week
ccusage tokens --period month
# Token breakdown by model
ccusage tokens --by-model
# Token efficiency analysis
ccusage tokens --efficiency
# Token usage trends
ccusage tokens --trends
コスト分析
# Cost breakdown
ccusage costs --breakdown
# Cost by time period
ccusage costs --period month
# Cost optimization suggestions
ccusage costs --optimize
# Budget tracking
ccusage costs --budget-status
# Cost projections
ccusage costs --forecast
パフォーマンス分析
# Response time analysis
ccusage performance --response-time
# Throughput analysis
ccusage performance --throughput
# Error rate analysis
ccusage performance --errors
# Performance trends
ccusage performance --trends
# Bottleneck identification
ccusage performance --bottlenecks
レポート
レポート生成
# Generate daily report
ccusage report --period today --format pdf
# Weekly summary
ccusage report --period week --format html
# Monthly analysis
ccusage report --period month --format json
# Custom date range
ccusage report --from 2025-07-01 --to 2025-07-15
# Detailed breakdown
ccusage report --detailed --include-sessions
レポート形式
| フォーマット | 説明 |
|---|---|
JSON | 機械可読データ |
CSV | スプレッドシート互換 |
HTML | Web表示可能なレポート |
PDF | 印刷可能な文書 |
Markdown | ドキュメンテーションフォーマット |
Excel | 高度なスプレッドシート |
自動レポート
{
"automation": {
"reports": [
{
"name": "daily_summary",
"schedule": "0 9 * * *",
"format": "email",
"recipients": ["team@company.com"],
"template": "daily_template"
},
{
"name": "weekly_analysis",
"schedule": "0 9 * * 1",
"format": "pdf",
"storage": "s3://reports-bucket/weekly/",
"template": "weekly_template"
}
]
}
}
アラートシステム
アラート設定
Would you like me to continue with the remaining sections (3-20) that are currently blank?```json { “alerts”: { “rules”: [ { “name”: “high_token_usage”, “condition”: “tokens_per_hour > 5000”, “severity”: “warning”, “actions”: [“email”, “slack”] }, { “name”: “budget_exceeded”, “condition”: “daily_cost > budget.daily * 0.9”, “severity”: “critical”, “actions”: [“email”, “sms”, “webhook”] }, { “name”: “high_error_rate”, “condition”: “error_rate > 0.05”, “severity”: “warning”, “actions”: [“slack”] } ], “channels”: { “email”: { “smtp”: “smtp.gmail.com”, “from”: “alerts@company.com”, “to”: [“admin@company.com”] }, “slack”: { “webhook”: “https://hooks.slack.com/…”, “channel”: “#claude-alerts” }, “webhook”: { “url”: “https://api.company.com/alerts”, “method”: “POST” } } } }
| アラート | トリガー | アクション |
|---------|-------------|-------------|
| `Token Limit` | 1日のトークン制限 | Eメール通知 |
| `Cost Threshold` | 予算の割合 | Slack アラート |
| `Error Rate` | 高エラー率 | Webhook呼び出し |
| `Performance` | レスポンス時間が遅い | ダッシュボードのハイライト |
| `Session Limit` | セッションの最大数に達しました | 自動クリーンアップ |## 最適化機能```bash
# Analyze optimization opportunities
ccusage optimize --analyze
# Token efficiency suggestions
ccusage optimize --tokens
# Cost reduction recommendations
ccusage optimize --costs
# Performance improvements
ccusage optimize --performance
# Model selection optimization
ccusage optimize --models
```### 使用状況の最適化```json
{
"optimization": {
"strategies": [
{
"name": "model_selection",
"description": "Choose optimal model for task",
"rules": [
{
"condition": "task_complexity < 0.3",
"recommendation": "claude-3-haiku"
},
{
"condition": "task_complexity >= 0.7",
"recommendation": "claude-3-opus"
}
]
},
{
"name": "context_optimization",
"description": "Optimize context window usage",
"techniques": [
"context_compression",
"selective_history",
"smart_truncation"
]
}
]
}
}
```### 最適化戦略```yaml
# GitHub Actions workflow
name: Claude Usage Monitoring
on:
schedule:
- cron: '0 */6 * * *'
jobs:
monitor:
runs-on: ubuntu-latest
steps:
- name: Check Usage
run: |
ccusage analyze --format json > usage.json
ccusage costs --budget-check
- name: Upload Report
uses: actions/upload-artifact@v2
with:
name: usage-report
path: usage.json
```## 統合例```javascript
// Slack bot for usage monitoring
const { App } = require('@slack/bolt');
const app = new App({
token: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET
});
app.command('/claude-usage', async ({ command, ack, respond }) => {
await ack();
const usage = await getClaudeUsage();
await respond({
text: `Claude Usage Today:
Tokens: ${usage.tokens}
Cost: $${usage.cost}
Sessions: ${usage.sessions}`
});
});
```### CI/CD統合```yaml
# Prometheus configuration
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'claude-usage'
static_configs:
- targets: ['localhost:3000']
metrics_path: '/metrics'
scrape_interval: 30s
```### Slack統合```bash
# Get current usage
GET /api/usage/current
# Get usage history
GET /api/usage/history?period=7d
# Get cost breakdown
GET /api/costs/breakdown
# Get performance metrics
GET /api/performance/metrics
# Get alerts
GET /api/alerts
# Export data
GET /api/export?format=json&period=month
```### Prometheus統合```javascript
// Real-time usage updates
const ws = new WebSocket('ws://localhost:3000/ws');
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
switch(data.type) {
case 'usage_update':
updateUsageDisplay(data.usage);
break;
case 'alert':
showAlert(data.alert);
break;
case 'cost_update':
updateCostDisplay(data.cost);
break;
}
};
```## APIリファレンス```bash
# Monitor not starting
- Check port availability
- Verify session file permissions
- Check configuration file syntax
- Review log files
# Missing data
- Verify Claude Code session path
- Check file permissions
- Ensure proper API access
- Review data retention settings
# Performance issues
- Reduce monitoring frequency
- Optimize database queries
- Clear old data
- Check system resources
```### REST APIエンドポイント```bash
# Enable debug mode
DEBUG=ccusage:* ccusage monitor
# Verbose logging
ccusage --verbose analyze
# Test configuration
ccusage config --test
# Validate data sources
ccusage validate --sources
```### WebSocket APIhttps://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor#
# トラブルシューティングhttps://github.com/ryoppippi/ccusage##
# 一般的な問題https://marketplace.visualstudio.com/items?itemName=suzuki0430.ccusage-vscode##
# デバッグコマンドhttps://www.raycast.com/nyatinte/ccusage#
# リソースhttps://docs.claude-usage.dev/- [Claude Code Usage Monitorのギトハブ](