node_exporter/collector
Daniel Swarbrick acdd9b813d
Some checks failed
golangci-lint / lint (push) Has been cancelled
arp: optimize netlink interface name resolution (#3133)
github.com/jsimonetti/rtnetlink provides a high level rtnl wrapper
around the lower level rtnetlink functions, which essentially does all
that we need. The rtnl.Conn.Neighbors uses an internal cache for
resolving interface indexes to names, so it makes at most one rtnetlink
call per interface to resolve the name.

Using this high level wrapper hugely simplifies our code and makes it
easier to understand and maintain.

Fixes: #3075

Signed-off-by: Daniel Swarbrick <daniel.swarbrick@gmail.com>
2025-01-10 10:58:08 +01:00
..
fixtures add arm test 2025-01-02 12:56:17 +01:00
fixtures_bindmount/proc/1 Add node_filesystem_mount_info metric (#2970) 2024-07-14 16:33:12 +02:00
fixtures_hidepid/proc/self Add node_filesystem_mount_info metric (#2970) 2024-07-14 16:33:12 +02:00
utils chore: sync with latest procfs release (#3059) 2024-07-10 09:58:57 -04:00
arp_linux.go arp: optimize netlink interface name resolution (#3133) 2025-01-10 10:58:08 +01:00
bcache_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
bonding_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
bonding_linux_test.go Sync build tags in *_test.go (#2767) 2023-08-15 11:38:13 +02:00
boot_time_bsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
boot_time_solaris.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
btrfs_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
btrfs_linux_test.go Add metrics for btrfs commit statistics (#3010) 2024-07-14 14:24:55 +02:00
buddyinfo.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cgroups_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
collector.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
conntrack_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpu_aix.go Add AIX CPU collector 2024-09-28 15:58:02 +02:00
cpu_common.go Update go to 1.17 (#2159) 2021-10-03 13:35:24 +02:00
cpu_darwin.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpu_dragonfly.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpu_dragonfly_test.go Update go to 1.17 (#2159) 2021-10-03 13:35:24 +02:00
cpu_freebsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpu_linux.go collector/cpu: Support CPU online status 2024-12-23 11:37:39 +01:00
cpu_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpu_netbsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpu_netbsd_test.go NetBSD support for CPU collector (#2626) 2023-04-07 13:35:33 +02:00
cpu_openbsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpu_solaris.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpu_vulnerabilities_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
cpufreq_common.go feat: add support for cpu freq governor metrics 2023-03-10 18:19:33 +01:00
cpufreq_linux.go Enable goimports linter 2024-12-19 14:46:58 +01:00
cpufreq_solaris.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
device_filter.go collector: fix comment and remove redundant parentheses (#2691) 2023-05-17 18:04:50 +02:00
device_filter_test.go Rename netDevFilter helper 2022-05-19 10:36:50 +02:00
devstat_dragonfly.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
devstat_freebsd.c Add missing license headers 2017-01-05 06:18:34 +01:00
devstat_freebsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
devstat_freebsd.h Add missing license headers 2017-01-05 06:18:34 +01:00
diskstats_aix.go Add AIX diskstats 2024-09-28 15:58:02 +02:00
diskstats_common.go Add AIX diskstats 2024-09-28 15:58:02 +02:00
diskstats_darwin.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
diskstats_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
diskstats_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
diskstats_openbsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
diskstats_openbsd_amd64.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
dmi.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
drbd_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
drm_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
edac_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
entropy_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
ethtool_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
ethtool_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
exec_bsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
fibrechannel_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
filefd_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
filefd_linux_test.go Sync build tags in *_test.go (#2767) 2023-08-15 11:38:13 +02:00
filesystem_aix.go Add filesystem include flags 2024-12-14 14:14:54 +01:00
filesystem_bsd.go Add filesystem include flags 2024-12-14 14:14:54 +01:00
filesystem_common.go Add filesystem include flags 2024-12-14 14:14:54 +01:00
filesystem_freebsd.go Add filesystem include flags 2024-12-14 14:14:54 +01:00
filesystem_linux.go Add filesystem include flags 2024-12-14 14:14:54 +01:00
filesystem_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
filesystem_netbsd.go Add filesystem include flags 2024-12-14 14:14:54 +01:00
filesystem_openbsd.go Add filesystem include flags 2024-12-14 14:14:54 +01:00
helper.go Remove ioutil (#2438) 2022-07-27 20:59:39 +02:00
helper_test.go collector: use ByteSliceToString from golang.org/x/sys/unix 2022-05-23 15:44:16 +02:00
hwmon_linux.go restruct code 2025-01-02 12:56:17 +01:00
infiniband_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
interrupts_common.go Enable goimports linter 2024-12-19 14:46:58 +01:00
interrupts_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
interrupts_linux_test.go Sync build tags in *_test.go (#2767) 2023-08-15 11:38:13 +02:00
interrupts_openbsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
interrupts_openbsd_amd64.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
ipvs_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
ipvs_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
ksmd_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
kvm_bsd.c Move FreeBSD/DragonflyBSD out of meminfo add kvm. (#547) 2018-01-04 12:23:26 +01:00
kvm_bsd.go Update go to 1.17 (#2159) 2021-10-03 13:35:24 +02:00
kvm_bsd.h Move FreeBSD/DragonflyBSD out of meminfo add kvm. (#547) 2018-01-04 12:23:26 +01:00
lnstat_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
loadavg.go Add AIX loadavg collector 2024-09-28 15:58:02 +02:00
loadavg_aix.go Add AIX loadavg collector 2024-09-28 15:58:02 +02:00
loadavg_bsd.go Update go to 1.17 (#2159) 2021-10-03 13:35:24 +02:00
loadavg_linux.go Remove ioutil (#2438) 2022-07-27 20:59:39 +02:00
loadavg_linux_test.go Sync build tags in *_test.go (#2767) 2023-08-15 11:38:13 +02:00
loadavg_solaris.go Update go to 1.17 (#2159) 2021-10-03 13:35:24 +02:00
logind_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
logind_linux_test.go Sync build tags in *_test.go (#2767) 2023-08-15 11:38:13 +02:00
mdadm_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
meminfo.go Add AIX meminfo 2024-09-28 15:58:02 +02:00
meminfo_aix.go Add AIX meminfo 2024-09-28 15:58:02 +02:00
meminfo_darwin.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
meminfo_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
meminfo_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
meminfo_netbsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
meminfo_numa_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
meminfo_numa_linux_test.go Sync build tags in *_test.go (#2767) 2023-08-15 11:38:13 +02:00
meminfo_openbsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
meminfo_openbsd_amd64.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
memory_bsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
mountstats_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
netclass_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
netclass_rtnl_linux.go Bump jsimonetti/rtnetlink dependency to v2.0.2 (#3089) 2024-09-20 19:23:06 +02:00
netdev_aix.go Add AIX netdev collector 2024-09-28 15:58:02 +02:00
netdev_bsd.go build fix on FreeBSD (#3132) 2024-09-24 04:25:48 +02:00
netdev_common.go Add AIX netdev collector 2024-09-28 15:58:02 +02:00
netdev_darwin.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
netdev_linux.go Bump jsimonetti/rtnetlink dependency to v2.0.2 (#3089) 2024-09-20 19:23:06 +02:00
netdev_linux_test.go Bump jsimonetti/rtnetlink dependency to v2.0.2 (#3089) 2024-09-20 19:23:06 +02:00
netdev_openbsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
netdev_openbsd_amd64.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
netisr_freebsd.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
netstat_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
netstat_linux_test.go Sync build tags in *_test.go (#2767) 2023-08-15 11:38:13 +02:00
network_route_linux.go Bump jsimonetti/rtnetlink dependency to v2.0.2 (#3089) 2024-09-20 19:23:06 +02:00
nfs_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
nfsd_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
ntp.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
nvme_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
os_release.go Disable osrelease collector on aix 2024-09-28 15:58:02 +02:00
os_release_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
paths.go Update exporter-toolkit 2023-03-07 15:18:38 +01:00
paths_test.go Update exporter-toolkit 2023-03-07 15:18:38 +01:00
perf_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
perf_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
powersupplyclass.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
powersupplyclass_darwin.go powersupplyclass_darwin: enable builds against older macOS SDK 2022-03-23 22:41:31 -04:00
powersupplyclass_linux.go darwin powersupply collector (#1777) 2021-10-28 10:22:24 +02:00
pressure_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
processes_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
processes_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
qdisc_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
rapl_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
runit.go Enable goimports linter 2024-12-19 14:46:58 +01:00
schedstat_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
selinux_linux.go Enable goimports linter 2024-12-19 14:46:58 +01:00
slabinfo_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
sockstat_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
softirq_linux.go exposing softirq metrics (#2294) 2023-05-25 15:09:32 +02:00
softirqs_common.go Enable goimports linter 2024-12-19 14:46:58 +01:00
softnet_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
stat_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
supervisord.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
sysctl_bsd.go Revert "Add ZFS freebsd per dataset stats (#2753)" (#2925) 2024-02-14 09:13:18 +01:00
sysctl_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
sysctl_openbsd_amd64.go skip null bytes at the end of strings 2020-11-12 23:37:57 +01:00
systemd_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
systemd_linux_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
tapestats_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
tcpstat_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
tcpstat_linux_test.go Sync build tags in *_test.go (#2767) 2023-08-15 11:38:13 +02:00
textfile.go Cache metricsfamily help text (#3175) 2024-11-07 21:46:38 +01:00
textfile_test.go textfile: Allow specifiying multiple directory globs. (#3135) 2024-09-30 09:40:03 +02:00
thermal_darwin.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
thermal_zone_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
time.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
time_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
time_other.go Add clocksource metrics to time collector (#2197) 2021-11-12 11:45:31 +01:00
timex.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
udp_queues_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
uname.go Enable goimports linter 2024-12-19 14:46:58 +01:00
uname_bsd.go Enable uname collector on AIX 2024-09-28 15:58:02 +02:00
uname_linux.go collector: use ByteSliceToString from golang.org/x/sys/unix 2022-05-23 15:44:16 +02:00
vmstat_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
watchdog.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
watchdog_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
wifi_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
xfrm.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
xfrm_test.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
xfs_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00
zfs_common.go zfs: rename zfs.go to zfs_common.go 2024-09-30 14:52:38 +02:00
zfs_freebsd.go zfs: standardize case spelling of NewZFSCollector 2024-09-30 14:52:38 +02:00
zfs_linux.go zfs: make zfsPoolStatesName an array 2024-09-30 14:52:38 +02:00
zfs_linux_test.go zfs: drop superfluous typecasting of test values 2024-09-30 14:52:38 +02:00
zfs_solaris.go zfs: standardize case spelling of NewZFSCollector 2024-09-30 14:52:38 +02:00
zoneinfo_linux.go Update logging (#3097) 2024-09-11 10:51:28 +02:00