Skip to content

Commit 573cf02

Browse files
committed
Use perf Profiler pointers instead
Signed-off-by: Joe Damato <[email protected]>
1 parent 341322e commit 573cf02

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

collector/perf_linux.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ type perfCollector struct {
4545
hwProfilerCpuMap map[*perf.HardwareProfiler]int
4646
swProfilerCpuMap map[*perf.SoftwareProfiler]int
4747
cacheProfilerCpuMap map[*perf.CacheProfiler]int
48-
perfHwProfilers map[int]perf.HardwareProfiler
49-
perfSwProfilers map[int]perf.SoftwareProfiler
50-
perfCacheProfilers map[int]perf.CacheProfiler
48+
perfHwProfilers map[int]*perf.HardwareProfiler
49+
perfSwProfilers map[int]*perf.SoftwareProfiler
50+
perfCacheProfilers map[int]*perf.CacheProfiler
5151
desc map[string]*prometheus.Desc
5252
}
5353

@@ -63,9 +63,9 @@ func isValidCPUString(cpus *string) bool {
6363
// per CPU.
6464
func NewPerfCollector() (Collector, error) {
6565
collector := &perfCollector{
66-
perfHwProfilers: map[int]perf.HardwareProfiler{},
67-
perfSwProfilers: map[int]perf.SoftwareProfiler{},
68-
perfCacheProfilers: map[int]perf.CacheProfiler{},
66+
perfHwProfilers: map[int]*perf.HardwareProfiler{},
67+
perfSwProfilers: map[int]*perf.SoftwareProfiler{},
68+
perfCacheProfilers: map[int]*perf.CacheProfiler{},
6969
hwProfilerCpuMap: map[*perf.HardwareProfiler]int{},
7070
swProfilerCpuMap: map[*perf.SoftwareProfiler]int{},
7171
cacheProfilerCpuMap: map[*perf.CacheProfiler]int{},
@@ -97,24 +97,24 @@ func NewPerfCollector() (Collector, error) {
9797
// Use -1 to profile all processes on the CPU, see:
9898
// man perf_event_open
9999
p := perf.NewHardwareProfiler(-1, i)
100-
collector.perfHwProfilers[idx] = p
101-
if err := collector.perfHwProfilers[idx].Start(); err != nil {
100+
collector.perfHwProfilers[idx] = &p
101+
if err := p.Start(); err != nil {
102102
return collector, err
103103
} else {
104104
collector.hwProfilerCpuMap[&p] = i
105105
}
106106

107107
p2 := perf.NewSoftwareProfiler(-1, i)
108-
collector.perfSwProfilers[i] = p2
109-
if err := collector.perfSwProfilers[i].Start(); err != nil {
108+
collector.perfSwProfilers[i] = &p2
109+
if err := p2.Start(); err != nil {
110110
return collector, err
111111
} else {
112112
collector.swProfilerCpuMap[&p2] = i
113113
}
114114

115115
p3 := perf.NewCacheProfiler(-1, i)
116-
collector.perfCacheProfilers[i] = p3
117-
if err := collector.perfCacheProfilers[i].Start(); err != nil {
116+
collector.perfCacheProfilers[i] = &p3
117+
if err := p3.Start(); err != nil {
118118
return collector, err
119119
} else {
120120
collector.cacheProfilerCpuMap[&p3] = i
@@ -386,9 +386,9 @@ func (c *perfCollector) Update(ch chan<- prometheus.Metric) error {
386386

387387
func (c *perfCollector) updateHardwareStats(ch chan<- prometheus.Metric) error {
388388
for _, profiler := range c.perfHwProfilers {
389-
cpuid := c.hwProfilerCpuMap[&profiler]
389+
cpuid := c.hwProfilerCpuMap[profiler]
390390
cpuStr := fmt.Sprintf("%d", cpuid)
391-
hwProfile, err := profiler.Profile()
391+
hwProfile, err := (*profiler).Profile()
392392
if err != nil {
393393
return err
394394
}
@@ -458,9 +458,9 @@ func (c *perfCollector) updateHardwareStats(ch chan<- prometheus.Metric) error {
458458

459459
func (c *perfCollector) updateSoftwareStats(ch chan<- prometheus.Metric) error {
460460
for _, profiler := range c.perfSwProfilers {
461-
cpuid := c.swProfilerCpuMap[&profiler]
461+
cpuid := c.swProfilerCpuMap[profiler]
462462
cpuStr := fmt.Sprintf("%d", cpuid)
463-
swProfile, err := profiler.Profile()
463+
swProfile, err := (*profiler).Profile()
464464
if err != nil {
465465
return err
466466
}
@@ -514,9 +514,9 @@ func (c *perfCollector) updateSoftwareStats(ch chan<- prometheus.Metric) error {
514514

515515
func (c *perfCollector) updateCacheStats(ch chan<- prometheus.Metric) error {
516516
for _, profiler := range c.perfCacheProfilers {
517-
cpuid := c.cacheProfilerCpuMap[&profiler]
517+
cpuid := c.cacheProfilerCpuMap[profiler]
518518
cpuStr := fmt.Sprintf("%d", cpuid)
519-
cacheProfile, err := profiler.Profile()
519+
cacheProfile, err := (*profiler).Profile()
520520
if err != nil {
521521
return err
522522
}

0 commit comments

Comments
 (0)