Имеется формула для расчета аптайма в процентах, 100 - (downtime / totaltime) * 100, где totaltime - все время работы, downtime - время пока сервер был недоступен.
А если сервер асинхронный, например:
1. В одну секунду сервер получил два запроса и начал их параллельно обрабатывать
2. Один из запросов прошел успешно, а второй выполнялся недопустимо долго и клиент не получил ответа.
Как применить формулу расчета аптайма в этом случае?
UPD:
В моем случае, под словом аптайм, я подразумеваю процент доступности.
В этой формуле где-то есть время обслуживания? Downtime - время, пока сервер был выключен. Uptime - когда включён. Ошибки этим показателем не учитываются.
Есть понятие доступность (то, что вы посчитали). Есть некоторые параметры качества (например, % ошибок). Так вот деградация параметров качества не является недоступностью сервиса.
Логируете ошибки, обрабатываете лог и считает что нужно.
Можно сразу всю стату пихать куданить в prometheus и т.п. если есть исходники бэкенда ну или с nginx через lua или вообще ещё 100500 вариантов, короче мониторите все ошибки и считает как вам того угодно.
Аптайм это время работы с момента запуска. Вы же хотите посчитать статистику по запросам, соответственно вам нужно использовать метрики всего запросов и "неудачных" запросов, собственно их и подставлять в формулу