Пересмотр очереди, выводы из текста, наблюдаемость
Разведка job-queue-choice — очередь написана вручную: захват не транзакционен, повторов и счётчика попыток нет, очереди мёртвых задач нет. Стоит перед сменой хранилища, чтобы не переписывать захват дважды. Цель text-insights: заголовок, пересказ и темы внешним сервисом с OpenAI-совместимым интерфейсом. Граница паспорта сдвинута — «понимание сказанного» было записано как то, чем проект не является; за границей остались ответы на вопросы по записи и поиск по смыслу. Цель service-observability в сопровождении и разведка opentelemetry-fit: /metrics остаётся и развивается, способ решает замер.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# 🎯 Состояние сервиса видно без чтения логов
|
||||
|
||||
- **Тип:** goal
|
||||
- **Секция:** Сопровождение
|
||||
- **Зачем:** Отказ замечает пользователь, а не владелец: оповещения нет, а путь записи по конвейеру собирается глазами по логам контейнера.
|
||||
|
||||
Наблюдаем **мы**, а не пользователь сервиса, — поэтому цель стоит в
|
||||
сопровождении, а не среди возможностей приложения. Пользовательская половина
|
||||
той же темы живёт отдельно: о готовности своей записи человек узнаёт по цели
|
||||
[ready-notification](ready-notification.md).
|
||||
|
||||
Эндпоинт `/metrics` остаётся и развивается. Чем именно развивать — голым
|
||||
`client_golang` или OpenTelemetry с трассировкой — решает разведка
|
||||
`opentelemetry-fit`.
|
||||
|
||||
## Завершение
|
||||
|
||||
1. По метрикам видно, что конвейер встал: задача висит в состоянии дольше
|
||||
обычного, и это отличимо от «работы нет».
|
||||
2. Каждый внешний сервис имеет метрику вызовов, отказов и длительности —
|
||||
сегодня их нет ни у одного.
|
||||
3. Путь одной записи по конвейеру собирается запросом, а не чтением логов
|
||||
глазами.
|
||||
4. Владелец узнаёт об отказе сам, а не от пользователя.
|
||||
5. Стоимость обращений к платным сервисам видна числом.
|
||||
Reference in New Issue
Block a user