Медленные эндпоинты по 95-му перцентилю из JSON-логов
Приложение пишет JSON-логи, уже разобранные в словари: {"path": "/api/orders", "duration_ms": 120}.
Напишите slow_endpoints(records, threshold_ms).
- Сгруппируйте записи по
pathи посчитайте p95 длительности методом ближайшего ранга: отсортируйте длительности пути по возрастанию, возьмите элемент с индексом(95 × n + 99) // 100 − 1, гдеn— число записей пути. - Записи без
pathили безduration_msпропускайте. - Верните список пар
(path, p95)для путей, где p95 строго большеthreshold_ms, по убыванию p95; при равенстве — поpathпо алфавиту.
заготовка решения
def slow_endpoints(records, threshold_ms):
# ваш код
return None