.. | ||
httpgauge.go | ||
httpgauge_test.go | ||
README.md |
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
- найдите сами)