コード例 #1
0
ファイル: collect.go プロジェクト: codeskyblue/gopsutil
func NewProcCollectCPU(proc *process.Process) CollectFunc {
	return func() (*Data, error) {
		percent, err := proc.CPUPercent(0)
		if err != nil {
			return nil, err
		}
		return &Data{
			Name: fmt.Sprintf("proc:%d:cpu", proc.Pid),
			Data: map[string]interface{}{
				"total":   percent,
				"average": percent / float64(cpu.CPUCount),
			},
		}, nil
	}
}