[#412] node: Replace metrics package

Use observability module.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2023-05-31 12:25:32 +03:00 committed by Evgenii Stratonikov
parent 74578052f9
commit c09144ecf1
15 changed files with 162 additions and 459 deletions

View file

@ -1,29 +1,32 @@
package metrics
import "github.com/prometheus/client_golang/prometheus"
import (
"git.frostfs.info/TrueCloudLab/frostfs-observability/metrics"
"github.com/prometheus/client_golang/prometheus"
)
const replicatorSubsystem = "replicator"
type replicatorMetrics struct {
inFlightRequests metric[prometheus.Gauge]
processedObjects metric[prometheus.Counter]
totalReplicatedPayloadSize metric[prometheus.Counter]
inFlightRequests prometheus.Gauge
processedObjects prometheus.Counter
totalReplicatedPayloadSize prometheus.Counter
}
func (m replicatorMetrics) IncInFlightRequest() {
m.inFlightRequests.value.Inc()
m.inFlightRequests.Inc()
}
func (m replicatorMetrics) DecInFlightRequest() {
m.inFlightRequests.value.Dec()
m.inFlightRequests.Dec()
}
func (m replicatorMetrics) IncProcessedObjects() {
m.processedObjects.value.Inc()
m.processedObjects.Inc()
}
func (m replicatorMetrics) AddPayloadSize(size int64) {
m.totalReplicatedPayloadSize.value.Add(float64(size))
m.totalReplicatedPayloadSize.Add(float64(size))
}
func newReplicatorMetrics() replicatorMetrics {
@ -34,14 +37,8 @@ func newReplicatorMetrics() replicatorMetrics {
}
}
func (m replicatorMetrics) register() {
mustRegister(m.inFlightRequests)
mustRegister(m.processedObjects)
mustRegister(m.totalReplicatedPayloadSize)
}
func newReplicatorCounter(name, help string) metric[prometheus.Counter] {
return newCounter(prometheus.CounterOpts{
func newReplicatorCounter(name, help string) prometheus.Counter {
return metrics.NewCounter(prometheus.CounterOpts{
Namespace: namespace,
Subsystem: replicatorSubsystem,
Name: name,
@ -49,8 +46,8 @@ func newReplicatorCounter(name, help string) metric[prometheus.Counter] {
})
}
func newReplicatorGauge(name, help string) metric[prometheus.Gauge] {
return newGauge(prometheus.GaugeOpts{
func newReplicatorGauge(name, help string) prometheus.Gauge {
return metrics.NewGauge(prometheus.GaugeOpts{
Namespace: namespace,
Subsystem: replicatorSubsystem,
Name: name,