node_exporter/collector
Daniel Hodges ec62141388
Fix num cpu (#1561)
* add a map of profilers to CPUids

`runtime.NumCPU()` returns the number of CPUs that the process can run
on. This number does not necessarily correlate to CPU ids if the
affinity mask of the process is set.

This change maintains the current behavior as default, but also allows
the user to specify a range of CPUids to use instead.

The CPU id is stored as the value of a map keyed on the profiler
object's address.

Signed-off-by: Joe Damato <jdamato@fastly.com>
Signed-off-by: Daniel Hodges <hodges.daniel.scott@gmail.com>
Signed-off-by: Daniel Hodges <hodges@uber.com>

Co-authored-by: jdamato-fsly <55214354+jdamato-fsly@users.noreply.github.com>
2020-02-20 11:36:33 +01:00
..
fixtures Add Btrfs collector (#1512) 2020-02-19 15:48:51 +01:00
fixtures_bindmount/proc fix issue where rootfs path strips to the empty string (#1464) 2019-09-09 17:39:24 +02:00
fixtures_hidepid/proc Add fallback for missing /proc/1/mounts (#1172) 2018-11-30 14:01:55 +01:00
arp_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
bcache_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
bonding_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
bonding_linux_test.go Rearrange fixtures to match "real" proc and sys. 2015-09-28 13:56:22 +00:00
boot_time_bsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
boot_time_solaris.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
btrfs_linux.go Add Btrfs collector (#1512) 2020-02-19 15:48:51 +01:00
btrfs_linux_test.go Add Btrfs collector (#1512) 2020-02-19 15:48:51 +01:00
buddyinfo.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
collector.go new flag to disable all default collectors (#1460) 2020-02-20 11:03:33 +01:00
conntrack_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
cpu_common.go Fix some golint issues (#927) 2018-04-29 14:34:47 +02:00
cpu_darwin.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
cpu_dragonfly.go Use strconv.Itoa() instead of fmt.Sprintf() (#1566) 2020-02-19 14:34:05 +01:00
cpu_dragonfly_test.go Add test 2016-09-28 09:10:05 +02:00
cpu_freebsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
cpu_linux.go Use strconv.Itoa() instead of fmt.Sprintf() (#1566) 2020-02-19 14:34:05 +01:00
cpu_openbsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
cpu_solaris.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
cpufreq_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
cpufreq_solaris.go Fix Solaris build (typos in function names) (#1522) 2020-01-24 18:06:10 +01:00
devstat_dragonfly.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
devstat_freebsd.c Add missing license headers 2017-01-05 06:18:34 +01:00
devstat_freebsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
devstat_freebsd.h Add missing license headers 2017-01-05 06:18:34 +01:00
diskstats_common.go Add diskstats collector for OpenBSD (#1250) 2019-02-06 11:36:22 +01:00
diskstats_darwin.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
diskstats_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
diskstats_linux_test.go Add new counters for flush requests in Linux 5.5 (#1548) 2019-11-25 13:16:15 -06:00
diskstats_openbsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
drbd_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
edac_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
entropy_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
exec_bsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
filefd_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
filefd_linux_test.go Fix scanner usage without error handling 2017-02-28 16:04:25 -04:00
filesystem_bsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
filesystem_common.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
filesystem_freebsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
filesystem_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
filesystem_linux_test.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
helper.go Delete unused code 2017-02-28 17:20:16 -04:00
hwmon_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
infiniband_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
interrupts_common.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
interrupts_linux.go Use lowercase cpu label name in interrupts (#849) 2018-03-08 15:04:49 +01:00
interrupts_linux_test.go Fix off by one in Linux interrupts collector (#721) 2017-11-02 09:59:46 +01:00
interrupts_openbsd.go Use strconv.Itoa() instead of fmt.Sprintf() (#1566) 2020-02-19 14:34:05 +01:00
ipvs_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
ipvs_linux_test.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
ksmd_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
kvm_bsd.c Move FreeBSD/DragonflyBSD out of meminfo add kvm. (#547) 2018-01-04 12:23:26 +01:00
kvm_bsd.go Move FreeBSD/DragonflyBSD out of meminfo add kvm. (#547) 2018-01-04 12:23:26 +01:00
kvm_bsd.h Move FreeBSD/DragonflyBSD out of meminfo add kvm. (#547) 2018-01-04 12:23:26 +01:00
loadavg.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
loadavg_bsd.go Implement loadavg on all BSDs without cgo (#1584) 2020-02-18 14:14:35 +01:00
loadavg_linux.go collector: support 1,5,15m load averages for all unices 2015-10-31 06:04:24 -07:00
loadavg_linux_test.go Add load5 and load15 to linux load metric 2015-10-17 13:07:39 +00:00
loadavg_solaris.go Add kstat-based Solaris metrics (#1197) 2019-01-12 13:33:56 +01:00
logind_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
logind_linux_test.go Fix all open go lint and vet issues 2017-02-28 13:05:38 -04:00
mdadm_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
meminfo.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
meminfo_darwin.go Fix up Darwin swap metrics 2020-02-19 15:52:47 +01:00
meminfo_linux.go Make metrics better follow guidelines (#787) 2018-01-17 17:55:55 +01:00
meminfo_linux_test.go Make metrics better follow guidelines (#787) 2018-01-17 17:55:55 +01:00
meminfo_numa_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
meminfo_numa_linux_test.go Add Linux NUMA "numastat" metrics (#249) 2016-10-12 13:07:49 +02:00
meminfo_openbsd.go Wrap errors in the Go 1.13 way 2019-12-19 15:26:55 +01:00
memory_bsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
mountstats_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
netclass_linux.go Fixed inaccurate 'node_network_speed_bytes' when speeds are low (#1580) 2020-01-01 13:10:53 +01:00
netdev_bsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
netdev_bsd_test.go Compile netdev on dragonfly (#314) 2016-09-27 21:44:13 +01:00
netdev_common.go netdev: clean zero-value assignments 2020-02-13 12:20:27 +01:00
netdev_darwin.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
netdev_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
netdev_linux_test.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
netdev_openbsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
netstat_linux.go Adds metrics and tests for UDP receive and send buffer errors (#1534) 2020-02-19 14:41:40 +01:00
netstat_linux_test.go Adds metrics and tests for UDP receive and send buffer errors (#1534) 2020-02-19 14:41:40 +01:00
nfs_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
nfsd_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
ntp.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
paths.go fix issue where rootfs path strips to the empty string (#1464) 2019-09-09 17:39:24 +02:00
paths_test.go Replace --collectors.enabled with per-collector flags (#640) 2017-09-28 15:06:26 +02:00
perf_linux.go Fix num cpu (#1561) 2020-02-20 11:36:33 +01:00
perf_linux_test.go Fix num cpu (#1561) 2020-02-20 11:36:33 +01:00
powersupplyclass.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
pressure_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
processes_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
processes_linux_test.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
qdisc_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
rapl_linux.go rapl_linux collector 2020-02-01 12:06:30 +01:00
runit.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
schedstat_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
sockstat_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
softnet_linux.go Update to latest procfs library (#1611) 2020-02-18 11:33:46 +01:00
stat_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
supervisord.go Add unix socket support for supervisord collector (#1592) 2020-01-28 08:50:23 +01:00
sysctl_bsd.go use sys/unix package instead of syscall (#1340) 2019-05-10 13:04:06 -05:00
systemd_linux.go systemd: Clarify private flag description (#1587) 2020-02-15 11:39:45 +01:00
systemd_linux_test.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
tcpstat_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
tcpstat_linux_test.go read /proc/net files with a single read syscall (#1380) 2019-07-08 15:53:14 +02:00
textfile.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
textfile_test.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
thermal_zone_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
time.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
timex.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
uname.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
uname_bsd.go Extends uname collector to export on Darwin OS (#1433) 2019-08-03 12:32:43 +02:00
uname_linux.go collector: Implement uname collector for FreeBSD (#1239) 2019-02-05 17:39:24 +01:00
vmstat_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
wifi_linux.go Don't count empty collection as success (#1613) 2020-02-19 16:11:29 +01:00
xfs_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
zfs.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
zfs_freebsd.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
zfs_linux.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00
zfs_linux_test.go updates for zfsonlinux 0.7.5 (#779) 2018-02-16 15:46:31 +01:00
zfs_solaris.go switch to go-kit/log (#1575) 2019-12-31 17:19:37 +01:00