29 lines
610 B
Go
29 lines
610 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 {
|
|
statTag := tag
|
|
if _, ok := stats[tag]; !ok {
|
|
statTag = unknownStatsTag
|
|
}
|
|
return stats[statTag]
|
|
}
|