shad-go/middleware/httpgauge
Sergey Paramoshkin dc939b6ed1
update repo
2023-10-02 22:32:41 +03:00
..
httpgauge.go Describe gauge ServeHTTP method 2023-03-26 16:59:47 +04:00
httpgauge_test.go update repo 2023-10-02 22:32:41 +03:00
README.md Update README.md 2023-03-26 08:57:22 +00:00

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 - найдите сами)