in helpers/windows/pdh/pdh_query_windows.go [142:166]
func (q *Query) RemoveUnusedCounters(counters []string) error {
// check if the expandwildcard func did expand th wildcard queries, if not, no counters will be removed
for _, counter := range counters {
if strings.Contains(counter, "*") {
return nil
}
}
unused := make(map[string]*Counter)
for counterPath, counter := range q.Counters {
if !matchCounter(counterPath, counters) {
unused[counterPath] = counter
}
}
if len(unused) == 0 {
return nil
}
for counterPath, cnt := range unused {
err := PdhRemoveCounter(cnt.handle)
if err != nil {
return err
}
delete(q.Counters, counterPath)
}
return nil
}