Как добавить специфичную бизнес-метрику в приложение — что нужно сделать, как это будет выглядеть в коде?

Определите событие и точку его успешного завершения, затем добавьте подходящий счётчик или распределение. Метрика должна отражать бизнес-факт, а не только попытку выполнить 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; для точной отчётности нужен надёжный источник событий.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее