shad-go/middleware/httpgauge/README.md
2023-03-26 08:57:22 +00:00

1.5 KiB
Raw Blame History

httpgauge

Напишите middleware, считающий метрики числа запросов. Обычно, метрики измеряют с помощью библиотеки prometheus.

Но мы будем писать упрошённую версию, которая будет хранить метрики в map[string]int.

Ключём в такой map можно было бы сделать Path запроса, но это не очень хорошее решение. В пути часто встречаются изменяемые параметры. Например /user/0, /user/1, etc. В этом случае, мы не хотим отдельно измерять, что пришло 5 запросов к /user/0 и 10 запросов к /user/1. Для мониторинга за сервером нам нужно знать, что пришло 15 запросов к пути /user/{userID}.

Чтобы получить такой паттерн (/user/{userID}) вместо полного пути, нужно использовать библиотеку-роутер. Стандартная библиотека такого не умеет. В этой задаче мы будем использовать библиотеку chi.

Как получить такой паттерн из библиотеки chi - найдите сами)