# Observability Review — 2026-06-07

**Tool:** SigNoz
**Period:** last 24h (+ 7-day baseline)

## Key Metrics

| Metric | Value | vs вчера (2026-06-05) |
|---|---|---|
| Error rate (24h) | 0% (0 / 34,973) | ↓ улучшение (вчера 0.02%) |
| Request volume (24h) | 34,973 span-ов | ↑ +20% vs 29,122 |
| p99 latency (MCP SSE) | 1,078,837 ms (~18 мин) | ↓ снижение (было 43 мин) — SSE keep-alive, ожидаемо |
| p99 latency (Threads API) | 6,261 ms | ↑ деградация (было 3,813 ms 2 дня назад) |
| Slow DB queries (> 100 ms) | N/A — данных нет | рекуррентная проблема (#81) |
| Error rate (7d) | 0.01% (8 / 155,466) | стабильно |

## Findings

### Ошибки
- **24h: 0 ошибок** — отличное состояние ✅
- **7-day: 8 ошибок** (0.01%) — в норме
- **HTTP 400 (24h):** только 2 срабатывания `/[blocked-action]` — middleware работает штатно
- **HTTP 400 (7d, 1,421 × POST):** исторический массив от предыдущего периода (известно, May 31); в 24h не повторяется → не требует нового issue

### Латентность
- **`GET /api/mcp/[apiKey]`** p99 = 1,078 с (~18 мин) — SSE keep-alive, ожидаемо
- **`GET` (анонимный)** p99 = 1,063 с (~17.7 мин) — рекуррентный анонимный span (#83, closed), без атрибуции
- **`fetch POST graph.threads.net`** p99 = **6,261 ms** — деградация с 3,813 ms (June 5) → +65% за 2 дня → **новый issue**
- **`POST api.x.com/tweets`** p99 = 446 ms — приемлемо ✅
- **`POST api.linkedin.com/rest/posts`** p99 = 409 ms — приемлемо ✅
- **GSC URL Inspection** — не попал в 24h топ-медленных → кэш работает ✅ (issue #79/#84 resolved)

### База данных
- `slow_db_queries: []` — PrismaInstrumentation по-прежнему не возвращает данные о запросах (#81, рекуррентно)

### Безопасность — токены Threads в спанах
- Спаны **всё ещё содержат** `access_token=...` в именах (24h: `fetch POST https://graph.threads.net/...?access_token=THAAXG...`)
- Фикс `e8c4a96` слит 2026-06-06 17:19 (closes #85), но **production-деплой не отражён** в SigNoz → требует верификации после ближайшего деплоя Coolify

### Объём трафика
- 34,973 span-ов за 24h — рост +20% vs June 5 (29,122)
- 7-day: 155,466 span-ов; Threads, LinkedIn, X — основные интеграции по объёму
- Аномалий нет

## Recurring Issues

- **Анонимный GET span (p99 ~18–43 мин)** — 7-й снапшот подряд; #83 closed без финального фикса
- **Нет Prisma DB-данных в SigNoz** — 7-й снапшот подряд; #81 in-progress/closed
- **Threads токены в спанах** — фикс есть, деплой на верификации

## Hypotheses

- **Threads API деградация**: p99 растёт 3.8s → 6.2s за 48h. Внешняя причина (сторонний API) вероятна; дополнительно — отсутствие hard timeout позволяет отдельным вызовам зависать. Если тренд сохранится ещё 2 дня — ↑ до high.
- **Рост volume +20%**: связан с активностью Threads (видно большое кол-во Threads API вызовов). Нет признаков аномалий.

## Recommendations

1. **[P2 — новый issue]** Добавить hard timeout (~8–10s) для Threads API вызовов: p99 деградирует (3.8→6.2s). Мониторить следующие 2 дня; если тренд продолжится → P1.
2. **[Верификация]** После ближайшего Coolify-деплоя проверить в SigNoz, что токены Threads исчезли из span names (фикс `e8c4a96` готов).
3. **[Мониторить]** Анонимный GET span (#83) — если появится корреляция с конкретным сервисом, реоткрыть с точным контекстом.
4. **[Долгосрочно]** Prisma DB инструментация (#81) — без DB-данных невозможно диагностировать N+1 и медленные запросы.
