app/vmstorage: add vm_cache_entries{type="storage/hour_metric_ids"} metric for tracking active time series count

This commit is contained in:
Aliaksandr Valialkin 2019-06-19 18:36:47 +03:00
parent 08e255a206
commit a0c22a6830
2 changed files with 13 additions and 0 deletions

View file

@ -312,6 +312,9 @@ func registerStorageMetrics(strg *storage.Storage) {
metrics.NewGauge(`vm_cache_entries{type="storage/date_metricID"}`, func() float64 { metrics.NewGauge(`vm_cache_entries{type="storage/date_metricID"}`, func() float64 {
return float64(m().DateMetricIDCacheSize) return float64(m().DateMetricIDCacheSize)
}) })
metrics.NewGauge(`vm_cache_entries{type="storage/hour_metric_ids"}`, func() float64 {
return float64(m().HourMetricIDCacheSize)
})
metrics.NewGauge(`vm_cache_entries{type="storage/bigIndexBlocks"}`, func() float64 { metrics.NewGauge(`vm_cache_entries{type="storage/bigIndexBlocks"}`, func() float64 {
return float64(tm().BigIndexBlocksCacheSize) return float64(tm().BigIndexBlocksCacheSize)
}) })

View file

@ -295,6 +295,8 @@ type Metrics struct {
DateMetricIDCacheMisses uint64 DateMetricIDCacheMisses uint64
DateMetricIDCacheCollisions uint64 DateMetricIDCacheCollisions uint64
HourMetricIDCacheSize uint64
IndexDBMetrics IndexDBMetrics IndexDBMetrics IndexDBMetrics
TableMetrics TableMetrics TableMetrics TableMetrics
} }
@ -338,6 +340,14 @@ func (s *Storage) UpdateMetrics(m *Metrics) {
m.DateMetricIDCacheMisses += cs.Misses m.DateMetricIDCacheMisses += cs.Misses
m.DateMetricIDCacheCollisions += cs.Collisions m.DateMetricIDCacheCollisions += cs.Collisions
hmCurr := s.currHourMetricIDs.Load().(*hourMetricIDs)
hmPrev := s.prevHourMetricIDs.Load().(*hourMetricIDs)
hourMetricIDsLen := len(hmPrev.m)
if len(hmCurr.m) > hourMetricIDsLen {
hourMetricIDsLen = len(hmCurr.m)
}
m.HourMetricIDCacheSize += uint64(hourMetricIDsLen)
s.idb().UpdateMetrics(&m.IndexDBMetrics) s.idb().UpdateMetrics(&m.IndexDBMetrics)
s.tb.UpdateMetrics(&m.TableMetrics) s.tb.UpdateMetrics(&m.TableMetrics)
} }