{"repo":"slok/go-http-metrics","free":true,"listed":false,"github":"https://github.com/slok/go-http-metrics","clone":"git clone https://github.com/slok/go-http-metrics.git","description":"Go modular http middleware to measure HTTP requests independent of metrics backend (with Prometheus and OpenCensus as backend implementations) and http framework/library","language":"Go","stars":443,"topics":["http","metrics","observability","http-middleware","middleware","instrumentation","prometheus","golang","go","opencensus"],"license":"Apache-2.0","category":"analytics","readme_excerpt":"go-http-metrics [![Build Status][github-actions-image]][github-actions-url] [![Go Report Card][goreport-image]][goreport-url] [![GoDoc][godoc-image]][godoc-url] go-http-metrics knows how to measure http metrics in different metric formats and Go HTTP framework/libs. The metrics measured are based on [RED] and/or [Four golden signals], follow standards and try to be measured in a efficient way. Table of contents - Metrics - Metrics recorder implementations - Framework compatibility middlewares - Getting Started - Prometheus query examples - Options - Middleware Options - Prometheus recorder options - OpenCensus recorder options - Benchmarks Metrics The metrics obtained with this middleware are the [most important ones][red] for a HTTP service. - Records the duration of the requests(with: code, handler, method). - Records the count of the requests(with: code, handler, method). - Records the size of the responses(with: code, handler, method). - Records the number requests being handled concurrently at a given time a.k.a inflight requests (with: handler). Metrics recorder implementations go-http-metrics is easy to extend to different metric backends by implementing metrics.Recorder interface. - [Prometheus][prometheus-recorder] - [OpenCensus][opencensus-recorder] Framework compatibility middlewares The middleware is mainly focused to be compatible with Go std library using http.Handler, but it comes with helpers to get middlewares for other frameworks or libraries. When go-http-m","default_branch":null,"files":null,"tree":[],"storefront":"/r/slok","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/slok/go-http-metrics/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}