shad-go/middleware/httpgauge
2023-03-25 03:08:19 +04:00
..
httpgauge.go Add middleware task 2023-03-25 03:08:19 +04:00
httpgauge_test.go Add middleware task 2023-03-25 03:08:19 +04:00
README.md Add middleware task 2023-03-25 03:08:19 +04: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 - найдите сами)