forked from TrueCloudLab/frostfs-node
28 lines
584 B
Go
28 lines
584 B
Go
package qos
|
|
|
|
const unknownStatsTag = "unknown"
|
|
|
|
var statTags = map[string]struct{}{
|
|
IOTagClient.String(): {},
|
|
IOTagBackground.String(): {},
|
|
IOTagInternal.String(): {},
|
|
IOTagPolicer.String(): {},
|
|
IOTagWritecache.String(): {},
|
|
IOTagCritical.String(): {},
|
|
unknownStatsTag: {},
|
|
}
|
|
|
|
func createStats() map[string]*stat {
|
|
result := make(map[string]*stat)
|
|
for tag := range statTags {
|
|
result[tag] = &stat{}
|
|
}
|
|
return result
|
|
}
|
|
|
|
func getStat(tag string, stats map[string]*stat) *stat {
|
|
if v, ok := stats[tag]; ok {
|
|
return v
|
|
}
|
|
return stats[unknownStatsTag]
|
|
}
|