import (
"fmt"
- "git.curoverse.com/arvados.git/sdk/go/httpserver"
"github.com/prometheus/client_golang/prometheus"
)
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()) },
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()) },
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()) },
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) },
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
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
+}