@@ -7,6 +7,7 @@ package cgroup
77
88import (
99 "bytes"
10+ "context"
1011 "errors"
1112 "os/exec"
1213 "path"
@@ -63,17 +64,17 @@ func NewCPUSource(basePath string) *CPUSource {
6364 }
6465}
6566
66- func (cs * CPUSource ) Collect () (ContainerCPUStats , error ) {
67- cpuStats , err := cs .collectCPUStats ()
67+ func (cs * CPUSource ) Collect (ctx context. Context ) (ContainerCPUStats , error ) {
68+ cpuStats , err := cs .collectCPUStats (ctx )
6869 if err != nil {
6970 return ContainerCPUStats {}, err
7071 }
7172
7273 return cpuStats , nil
7374}
7475
75- func (cs * CPUSource ) collectCPUStats () (ContainerCPUStats , error ) {
76- clockTicks , err := clockTicks ()
76+ func (cs * CPUSource ) collectCPUStats (ctx context. Context ) (ContainerCPUStats , error ) {
77+ clockTicks , err := clockTicks (ctx )
7778 const nanosecondsPerMillisecond = 1000
7879 if err != nil {
7980 return ContainerCPUStats {}, err
@@ -190,8 +191,8 @@ func systemCPUUsage(clockTicks int) (float64, error) {
190191 return 0 , errors .New ("unable to process " + CPUStatsPath + ". No cpu found" )
191192}
192193
193- func clockTicks () (int , error ) {
194- cmd := exec .Command ( "getconf" , "CLK_TCK" )
194+ func clockTicks (ctx context. Context ) (int , error ) {
195+ cmd := exec .CommandContext ( ctx , "getconf" , "CLK_TCK" )
195196 out := new (bytes.Buffer )
196197 cmd .Stdout = out
197198
0 commit comments