mirror of
https://github.com/openfaas/faas.git
synced 2025-06-08 16:26:47 +00:00
- this PR adds metrics via Prometheus for instrumentation and to move towards using HPAv2 / custom metrics in Kubernetes. Signed-off-by: Alex Ellis <alexellis2@gmail.com>
28 lines
768 B
Go
28 lines
768 B
Go
package metrics
|
|
|
|
import (
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
"github.com/prometheus/client_golang/prometheus/promauto"
|
|
)
|
|
|
|
type Http struct {
|
|
RequestsTotal *prometheus.CounterVec
|
|
RequestDurationHistogram *prometheus.HistogramVec
|
|
}
|
|
|
|
func NewHttp() Http {
|
|
return Http{
|
|
RequestsTotal: promauto.NewCounterVec(prometheus.CounterOpts{
|
|
Subsystem: "http",
|
|
Name: "requests_total",
|
|
Help: "total HTTP requests processed",
|
|
}, []string{"code", "method"}),
|
|
RequestDurationHistogram: promauto.NewHistogramVec(prometheus.HistogramOpts{
|
|
Subsystem: "http",
|
|
Name: "request_duration_seconds",
|
|
Help: "Seconds spent serving HTTP requests.",
|
|
Buckets: prometheus.DefBuckets,
|
|
}, []string{"code", "method"}),
|
|
}
|
|
}
|