forked from TrueCloudLab/frostfs-node
[#395] metrics: Drop redundant metrics
HistogramVec already has labeled counter. Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
bc34fee6a7
commit
271a56c2ab
2 changed files with 16 additions and 63 deletions
|
@ -63,21 +63,18 @@ type writeCacheMetrics struct {
|
|||
}
|
||||
|
||||
func (m *writeCacheMetrics) Get(d time.Duration, success bool, st writecache.StorageType) {
|
||||
m.metrics.AddGetDuration(m.shardID, success, d)
|
||||
m.metrics.IncGetCounter(m.shardID, success, st.String())
|
||||
m.metrics.AddGetDuration(m.shardID, success, d, st.String())
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) Delete(d time.Duration, success bool, st writecache.StorageType) {
|
||||
m.metrics.AddDeleteDuration(m.shardID, success, d)
|
||||
m.metrics.IncDeleteCounter(m.shardID, success, st.String())
|
||||
m.metrics.AddDeleteDuration(m.shardID, success, d, st.String())
|
||||
if success {
|
||||
m.metrics.DecActualCount(m.shardID, st.String())
|
||||
}
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) Put(d time.Duration, success bool, st writecache.StorageType) {
|
||||
m.metrics.AddPutDuration(m.shardID, success, d)
|
||||
m.metrics.IncPutCounter(m.shardID, success, st.String())
|
||||
m.metrics.AddPutDuration(m.shardID, success, d, st.String())
|
||||
if success {
|
||||
m.metrics.IncActualCount(m.shardID, st.String())
|
||||
}
|
||||
|
|
|
@ -21,14 +21,9 @@ type shardIDMode struct {
|
|||
}
|
||||
|
||||
type WriteCacheMetrics interface {
|
||||
AddGetDuration(shardID string, success bool, d time.Duration)
|
||||
IncGetCounter(shardID string, success bool, storageType string)
|
||||
|
||||
AddDeleteDuration(shardID string, success bool, d time.Duration)
|
||||
IncDeleteCounter(shardID string, success bool, storageType string)
|
||||
|
||||
AddPutDuration(shardID string, success bool, d time.Duration)
|
||||
IncPutCounter(shardID string, success bool, storageType string)
|
||||
AddGetDuration(shardID string, success bool, d time.Duration, storageType string)
|
||||
AddDeleteDuration(shardID string, success bool, d time.Duration, storageType string)
|
||||
AddPutDuration(shardID string, success bool, d time.Duration, storageType string)
|
||||
|
||||
IncActualCount(shardID string, storageType string)
|
||||
DecActualCount(shardID string, storageType string)
|
||||
|
@ -43,13 +38,8 @@ type WriteCacheMetrics interface {
|
|||
|
||||
type writeCacheMetrics struct {
|
||||
getDuration metric[*prometheus.HistogramVec]
|
||||
getCounter metric[*prometheus.CounterVec]
|
||||
|
||||
putDuration metric[*prometheus.HistogramVec]
|
||||
putCounter metric[*prometheus.CounterVec]
|
||||
|
||||
deleteDuration metric[*prometheus.HistogramVec]
|
||||
deleteCounter metric[*prometheus.CounterVec]
|
||||
|
||||
flushCounter metric[*prometheus.CounterVec]
|
||||
evictCounter metric[*prometheus.CounterVec]
|
||||
|
@ -66,11 +56,8 @@ type writeCacheMetrics struct {
|
|||
func newWriteCacheMetrics() *writeCacheMetrics {
|
||||
return &writeCacheMetrics{
|
||||
getDuration: newWCMethodDurationCounter("get"),
|
||||
getCounter: newWCMethodCounterVec("get"),
|
||||
putDuration: newWCMethodDurationCounter("put"),
|
||||
putCounter: newWCMethodCounterVec("put"),
|
||||
deleteDuration: newWCMethodDurationCounter("delete"),
|
||||
deleteCounter: newWCMethodCounterVec("delete"),
|
||||
flushCounter: newWCOperationCounterVec("flush", []string{wcShardID, wcStorage, wcSuccess}),
|
||||
evictCounter: newWCOperationCounterVec("evict", []string{wcShardID, wcStorage}),
|
||||
actualCount: newWCGaugeVec("actual_objects_count", "Actual objects count in writecache", []string{wcShardID, wcStorage}),
|
||||
|
@ -81,28 +68,16 @@ func newWriteCacheMetrics() *writeCacheMetrics {
|
|||
}
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) AddGetDuration(shardID string, success bool, d time.Duration) {
|
||||
setWriteCacheDuration(m.getDuration.value, shardID, success, d)
|
||||
func (m *writeCacheMetrics) AddGetDuration(shardID string, success bool, d time.Duration, storageType string) {
|
||||
setWriteCacheDuration(m.getDuration.value, shardID, success, d, storageType)
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) IncGetCounter(shardID string, success bool, storageType string) {
|
||||
incWriteCacheCounter(m.getCounter.value, shardID, success, storageType)
|
||||
func (m *writeCacheMetrics) AddDeleteDuration(shardID string, success bool, d time.Duration, storageType string) {
|
||||
setWriteCacheDuration(m.deleteDuration.value, shardID, success, d, storageType)
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) AddDeleteDuration(shardID string, success bool, d time.Duration) {
|
||||
setWriteCacheDuration(m.deleteDuration.value, shardID, success, d)
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) IncDeleteCounter(shardID string, success bool, storageType string) {
|
||||
incWriteCacheCounter(m.deleteCounter.value, shardID, success, storageType)
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) AddPutDuration(shardID string, success bool, d time.Duration) {
|
||||
setWriteCacheDuration(m.putDuration.value, shardID, success, d)
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) IncPutCounter(shardID string, success bool, storageType string) {
|
||||
incWriteCacheCounter(m.putCounter.value, shardID, success, storageType)
|
||||
func (m *writeCacheMetrics) AddPutDuration(shardID string, success bool, d time.Duration, storageType string) {
|
||||
setWriteCacheDuration(m.putDuration.value, shardID, success, d, storageType)
|
||||
}
|
||||
|
||||
func (m *writeCacheMetrics) IncActualCount(shardID string, storageType string) {
|
||||
|
@ -187,49 +162,30 @@ func (m *writeCacheMetrics) IncEvictCounter(shardID string, storageType string)
|
|||
|
||||
func (m *writeCacheMetrics) register() {
|
||||
mustRegister(m.getDuration)
|
||||
mustRegister(m.getCounter)
|
||||
mustRegister(m.putDuration)
|
||||
mustRegister(m.putCounter)
|
||||
mustRegister(m.deleteDuration)
|
||||
mustRegister(m.deleteCounter)
|
||||
mustRegister(m.actualCount)
|
||||
mustRegister(m.estimatedSize)
|
||||
mustRegister(m.flushCounter)
|
||||
mustRegister(m.evictCounter)
|
||||
}
|
||||
|
||||
func setWriteCacheDuration(m *prometheus.HistogramVec, shardID string, success bool, d time.Duration) {
|
||||
func setWriteCacheDuration(m *prometheus.HistogramVec, shardID string, success bool, d time.Duration, storageType string) {
|
||||
m.With(
|
||||
prometheus.Labels{
|
||||
wcShardID: shardID,
|
||||
wcSuccess: fmt.Sprintf("%v", success),
|
||||
wcStorage: storageType,
|
||||
},
|
||||
).Observe(float64(d))
|
||||
}
|
||||
|
||||
func incWriteCacheCounter(m *prometheus.CounterVec, shardID string, success bool, storageType string) {
|
||||
m.With(prometheus.Labels{
|
||||
wcShardID: shardID,
|
||||
wcSuccess: fmt.Sprintf("%v", success),
|
||||
wcStorage: storageType,
|
||||
}).Inc()
|
||||
}
|
||||
|
||||
func newWCMethodDurationCounter(method string) metric[*prometheus.HistogramVec] {
|
||||
return newHistogramVec(prometheus.HistogramOpts{
|
||||
Namespace: namespace,
|
||||
Subsystem: wcSubsystem,
|
||||
Name: fmt.Sprintf("%s_req_duration_seconds", method),
|
||||
Help: fmt.Sprintf("Accumulated %s request process duration", method),
|
||||
}, []string{wcShardID, wcSuccess})
|
||||
}
|
||||
|
||||
func newWCMethodCounterVec(method string) metric[*prometheus.CounterVec] {
|
||||
return newCounterVec(prometheus.CounterOpts{
|
||||
Namespace: namespace,
|
||||
Subsystem: wcSubsystem,
|
||||
Name: fmt.Sprintf("%s_req_count", method),
|
||||
Help: fmt.Sprintf("The number of %s requests processed", method),
|
||||
}, []string{wcShardID, wcSuccess, wcStorage})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue