prometheus / prometheus/node_exporter
end-to-end test fails on riscv64 machine
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 13.8k
- Forks
- 2.7k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 8
Description
Host operating system: output of uname -a
Linux abomasnow.felixc.at 6.6.52-win2030 #2024.10.01.15.13+6ab9daef0 SMP Tue Oct 1 15:22:07 UTC 2024 riscv64 GNU/Linux
node_exporter version: output of node_exporter --version
node_exporter, version 1.8.2 (branch: tarball, revision: 1.8.2)
build user: someone@builder
build date: 20241110-13:24:22
go version: go1.23.2
platform: linux/riscv64
tags: unknown
node_exporter command line flags
n/a
node_exporter log output
n/a
Are you running node_exporter in Docker?
no
What did you do that produced an error?
Run end-to-end-test.sh
What did you expect to see?
Tests pass.
What did you see instead?
+++ /tmp/node_exporter_e2e_test.9UAsIc/e2e-output.txt 2024-11-10 13:28:23.283795133 +0000
@@ -273,24 +273,12 @@
# HELP node_cooling_device_max_state Maximum throttle state of the cooling device
# TYPE node_cooling_device_max_state gauge
node_cooling_device_max_state{name="0",type="Processor"} 3
-# HELP node_cpu_bug_info The `bugs` field of CPU information from /proc/cpuinfo taken from the first core.
-# TYPE node_cpu_bug_info gauge
-node_cpu_bug_info{bug="cpu_meltdown"} 1
-node_cpu_bug_info{bug="mds"} 1
-node_cpu_bug_info{bug="spectre_v1"} 1
-node_cpu_bug_info{bug="spectre_v2"} 1
# HELP node_cpu_core_throttles_total Number of times this CPU core has been throttled.
# TYPE node_cpu_core_throttles_total counter
node_cpu_core_throttles_total{core="0",package="0"} 5
node_cpu_core_throttles_total{core="0",package="1"} 0
node_cpu_core_throttles_total{core="1",package="0"} 0
node_cpu_core_throttles_total{core="1",package="1"} 9
-# HELP node_cpu_flag_info The `flags` field of CPU information from /proc/cpuinfo taken from the first core.
-# TYPE node_cpu_flag_info gauge
-node_cpu_flag_info{flag="aes"} 1
-node_cpu_flag_info{flag="avx"} 1
-node_cpu_flag_info{flag="avx2"} 1
-node_cpu_flag_info{flag="constant_tsc"} 1
# HELP node_cpu_guest_seconds_total Seconds the CPUs spent in guests (VMs) for each mode.
# TYPE node_cpu_guest_seconds_total counter
node_cpu_guest_seconds_total{cpu="0",mode="nice"} 0.01
@@ -309,16 +297,6 @@
node_cpu_guest_seconds_total{cpu="6",mode="user"} 0.08
node_cpu_guest_seconds_total{cpu="7",mode="nice"} 0.08
node_cpu_guest_seconds_total{cpu="7",mode="user"} 0.09
-# HELP node_cpu_info CPU information from /proc/cpuinfo.
-# TYPE node_cpu_info gauge
-node_cpu_info{cachesize="8192 KB",core="0",cpu="0",family="6",microcode="0xb4",model="142",model_name="Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz",package="0",stepping="10",vendor="GenuineIntel"} 1
-node_cpu_info{cachesize="8192 KB",core="0",cpu="4",family="6",microcode="0xb4",model="142",model_name="Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz",package="0",stepping="10",vendor="GenuineIntel"} 1
-node_cpu_info{cachesize="8192 KB",core="1",cpu="1",family="6",microcode="0xb4",model="142",model_name="Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz",package="0",stepping="10",vendor="GenuineIntel"} 1
-node_cpu_info{cachesize="8192 KB",core="1",cpu="5",family="6",microcode="0xb4",model="142",model_name="Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz",package="0",stepping="10",vendor="GenuineIntel"} 1
-node_cpu_info{cachesize="8192 KB",core="2",cpu="2",family="6",microcode="0xb4",model="142",model_name="Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz",package="0",stepping="10",vendor="GenuineIntel"} 1
-node_cpu_info{cachesize="8192 KB",core="2",cpu="6",family="6",microcode="0xb4",model="142",model_name="Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz",package="0",stepping="10",vendor="GenuineIntel"} 1
-node_cpu_info{cachesize="8192 KB",core="3",cpu="3",family="6",microcode="0xb4",model="142",model_name="Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz",package="0",stepping="10",vendor="GenuineIntel"} 1
-node_cpu_info{cachesize="8192 KB",core="3",cpu="7",family="6",microcode="0xb4",model="142",model_name="Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz",package="0",stepping="10",vendor="GenuineIntel"} 1
# HELP node_cpu_isolated Whether each core is isolated, information from /sys/devices/system/cpu/isolated.
# TYPE node_cpu_isolated gauge
node_cpu_isolated{cpu="1"} 1
Similar to #2016. Maybe node_cpu_bug_info and node_cpu_info should be guarded within x86_64 as well?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with end-to-end-test.sh and collector/fixtures/e2e-output.txt, then run the end-to-end test on the reported Linux riscv64 host. Compare the fixture with the shown architecture-specific output differences and trace how the fixture is selected or generated. Done means the end-to-end test passes on riscv64 with the expected metrics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- operating-systems, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100