// Generate XXX func (g *InterfaceGenerator) Generate() (metrics.Values, error) { time.Sleep(g.Interval) r, _, err := windows.PdhCollectQueryData.Call(uintptr(g.query)) if r != 0 && err != nil { if r == windows.PDH_NO_DATA { interfaceLogger.Infof("this metric has not data. ") return nil, err } return nil, err } results := make(map[string]float64) for _, v := range g.counters { results[v.PostName], err = windows.GetCounterValue(v.Counter) if err != nil { return nil, err } } interfaceLogger.Debugf("%q", results) return results, nil }
// Generate XXX func (g *ProcessorQueueLengthGenerator) Generate() (metrics.Values, error) { r, _, err := windows.PdhCollectQueryData.Call(uintptr(g.query)) if r != 0 && err != nil { if r == windows.PDH_NO_DATA { processorQueueLengthLogger.Infof("this metric has not data. ") return nil, err } return nil, err } results := make(map[string]float64) for _, v := range g.counters { results[v.PostName], err = windows.GetCounterValue(v.Counter) if err != nil { return nil, err } } processorQueueLengthLogger.Debugf("processor_queue_length: %q", results) return results, nil }