Определите событие и точку его успешного завершения, затем добавьте подходящий счётчик или распределение. Метрика должна отражать бизнес-факт, а не только попытку выполнить HTTP-запрос.
Как добавить специфичную бизнес-метрику в приложение — что нужно сделать, как это будет выглядеть в коде?
Определите событие и точку его успешного завершения, затем добавьте подходящий счётчик или распределение. Метрика должна отражать бизнес-факт, а не только попытку выполнить HTTP-запрос.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Определите событие и точку его успешного завершения, затем добавьте подходящий счётчик или распределение. Метрика должна отражать бизнес-факт, а не только попытку выполнить HTTP-запрос.
Например, увеличивайте счётчик подтверждённых заказов после успешного commit, а не до записи в БД.
from prometheus_client import Counter
orders_completed = Counter(
"orders_completed_total", "Successfully completed orders", ["channel"]
)
# После подтверждённого завершения бизнес-операции:
orders_completed.labels(channel="web").inc()
Используйте ограниченный набор labels, без email и order_id. Счётчик процесса не является финансовым реестром и может не учесть событие при аварии между commit и inc; для точной отчётности нужен надёжный источник событий.