Refactor the multi-host salt install page.
[arvados.git] / services / keepstore / metrics.go
index 4a154bd7b77bd1c6411d50178326580e949938d7..d04601fbec84128ff47cf65ea15588aa6212b9c5 100644 (file)
@@ -2,12 +2,11 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-package main
+package keepstore
 
 import (
        "fmt"
 
-       "git.curoverse.com/arvados.git/sdk/go/httpserver"
        "github.com/prometheus/client_golang/prometheus"
 )
 
@@ -20,7 +19,7 @@ func (m *nodeMetrics) setupBufferPoolMetrics(b *bufferPool) {
                prometheus.GaugeOpts{
                        Namespace: "arvados",
                        Subsystem: "keepstore",
-                       Name:      "bufferpool_bytes_allocated",
+                       Name:      "bufferpool_allocated_bytes",
                        Help:      "Number of bytes allocated to buffers",
                },
                func() float64 { return float64(b.Alloc()) },
@@ -29,7 +28,7 @@ func (m *nodeMetrics) setupBufferPoolMetrics(b *bufferPool) {
                prometheus.GaugeOpts{
                        Namespace: "arvados",
                        Subsystem: "keepstore",
-                       Name:      "bufferpool_buffers_max",
+                       Name:      "bufferpool_max_buffers",
                        Help:      "Maximum number of buffers allowed",
                },
                func() float64 { return float64(b.Cap()) },
@@ -38,7 +37,7 @@ func (m *nodeMetrics) setupBufferPoolMetrics(b *bufferPool) {
                prometheus.GaugeOpts{
                        Namespace: "arvados",
                        Subsystem: "keepstore",
-                       Name:      "bufferpool_buffers_in_use",
+                       Name:      "bufferpool_inuse_buffers",
                        Help:      "Number of buffers in use",
                },
                func() float64 { return float64(b.Len()) },
@@ -50,7 +49,7 @@ func (m *nodeMetrics) setupWorkQueueMetrics(q *WorkQueue, qName string) {
                prometheus.GaugeOpts{
                        Namespace: "arvados",
                        Subsystem: "keepstore",
-                       Name:      fmt.Sprintf("%s_queue_in_progress", qName),
+                       Name:      fmt.Sprintf("%s_queue_inprogress_entries", qName),
                        Help:      fmt.Sprintf("Number of %s requests in progress", qName),
                },
                func() float64 { return float64(getWorkQueueStatus(q).InProgress) },
@@ -59,34 +58,13 @@ func (m *nodeMetrics) setupWorkQueueMetrics(q *WorkQueue, qName string) {
                prometheus.GaugeOpts{
                        Namespace: "arvados",
                        Subsystem: "keepstore",
-                       Name:      fmt.Sprintf("%s_queue_queued", qName),
+                       Name:      fmt.Sprintf("%s_queue_pending_entries", qName),
                        Help:      fmt.Sprintf("Number of queued %s requests", qName),
                },
                func() float64 { return float64(getWorkQueueStatus(q).Queued) },
        ))
 }
 
-func (m *nodeMetrics) setupRequestMetrics(rc httpserver.RequestCounter) {
-       m.reg.MustRegister(prometheus.NewGaugeFunc(
-               prometheus.GaugeOpts{
-                       Namespace: "arvados",
-                       Subsystem: "keepstore",
-                       Name:      "requests_current",
-                       Help:      "Number of requests in progress",
-               },
-               func() float64 { return float64(rc.Current()) },
-       ))
-       m.reg.MustRegister(prometheus.NewGaugeFunc(
-               prometheus.GaugeOpts{
-                       Namespace: "arvados",
-                       Subsystem: "keepstore",
-                       Name:      "requests_max",
-                       Help:      "Maximum number of concurrent requests",
-               },
-               func() float64 { return float64(rc.Max()) },
-       ))
-}
-
 type volumeMetricsVecs struct {
        ioBytes     *prometheus.CounterVec
        errCounters *prometheus.CounterVec
@@ -128,3 +106,10 @@ func newVolumeMetricsVecs(reg *prometheus.Registry) *volumeMetricsVecs {
 
        return m
 }
+
+func (vm *volumeMetricsVecs) getCounterVecsFor(lbls prometheus.Labels) (opsCV, errCV, ioCV *prometheus.CounterVec) {
+       opsCV = vm.opsCounters.MustCurryWith(lbls)
+       errCV = vm.errCounters.MustCurryWith(lbls)
+       ioCV = vm.ioBytes.MustCurryWith(lbls)
+       return
+}