コンテンツにスキップ

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 tailTailの使用ログ

分析コマンド

コマンド説明
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スプレッドシート互換
HTMLWeb表示可能なレポート
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のギトハブ](