1
0
mirror of https://github.com/shirou/gopsutil.git synced 2025-05-02 22:17:08 +08:00

133 Commits

Author SHA1 Message Date
Lomanic
200e5fbeab [cpu][linux] Remove regexp in Counts
Also remove some remaining debug print and unnecessary strings.Split
2019-03-06 19:41:26 +01:00
Lomanic
c0ca431bf1 [cpu][linux] Add support for logical arg in Counts #640 #628 2019-03-03 14:44:21 +01:00
Lomanic
2ec35609d2 [cpu][darwin] Remove calls to sysctl binary in cpu/cpu_darwin.go #639
Empirical benchmark (calling to cpu.Info):

Lomanics-iMac:~ lomanic$ time ./cpu_info
info 0: {"cpu":0,"vendorId":"GenuineIntel","family":"6","model":"30","stepping":5,"physicalId":"","coreId":"","cores":2,"modelName":"Intel(R) Core(TM) i5-6440HQ CPU @ 2.60GHz","mhz":2590,"cacheSize":256,"flags":["syscall","xd","em64t","lahf","lzcnt","prefetchw","rdtscp","tsci","fpu","vme","de","pse","tsc","msr","pae","mce","cx8","apic","sep","mtrr","pge","mca","cmov","pat","pse36","clfsh","mmx","fxsr","sse","sse2","htt","sse3","ssse3","cx16","sse4.1","sse4.2","popcnt","vmm"],"microcode":""}

real    0m0.049s
user    0m0.023s
sys     0m0.041s
Lomanics-iMac:~ lomanic$ time ./cpu_info.fixed
info 0: {"cpu":0,"vendorId":"GenuineIntel","family":"6","model":"30","stepping":5,"physicalId":"","coreId":"","cores":2,"modelName":"Intel(R) Core(TM) i5-6440HQ CPU @ 2.60GHz","mhz":2590,"cacheSize":256,"flags":["fpu","vme","de","pse","tsc","msr","pae","mce","cx8","apic","sep","mtrr","pge","mca","cmov","pat","pse36","clfsh","mmx","fxsr","sse","sse2","htt","sse3","ssse3","cx16","sse4.1","sse4.2","popcnt","vmm","syscall","xd","em64t","lahf","lzcnt","prefetchw","rdtscp","tsci"],"microcode":""}

real    0m0.010s
user    0m0.004s
sys     0m0.006s
2019-03-02 23:22:53 +01:00
nikita-vanyasin
59b002e5c2 Fix function naming 2019-02-22 11:19:56 +03:00
nikita-vanyasin
4ef0ddafc7 Eliminate WMI queries when calling cpu.Times with percpu=True
based on e89f2c5fad/internal/monitors/cpu/cpu_windows.go
2019-02-22 09:51:24 +03:00
shirou
64d607539e add FreeBSD ARM support. copied from i386 2019-01-17 16:49:20 +09:00
Antoine Jacoutot
67297c8791 cpu: prefer cpuonline on OpenBSD
This gives us the value of actual online CPUs (as opposed to the
found ones which may not be able active).
2019-01-02 17:10:02 +01:00
Antoine Jacoutot
7276e963eb cpu: implement Mhz and Cores
Adapted from the FreeBSD code.
Successfully tested with Nomad.
2019-01-02 17:06:46 +01:00
Lomanic
5f8353c741 [cpu][openbsd] Fix #621, define CPU states according to OpenBSD version 2018-12-29 15:24:52 +01:00
marcospedreiro
f0ebb60b86 handle pr comments: use assert.InEpsilon 2018-11-20 13:25:17 -08:00
marcospedreiro
d47801b68b revert imports 2018-11-19 22:06:05 -08:00
marcospedreiro
3cc34ebf18 windows cpu time (true) should return cpu time not percentages 2018-11-19 21:51:27 -08:00
marcospedreiro
45aeaebda5 test windows cpu.Time(true) returning time instead of percentages 2018-11-18 22:30:47 -08:00
Lomanic
4254ce2081
Merge pull request #601 from Lomanic/issue551
Fix #551 Filter out '_Total' results from PerfInfoWithContext and unexport this function.

Also propagate context in perCPUTimes (renamed to perCPUTimesWithContext) and unexport Win32_PerfFormattedData_Counters_ProcessorInformation type.
2018-11-06 14:56:13 +01:00
Lomanic
79f8a73e23 Fix #551 Filter out '_Total' results from PerfInfoWithContext and unexport this function
Also propagate context in perCPUTimes (renamed to perCPUTimesWithContext)
and unexport Win32_PerfFormattedData_Counters_ProcessorInformation.
2018-11-05 12:28:39 +01:00
shirou
a11c78ba2c
Merge pull request #581 from CMGS/master
get docker container cpu usage from cpuacct.usage
2018-09-27 21:43:08 +09:00
Iskander Sharipov
f3d4342c30 cpu,process: remove commented-out code
Found using https://go-critic.github.io/overview#commentedOutCode-ref
2018-09-13 23:56:24 +03:00
CMGS
d93c01e54d get docker container cpu usage from cpuacct.usage 2018-09-11 15:29:13 +08:00
Michal Rostecki
7c7dec96c6 cpu: Check for error object 2018-06-21 16:42:49 +02: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
32a44bdc39
Merge pull request #488 from sadag/master
windows: fix WithContext functions
2018-02-14 21:00:39 +09:00
shirou
9a74b6fe2e [cpu]windows: fix retrun value. 2018-02-13 22:21:27 +09:00
sada
8dd42707e2 windows: fix WithContext functions
set timeout only if parent context doesn't set.
2018-02-12 13:26:17 -08:00
Jaime Fullaondo
178e5ce997 [host] fix race condition to ret 2018-02-12 15:46:11 +01:00
shirou
4c73494c78 Add WithContext functions. 2017-12-31 15:25:49 +09:00
Adam Medzinski
22f3299fd7
Add missing doc for cpu.TimesStat structure 2017-11-27 12:17:18 +01:00
leaf
65598d98cc To prevent hang if wmi.Query hangs, add a context-aware wrapper for it. 2017-11-20 10:13:27 -08: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
4c9fd1f200 [cpu]linux: add testcode with testdata. 2017-09-20 15:58:30 +09:00
HeChuan
c818f7b647 set win cpu total name to "cpu-total"
set the name of windows cpu total percent to "cpu-total"
keep the same with Linux, Freebsd system
2017-07-20 11:47:15 +08:00
Andrew Danforth
484470889f Only read /proc/stat once when cpu.Times(true) is called on Linux 2017-06-09 22:34:58 -04:00
shirou
3dd8bd46d9 Merge pull request #376 from ContinuumLLC/win_percpu_feature
Windows: Read processor performance metrics overall, per cpu and per core
2017-06-05 22:30:45 +09:00
Rajkumar Gupta
b657e83fed Added comments for structs and functions 2017-06-05 15:46:35 +05:30
Rajkumar Gupta
2d2db4203f Change to adapt current cpu.Times API for per cpu and core time stats 2017-06-05 14:18:20 +05:30
Sean Chittenden
635b971c0e
Move from the syscall package to the golang.org/x/sys/{unix,windows} 2017-06-02 13:51:00 -07:00
Rajkumar Gupta
ea683cd370 Read processor performance metrics per cpu and per core 2017-05-25 17:54:43 +05:30
WAKAYAMA shirou
b6da2bd76e [freebsd] cpu: fix CPUInfo on 10.3R
Related: #307
2017-05-10 11:47:26 +09:00
WAKAYAMA Shirou
dfbb3e40da fix build bugs. 2017-04-10 22:24:36 +09:00
Jakob Gillich
facb241c12 clarify return value of cpu.Percent() 2017-03-31 16:07:44 +02:00
WAKAYAMA Shirou
3499dec5c0 [cpu]linux: handle hz values by tmm1 2017-03-23 21:36:54 +09:00
WAKAYAMA Shirou
a63f1aeeec use Processor entry as model name fallback by @tmm1 2017-03-23 21:35:50 +09:00
WAKAYAMA Shirou
36b408780c cpu[linux]: ignore cpufreq/cpuinfo_max_freq error 2017-03-21 00:55:21 +09:00
WAKAYAMA Shirou
bad1ce0748 fix typo 2017-03-15 23:32:55 +09:00
WAKAYAMA Shirou
30ebb9ca3a rename expected dir to testdata. 2017-03-15 23:01:06 +09:00
WAKAYAMA Shirou
f8ef680a47 error strings change to lowercase 2017-03-15 22:43:20 +09:00
shirou
d4c8874c19 Merge pull request #328 from jen20/solaris-cpu
cpu: Implement Solaris support for Info()
2017-03-14 01:51:04 +09:00
James Nugent
49ed700c0d cpu: Implement Solaris support for Info()
This commit adds Solaris(^1) support for the Info() function of package
cpu, with the exception of the L2 cache size which is not trivially
available(^2).

Support is implemented by parsing the output of `isainfo -b -v` (for the
instruction set flags), and `psr-info -p -v` for other information.
Example outputs from a range of different size VMs and Joyent containers
are included as part of the tests.

(^1): This has only been tested with Illumos in the form of SmartOS. I
believe it to be portable to other Illumos distributions but have not
tested on Oracle Solaris.

(^2): Enough support is added here to be usable for my port of
HashiCorp's Nomad to SmartOS.
2017-03-12 21:19:42 -05:00
Simarpreet Singh
5a4c90ad5f cpu: Expose CPU microcode information
This commit exposes the CPU microcode information.

Signed-off-by: Simarpreet Singh <simar@opendns.com>
2017-03-07 16:18:20 -08:00
Sam Kleinman
915d1e930e fix panic in starvation situations 2017-02-15 11:25:49 -05:00