forked from TrueCloudLab/frostfs-node
[#375] Add log metrics
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
This commit is contained in:
parent
83d600ed77
commit
0c40d98f7a
4 changed files with 48 additions and 0 deletions
37
pkg/util/logger/metrics.go
Normal file
37
pkg/util/logger/metrics.go
Normal file
|
@ -0,0 +1,37 @@
|
|||
package logger
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-observability/metrics"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"go.uber.org/zap/zapcore"
|
||||
)
|
||||
|
||||
const (
|
||||
logSubsystem = "log"
|
||||
logLevelLabel = "level"
|
||||
logDroppedLabel = "dropped"
|
||||
)
|
||||
|
||||
type logMetrics struct {
|
||||
logCount *prometheus.CounterVec
|
||||
}
|
||||
|
||||
func newLogMetrics(namespace string) *logMetrics {
|
||||
return &logMetrics{
|
||||
logCount: metrics.NewCounterVec(prometheus.CounterOpts{
|
||||
Namespace: namespace,
|
||||
Subsystem: logSubsystem,
|
||||
Name: "log_count",
|
||||
Help: "Total log entries emitted or dropped by severity level",
|
||||
}, []string{logLevelLabel, logDroppedLabel}),
|
||||
}
|
||||
}
|
||||
|
||||
func (m *logMetrics) Inc(level zapcore.Level, dropped bool) {
|
||||
m.logCount.With(prometheus.Labels{
|
||||
logLevelLabel: level.String(),
|
||||
logDroppedLabel: strconv.FormatBool(dropped),
|
||||
}).Inc()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue