package
1.12.6
Repository: https://github.com/go-dev-frame/sponge.git
Documentation: pkg.go.dev

# 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.

NameTypeExposed Information
gin_uptimeCounterHTTP service uptime.
gin_http_request_count_totalCounterTotal number of HTTP requests made.
gin_http_request_duration_secondsHistogramHTTP request latencies in seconds.
gin_http_request_size_bytesSummaryHTTP request sizes in bytes.
gin_http_response_size_bytesSummaryHTTP 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.

metrics

# 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.