Skip to content

cpufreq collector fails when any core is offline #2577

@kitzmiller

Description

@kitzmiller

Host operating system: output of uname -a

Linux myhost 6.1.5-060105-generic #202301121238 SMP PREEMPT_DYNAMIC Thu Jan 12 13:10:27 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

node_exporter version: output of node_exporter --version

  node_exporter, version 1.5.0 (branch: HEAD, revision: 1b48970ffcf5630534fb00bb0687d73c66d1c959)
  build user:       root@6e7732a7b81b
  build date:       20221129-18:59:09
  go version:       go1.19.3
  platform:         linux/amd64

same behavior on

node_exporter, version 1.3.1 (branch: debian/sid, revision: 1.3.1-1)
  build user:       [email protected]
  build date:       20220114-23:26:34
  go version:       go1.17.3
  platform:         linux/amd64

node_exporter command line flags

none

node_exporter log output

Jan 17 07:35:31 myhost prometheus-node-exporter[1028]: ts=2023-01-17T12:35:31.485Z caller=collector.go:169 level=error msg="collector failed" name=cpufreq duration_seconds=0.001987722 err="read /sys/devices/system/cpu/cpu15/cpufreq/cpuinfo_max_freq: device or resource busy"

Are you running node_exporter in Docker?

no

What did you do that produced an error?

I disabled a CPU core with:

echo 0 > /sys/devices/system/cpu/cpu15/online

What did you expect to see?

I expected the metrics node_cpu_frequency_max_hertz, node_cpu_frequency_min_hertz, node_cpu_scaling_frequency_hertz, node_cpu_scaling_frequency_max_hertz, node_cpu_scaling_frequency_min_hertz for the remaining online cores to still be available.

What did you see instead?

The above metrics were not present when any core is disabled. Reenabling the core reenables the metrics. The error above is added to /var/log/syslog every minute.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions