
# Métricas

Queuety fornece uma API de métricas que calcula estatísticas por handler a partir da tabela de logs. Use-a para monitoramento, painéis e alertas.

## Estatísticas do handler

Obtenha métricas de todos os handlers em um intervalo de tempo:

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

Cada entrada no array retornado contém:

| Campo | Descrição |
|---|---|
| `handler` | Nome do handler |
| `completed` | Número de execuções bem-sucedidas |
| `failed` | Número de tentativas com falha (eventos de log `failed` e `buried`; portanto, um job pode ser contado mais de uma vez) |
| `avg_ms` | Duração média da execução em milissegundos |
| `p95_ms` | Duração da execução no percentil 95 |
| `error_rate` | Proporção de falhas de 0 a 1: `failed / (completed + failed)`, arredondada para quatro casas decimais |

## 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
```

Exemplo de saída:

```
+------------------+-----------+--------+--------+--------+------------+
| 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     |
+------------------+-----------+--------+--------+--------+------------+
```

## Casos de uso

- **Widgets de painel.** Exiba o throughput e as taxas de erro no painel de administração do WordPress.
- **Verificações de integridade.** Gere um alerta quando a taxa de erro de um handler ultrapassar um limite.
- **Ajuste de desempenho.** Identifique handlers lentos usando `p95_ms` e otimize-os.
- **Planejamento de capacidade.** Acompanhe as tendências de throughput para dimensionar seu conjunto de workers.
