Availability Trends API
Эндпоинт возвращает агрегированные временные ряды SLI из таблицы slo_metrics для построения графика доступности на Dashboard.
GET /api/v1/slos/trends
Параметры запроса (query)
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
period | string | 24h | Временное окно: 1h, 24h, 7d, 30d |
bucket | string | 1h | Шаг агрегации: 1h (по часам) или 1d (по дням) |
Пример запроса
bash
curl -H "Authorization: Bearer <token>" \
"http://localhost:8080/api/v1/slos/trends?period=7d&bucket=1h"Пример ответа
json
{
"points": [
{
"timestamp": "2026-06-15T10:00:00Z",
"avg_sli": 0.9921,
"min_sli": 0.9812,
"max_sli": 0.9987,
"slo_count": 4
},
{
"timestamp": "2026-06-15T11:00:00Z",
"avg_sli": 0.9945,
"min_sli": 0.9830,
"max_sli": 0.9991,
"slo_count": 4
}
],
"period": "7d"
}Поля ответа
points[]— массив точек временного ряда:timestamp— время начала bucket'а (ISO 8601)avg_sli— средний SLI по всем SLO в этом bucket'е (0..1)min_sli— минимальный SLI среди всех SLOmax_sli— максимальный SLI среди всех SLOslo_count— количество SLO, по которым есть данные
period— запрошенный период (echo)
Использование на Dashboard
Фронтенд вызывает этот эндпоинт при загрузке страницы Dashboard Overview. Селектор в правом верхнем углу карточки «Availability Trend» позволяет переключать period (1h / 24h / 7d / 30d). График отрисовывается библиотекой recharts (AreaChart).
Если в slo_metrics нет данных (пустая таблица), ответ содержит пустой массив points, и график показывает плейсхолдер «No metric data yet».