|
|
@ -1,7 +1,6 @@
|
|
|
|
package cpu
|
|
|
|
package cpu
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
|
|
|
|
"context"
|
|
|
|
"context"
|
|
|
|
"errors"
|
|
|
|
"errors"
|
|
|
|
"fmt"
|
|
|
|
"fmt"
|
|
|
@ -59,7 +58,7 @@ func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) {
|
|
|
|
return nil, fmt.Errorf("cannot execute kstat: %s", err)
|
|
|
|
return nil, fmt.Errorf("cannot execute kstat: %s", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
re := regexp.MustCompile(`[:\s]+`)
|
|
|
|
re := regexp.MustCompile(`[:\s]+`)
|
|
|
|
for _, line := range strings.Split(bytes.NewBuffer(kstatSysOut).String(), "\n") {
|
|
|
|
for _, line := range strings.Split(string(kstatSysOut), "\n") {
|
|
|
|
fields := re.Split(line, -1)
|
|
|
|
fields := re.Split(line, -1)
|
|
|
|
if fields[0] != "cpu_stat" {
|
|
|
|
if fields[0] != "cpu_stat" {
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|