Documentation ¶
Overview ¶
Package metricsmw is used to record and expose metrics for an application.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var ( // RequestDurationHistogram measures the duration in seconds for requests. RequestDurationHistogram = promauto.NewHistogramVec( prometheus.HistogramOpts{ Name: "http_request_duration_seconds", Help: "Duration in seconds of each request", }, []string{"method", "code"}, ) // ResponseSizeHistogram measures the size in bytes for responses. ResponseSizeHistogram = promauto.NewHistogramVec( prometheus.HistogramOpts{ Name: "http_response_byte_size", Help: "Size in bytes of each response", }, []string{"method", "code"}, ) // All represents a combination of all HTTP metric collectors. // TODO: Remove once we move to v1.0 since we no longer need to register the collectors manually. All = []prometheus.Collector{ RequestDurationHistogram, ResponseSizeHistogram, } )
var DefaultServerMetrics = grpcprometheus.DefaultServerMetrics
DefaultServerMetrics is the default instance of ServerMetrics. It is intended to be used in conjunction the default Prometheus metrics registry.
var MeasureRequestsMiddleware = MiddlewareFunc(MeasureRequestsHandler)
MeasureRequestsMiddleware wraps the measure requests handler in a gorilla mux middleware.
var StreamClientInterceptor = grpcprometheus.StreamClientInterceptor
StreamClientInterceptor is a gRPC client-side interceptor that provides Prometheus monitoring for Streaming RPCs.
var StreamServerInterceptor = grpcprometheus.StreamServerInterceptor
StreamServerInterceptor is a gRPC server-side interceptor that provides Prometheus monitoring for Streaming RPCs.
var UnaryClientInterceptor = grpcprometheus.UnaryClientInterceptor
UnaryClientInterceptor is a gRPC client-side interceptor that provides Prometheus monitoring for Unary RPCs.
var UnaryServerInterceptor = grpcprometheus.UnaryServerInterceptor
UnaryServerInterceptor is a gRPC server-side interceptor that provides Prometheus monitoring for Unary RPCs.
Functions ¶
func MeasureRequests ¶
func MeasureRequests(next http.HandlerFunc) http.HandlerFunc
MeasureRequests returns a middleware for collecting metrics on http requests.
Example ¶
package main import ( "net/http" "github.com/LUSHDigital/core/middleware/metricsmw" ) func main() { http.Handle("/check", metricsmw.MeasureRequests(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(200) })) }
Output:
func MeasureRequestsHandler ¶
MeasureRequestsHandler wraps the measure requests handler in a http handler.
func Register ¶
func Register()
Register registers all the metric collectors with prometheus. DEPRECATED: metricsmw.Register() does not need to be called since registering of metrics now happens automatically. TODO: Remove once we move to v1.0 since we no longer need to register the collectors manually.
Types ¶
type MiddlewareFunc ¶
MiddlewareFunc represents a middleware func for use with gorilla mux.
func (MiddlewareFunc) Middleware ¶
func (mw MiddlewareFunc) Middleware(handler http.Handler) http.Handler
Middleware allows MiddlewareFunc to implement the middleware interface.