aboutsummaryrefslogtreecommitdiff
path: root/server/metrics/metrics.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/metrics/metrics.go')
-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)
+}