
# メトリクス

Queuetyは、ログテーブルからハンドラーごとの統計を計算するメトリクスAPIを提供します。監視、ダッシュボード、アラートに活用できます。

## ハンドラーの統計

指定した期間内のすべてのハンドラーのメトリクスを取得します:

```php
$stats = Queuety::metrics()->handler_stats( 60 ); // last 60 minutes
```

返される配列の各項目には次の情報が含まれます:

| フィールド | 説明 |
|---|---|
| `handler` | ハンドラー名 |
| `completed` | 成功した実行回数 |
| `failed` | 失敗した試行回数（`failed`と`buried`のログイベントが対象となるため、1つのジョブが複数回カウントされることがあります） |
| `avg_ms` | 平均実行時間（ミリ秒） |
| `p95_ms` | 実行時間の95パーセンタイル値 |
| `error_rate` | 失敗率（0から1）: `failed / (completed + failed)`、小数点以下4桁に丸め |

## CLI

```bash
# Metrics for the last 60 minutes (default)
wp queuety metrics

# Metrics for the last 24 hours
wp queuety metrics --minutes=1440

# JSON output
wp queuety metrics --format=json
```

出力例:

```
+------------------+-----------+--------+--------+--------+------------+
| handler          | completed | failed | avg_ms | p95_ms | error_rate |
+------------------+-----------+--------+--------+--------+------------+
| send_email       | 142       | 3      | 45     | 120    | 0.0207     |
| process_image    | 87        | 0      | 230    | 450    | 0          |
| call_openai      | 31        | 5      | 2100   | 4500   | 0.1389     |
+------------------+-----------+--------+--------+--------+------------+
```

## 活用例

- **ダッシュボードウィジェット。** WordPress管理画面にスループットとエラー率を表示します。
- **ヘルスチェック。** ハンドラーのエラー率がしきい値を超えたときに通知します。
- **パフォーマンス調整。** `p95_ms`を使って遅いハンドラーを特定し、最適化します。
- **キャパシティプランニング。** スループットの傾向を追跡して、ワーカープールの規模を決めます。
