aboutsummaryrefslogtreecommitdiff
path: root/server/metrics
diff options
context:
space:
mode:
authorKevin Lyda <kevin@ie.suberic.net>2017-02-12 14:38:12 +0000
committerNiall Sheridan <nsheridan@gmail.com>2017-02-12 14:38:12 +0000
commited8bc523fd0d1a66acf3fa449c453508035efdfc (patch)
treec05849546e1dd9d771dcc4c4ff52056d249a95fb /server/metrics
parent9c344a0a95c44ef9cebade7b8a65ac160d9eb900 (diff)
Initial pass at prometheus support. (#56)
Diffstat (limited to 'server/metrics')
-rw-r--r--server/metrics/metrics.go42
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)
+}