# README
metrics
gin metrics library, collect five metrics, uptime
, http_request_count_total
, http_request_duration_seconds
, http_request_size_bytes
, http_response_size_bytes
.
Example of use
import "github.com/go-dev-frame/sponge/pkg/gin/middleware/metrics"
r := gin.Default()
r.Use(metrics.Metrics(
r,
//metrics.WithMetricsPath("/demo/metrics"), // default is /metrics
metrics.WithIgnoreStatusCodes(http.StatusNotFound), // ignore status codes
//metrics.WithIgnoreRequestMethods(http.MethodHead), // ignore request methods
//metrics.WithIgnoreRequestPaths("/ping", "/health"), // ignore request paths
))
Metrics
Details about exposed Prometheus metrics.
Name | Type | Exposed Information |
---|---|---|
gin_uptime | Counter | HTTP service uptime. |
gin_http_request_count_total | Counter | Total number of HTTP requests made. |
gin_http_request_duration_seconds | Histogram | HTTP request latencies in seconds. |
gin_http_request_size_bytes | Summary | HTTP request sizes in bytes. |
gin_http_response_size_bytes | Summary | HTTP response sizes in bytes. |
Grafana charts
import gin_grafana.json to your grafana, datasource name is Prometheus
, change the name of the datasource according to your actual datasource.
# Functions
Metrics returns a gin.HandlerFunc for exporting some Web metrics.
WithIgnoreRequestMethods ignore request methods.
WithIgnoreRequestPaths ignore request paths.
WithIgnoreStatusCodes ignore status codes.
WithMetricsPath set metrics path.
# Type aliases
Option set the metrics options.