diff options
author | Kevin Lyda <kevin@ie.suberic.net> | 2017-02-12 14:38:12 +0000 |
---|---|---|
committer | Niall Sheridan <nsheridan@gmail.com> | 2017-02-12 14:38:12 +0000 |
commit | ed8bc523fd0d1a66acf3fa449c453508035efdfc (patch) | |
tree | c05849546e1dd9d771dcc4c4ff52056d249a95fb /server/metrics | |
parent | 9c344a0a95c44ef9cebade7b8a65ac160d9eb900 (diff) |
Initial pass at prometheus support. (#56)
Diffstat (limited to 'server/metrics')
-rw-r--r-- | server/metrics/metrics.go | 42 |
1 files changed, 42 insertions, 0 deletions
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) +} |