From ed8bc523fd0d1a66acf3fa449c453508035efdfc Mon Sep 17 00:00:00 2001 From: Kevin Lyda Date: Sun, 12 Feb 2017 14:38:12 +0000 Subject: Initial pass at prometheus support. (#56) --- server/metrics/metrics.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 server/metrics/metrics.go (limited to 'server/metrics') diff --git a/server/metrics/metrics.go b/server/metrics/metrics.go new file mode 100644 index 0000000..4102353 --- /dev/null +++ b/server/metrics/metrics.go @@ -0,0 +1,42 @@ +package metrics + +import ( + "github.com/prometheus/client_golang/prometheus" +) + +// Metrics collects the metrics. +type Metrics struct { + AuthValid, + AuthExchange, + Errs *prometheus.CounterVec +} + +// M structure to collect all metrics together. +var M Metrics + +// Register metrics and metrics page. +func Register() { + M = Metrics{ + AuthValid: prometheus.NewCounterVec(prometheus.CounterOpts{ + Namespace: "cashier", + Subsystem: "auth", + Name: "valid_total", + Help: "Auth Valid calls", + }, []string{"module"}), + AuthExchange: prometheus.NewCounterVec(prometheus.CounterOpts{ + Namespace: "cashier", + Subsystem: "auth", + Name: "exchange_total", + Help: "Auth Exchange calls", + }, []string{"module"}), + Errs: prometheus.NewCounterVec(prometheus.CounterOpts{ + Namespace: "cashier", + Subsystem: "sys", + Name: "error_total", + Help: "Error counts by module", + }, []string{"module"}), + } + prometheus.MustRegister(M.Errs) + prometheus.MustRegister(M.AuthValid) + prometheus.MustRegister(M.AuthExchange) +} -- cgit v1.2.3