Eric Anderson
cded1805c1
Total Processes in MiscStat
Corrected
...
The `ProcsTotal` in the `MiscStat` structure was very inaccurate. It was reading
a value which is the total number of kernel scheduling entities. This includes
both processes and threads significantly overcounting.
This instead uses an existing method already in common to count the number of
processes via the /proc filesystem where any directory is a number. This should
still be a single syscall to read that directory entry.
This fixes #1606 .
2024-03-20 21:42:44 -04:00
Jan De Dobbeleer
ac63a5690e
fix(windows): remove log statement
2023-10-30 08:39:26 +01:00
TossPig
03d43fb5a2
[load][windows] Fix DATA RACE in load. Avg()
...
fixed #1526
2023-09-14 05:05:59 +08:00
shirou
0665cafa1b
chore: replace deprecated ioutil package to os and io
2023-09-08 17:05:14 +00:00
Antoine Toulme
38b94668ea
allow to pass context values to override environment variables
2023-06-02 01:31:05 -07:00
shirou
852f455217
fix lint
2023-02-12 09:24:52 +00:00
shirou
231d6f3d4e
[load][windows]: add error detail and context handling.
2022-11-19 12:21:45 +00:00
xca1075
b3ab1561bc
more aix nocgo implementations
2022-06-17 14:53:16 +02:00
xca1075
d4f012c565
fix aix nocgo compile
2022-06-03 17:43:52 +02:00
xca1075
e24e72062b
aix: split code, that uses perfstat, to _cgo and _nocgo files
2022-06-03 17:01:36 +02:00
Ville Skyttä
f7e1f36418
refactor: remove unnecessary exec.LookPath calls
...
Executing the command does the lookup if needed and returns the same
error when not found, no need to do it separately.
2022-03-04 18:56:33 +02:00
Ville Skyttä
1e56c6f421
Spelling and grammar fixes
2022-01-30 22:48:09 +02:00
Ville Skyttä
d92d114f90
[load][solaris] implement AvgWithContext
2022-01-10 23:49:07 +02:00
mmorel-35
1e6b445a8a
gofumpt
2021-12-22 21:54:41 +00:00
mmorel-35
eb5f6203d8
gofmt
2021-12-22 21:46:33 +00:00
Matthieu MOREL
c8fd8c7b1f
enable unparam linter
2021-12-22 19:53:14 +01:00
Matthieu MOREL
b673968d5d
enable errorlint linter
2021-12-04 22:29:38 +01:00
shirou
d2e27c1712
fix dependabot v2 deletion.
2021-12-01 00:12:55 +00:00
shirou
0969c9436b
delete v2 directory, move v3 to top #1078
2021-11-30 23:47:59 +00:00
Ville Skyttä
fb0c322260
Check error identity with errors.Is
2021-08-18 17:09:11 +03:00
Ville Skyttä
633e77013f
Use short if
2021-08-18 17:09:11 +03:00
Ville Skyttä
803cea9d67
Don't use underscores in variable names
2021-08-18 16:44:20 +03:00
Ville Skyttä
65616500e8
Remove unnecessary empty lines
2021-08-18 16:42:17 +03:00
Ville Skyttä
eab3aea46b
[load][solaris] support MiscStat.ProcsRunning
2021-05-19 21:57:49 +03:00
Johannes Drummer
82b235c9f5
v2 windows counters on non english systems
2021-02-06 11:01:29 +01:00
Lomanic
ebd8102702
Merge pull request #897 from james-bebbington/load-processes-created
2020-12-02 01:17:29 +01:00
AtakanColak
277c95057b
tidy up loop control and mutex
2020-11-09 10:50:09 +03:00
AtakanColak
b2a3574216
remove percent
2020-11-09 10:37:31 +03:00
AtakanColak
fb44aead39
use ticker and explicit contants
2020-11-09 10:00:22 +03:00
AtakanColak
498a39984d
tidy comments
2020-11-06 11:07:02 +03:00
AtakanColak
2c98f69e11
add load v2
...
tidied up common/windows
added load benchmark for load_test
cpu percent is used as load if queue is zero
2020-11-02 16:54:39 +03:00
AtakanColak
24e6d6d350
add load to windows
2020-10-22 17:44:11 +03:00
James Bebbington
79e9a07263
Add ProcsCreated stat for openbsd
2020-09-12 12:38:15 +10:00
Lomanic
78a65a67a9
[load] Skip tests on non-implemented platforms #446
2020-08-29 18:39:50 +02:00
James Bebbington
28b2246b5b
Add processes created to misc stats
2020-07-02 11:40:58 +10:00
Aman Gupta
f42052bee7
[load][android] implement on top of sysinfo syscall
2020-05-20 16:47:15 -07:00
pytimer
9715668586
add ProcsTotal in load
2019-05-05 10:29:20 +08:00
Lomanic
974d52d412
[load][darwin] Remove calls to sysctl binary in load/load_darwin.go #639
...
Again, a simple benchmark:
Lomanics-iMac:~ lomanic$ time ./load_avg.old ; time ./load_avg
{load1:0.89,load5:0.99,load15:1.01} <nil>
real 0m0.019s
user 0m0.008s
sys 0m0.013s
{load1:0.8876953125,load5:0.98828125,load15:1.0146484375} <nil>
real 0m0.011s
user 0m0.004s
sys 0m0.006s
This is faster and yields more precise results.
2019-03-02 23:22:53 +01:00
shirou
145dca90f7
change to use CommandContext.
2018-03-31 21:35:53 +09:00
Laurie Clark-Michalek
413cb32b6c
Use static initialisation for invoke instances, instead of init funcs
...
The order of init function execution is dependant on the order that the
source files are passed to the compiler. This causes issues when
building under other build systems, such as bazel or buck, as they are
not guarenteed to maintain the same file order as the default go tool.
2018-03-21 14:08:39 +00:00
shirou
4c73494c78
Add WithContext functions.
2017-12-31 15:25:49 +09:00
Steven Hartland
6450c60b61
Eliminate use of sysctl command on FreeBSD
...
In order to improve performance and help prevent crashes due to the outstanding fork crash bug:
https://github.com/golang/go/issues/15658
Replace string parsed values from the sysctl command with native reads of sysctl values using unix.SysctlRaw and unix.SysctlUint32.
This also merges OpenBSD and FreeBSD load implementations which are identical.
2017-10-05 08:45:56 +01:00
WAKAYAMA shirou
1ba77cdb3d
[load] freebsd: change to use x/sys/unix.SysctlRaw.
...
This implementation is borrowed from NodeExporter.
https://github.com/prometheus/node_exporter/blob/master/collector/loadavg_freebsd.go
2017-10-04 22:34:47 +09:00
Marco Pfatschbacher
b4846b445b
Add support for OpenBSD/amd64
...
This code is based on the FreeBSD version
and implements roughly the same feature set.
2016-11-24 22:30:29 +01:00
Lukas Fittl
da9fa1162b
Add fallback code for all unsupported operating systems.
...
This enables using gopsutil in a codebase that gets built on other OSes
than the ones supported. Instead of a build failure as before, due to
the build tags, gopsutil will now throw an "not implemented" runtime
error.
Fixes #234 .
2016-08-22 15:31:26 -07:00
Shirou WAKAYAMA
613a8a90e1
fixed by golint.
2016-04-01 21:34:39 +09:00
Shirou WAKAYAMA
ea152ea901
[BREAKING CHANGE] rename functions to pass golint. ex) net.NetIOCounters -> net.IOCounters
2016-03-22 23:09:12 +09:00
Shirou WAKAYAMA
821a0141b1
[load]: add comments.
2016-02-20 23:17:20 +09:00
Shirou WAKAYAMA
c973fdbc46
[load]linux: fix compile problems.
2016-02-20 23:03:32 +09:00
Shirou WAKAYAMA
f9effa497e
[load]all: add Misc in load to get miscellaneous host info from /proc/stat
2016-02-20 22:52:16 +09:00