
# Метрики

Queuety предоставляет интерфейс метрик API, который вычисляет статистику для каждого обработчика по таблице журналов. Используйте его для мониторинга, панелей мониторинга и оповещений.

## Статистика обработчиков

Получите метрики всех обработчиков за заданный период:

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

Каждая запись возвращённого массива содержит:

| Поле | Описание |
|---|---|
| `handler` | Имя обработчика |
| `completed` | Число успешных выполнений |
| `failed` | Число неудачных попыток (события журнала `failed` и `buried`, поэтому одно задание может учитываться несколько раз) |
| `avg_ms` | Средняя длительность выполнения в миллисекундах |
| `p95_ms` | 95-й процентиль длительности выполнения |
| `error_rate` | Доля сбоев от 0 до 1: `failed / (completed + failed)`, округлённая до четырёх знаков после запятой |

## 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` и оптимизируйте их.
- **Планирование ресурсов.** Отслеживайте тенденции пропускной способности, чтобы определить размер пула рабочих процессов.
