Commit Graph

1718 Commits (fc074343f8d34fe53f9ca60925c493eb2a2fa1d3)
 

Author SHA1 Message Date
Lomanic ccc1c1016b [mem][darwin] Fix #622 include Inactive memory in total calculation in TestVirtual_memory
Lomanic 4104adff3e [process][windows] Fix #466 add SeDebugPrivilege to current process
Lomanic a5ace91cce [process][windows] Propagate context internally
Lomanic e5ca4477a1 [process][windows] WIP #586 use win32 API in process.Exe but fallback on WMI
This method only lets a 32bit program get other 32bit processes exe path
and a 64bit program get other 64bit processes exe path, so we fallback to
the slow (but kind of reliable) WMI calls if we can't access to the other
process module.
shirou 51e6519305
Merge pull request #619 from remeh/dm-name-trim
disk: trim the device mapper name.
Remy Mathieu fda98ebc34 disk: trim the device mapper name.
While reading the value of the file with `ioutil.ReadFile`,
the name is suffixed with a `\n`

Tested on Ubuntu 18.10
shirou d6b9922e03
Merge pull request #617 from mznet/master
SReclaimable should be summed to Cached Memory
David Naylor 414c76f159 [process][linux] Export process page fault info
Add a function for retrieving page fault counts from /proc/[pid]/stat on
Linux.
Minje Park f9e238c38b SReclaimable should be added to Cached Memory
shirou cce2d16538 [process]: add missing argment to process_fallback.
Lomanic eead265362
Merge pull request #611 from marcospedreiro/master
[cpu][windows] cpu.Times(true) should not return percent values
Lomanic 21ddb4f6d5
Merge pull request #605 from Lomanic/issue596
Fix #596 Implement process.Background and process.Foreground functions
Lomanic 8002bddf3f Merge branch 'master' into issue596
shirou 35815938bf
Merge pull request #614 from joestringer/netns
[net][linux] Support socket tables in nested namespaces
Joe Stringer f87d9813da [net][linux] Support socket tables in nested namespaces
Signed-off-by: Joe Stringer <joe@cilium.io>
Lomanic 0f70a4a06f
Merge pull request #609 from Lomanic/windows-process-children
[process][windows] Use win32 API in process.Children() instead of slow WMI call
shirou 852c7686b5
Merge pull request #613 from tmm1/allow-a-b-windows-drives
do not ignore A: and B: drives on windows
Lomanic 3b882b034c
Merge pull request #612 from tmm1/fix-typo
fix minor typo in disk_windows
marcospedreiro f0ebb60b86 handle pr comments: use assert.InEpsilon
Aman Gupta d021425af3 do not ignore A: and B: drives on windows
from https://www.howtogeek.com/122891/what-are-the-windows-a-and-b-drives-used-for/

>if your computer does not have floppy disk drives, you can assign A and B to volumes
Aman Gupta ab57d4a5fe fix minor typo in disk_windows
marcospedreiro d47801b68b revert imports
marcospedreiro 3cc34ebf18 windows cpu time (true) should return cpu time not percentages
Lomanic b0c24b4251
Merge pull request #610 from Lomanic/issue555
[disk][linux] Fix #555 Unescape escaped sequences in fstab path in disk.Partitions
marcospedreiro 45aeaebda5 test windows cpu.Time(true) returning time instead of percentages
Lomanic 8888537497 [disk][linux] Fix #555 Unescape escaped sequences in fstab path in disk.Partitions
Lomanic 6b539051d2 [process][windows] Use win32 API in process.Children() instead of slow WMI call
The CreateToolhelp32Snapshot+Process32First+Process32Next combo already
iterates over all processes, so it would be inefficient to enumerate all
processes with process.Processes() and then calling p.Ppid() on each of
them: we just use this combo to get all processes and their ppid in a
single iteration.

This is faster by a factor of 25 compared to the previous WMI call.
Lomanic 8ffa453390 #596 Amend last commit, add missing strconv pkg in process_freebsd.go
Lomanic 8ef9b01052 Fix process.Foreground for BSDs, add openbsd implementation
Lomanic 878e0a701b Fix #596 Implement process.Background and process.Foreground functions
shirou 48177ef5f8
Merge pull request #603 from pierresouchay/host_id_fixed_on_linux
Have a real fixed HostID on Linux
Pierre Souchay 890eb80501 Better comments for fallback on /etc/machine-id
Pierre Souchay be2b25a7c6 Have a real fixed HostID on Linux
On Linux, most golang programs do not run as root (or at least, they should not),
by default, the kernels uses strict permissions, so most userland programs cannot
read `/sys/class/dmi/id/product_uuid`. However, programs such as Consul are relying
on it to get fixed IDs, instead they have a different ID on each boot.

We propose to use `/etc/machine-id` as fallback https://www.freedesktop.org/software/systemd/man/machine-id.html

In order to fix this, this patch does the following:
 - if `/sys/class/dmi/id/product_uuid` can be read, use it for HostID
 - else if `/etc/machine-id` exists and has 32 chars, use it and add '-' to have the same format as product_uuid
 - finally, if notthing works, use the `kernel.random.boot_id`

This will greatly increase the number of programs having correct behaviour when
those rely on having a fixed HostID.

This will fix the following issues:
 - https://github.com/shirou/gopsutil/issues/350
 - https://github.com/hashicorp/consul/issues/4741
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.
Lomanic da37b31860 Create Github issue templates
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.
shirou 3ec50d2876
Merge pull request #595 from liu4480/dev
add CgroupCPUUsageDocker just like CgroupCPUDocker
Lomanic feffc5e3e1
Merge pull request #597 from liu4480/arg_in_lines
correct param in docker_linux.go for memory.stat
Bin Liu 4ef2371dda correct param in docker_linux.go for memory.stat
The version of docker on Ubuntu18.04 and Centos7 are old, and the
parameters in memory.stat on Ubuntu18.04 and Centos7 are as following:

cat /sys/fs/cgroup/memory/docker/33f962ca254969762d750ced9a97d8deef67535b96b1e8c17abd0939a3f2cbcf/memory.stat

cache 1110016
rss 413696
rss_huge 0
shmem 0
mapped_file 1015808
dirty 0
writeback 0
pgpgin 1610
pgpgout 1238
pgfault 1923
pgmajfault 12
inactive_anon 262144
active_anon 151552
inactive_file 0
active_file 1110016
unevictable 0
hierarchical_memory_limit 9223372036854771712
total_cache 1110016
total_rss 413696
total_rss_huge 0
total_shmem 0
total_mapped_file 1015808
total_dirty 0
total_writeback 0
total_pgpgin 1610
total_pgpgout 1238
total_pgfault 1923
total_pgmajfault 12
total_inactive_anon 262144
total_active_anon 151552
total_inactive_file 0
total_active_file 1110016
total_unevictable 0

this patch is for backward.
Bin Liu 601dd00812 add CgroupCPUUsageDocker just like CgroupCPUDocker
Nico Vinzens 453688f8c5
Merge pull request #1 from nvinzens/replace_self_mounts_with_self_mountinfo
replace self/mounts with self/mountinfo
Nico Vinzens 1079f31626 change the way we handle the mountinfo lines
Nico Vinzens 23dfe98621 use HostSys to construct device path
Nico Vinzens 813c630e9c replace self/mounts with self/mountinfo
shirou a11c78ba2c
Merge pull request #581 from CMGS/master
get docker container cpu usage from cpuacct.usage
CMGS 80b3769ea3 not modify old API now
shirou 77e5abb6f0
migrate to circleci2 (#587)
* add circleci 2.0 config, which has golang 1.9 image.
shirou e50c47b503
Merge pull request #528 from pytimer/win_services
[windows]services: add windows service feature
shirou 6f5e32dd2f
Merge pull request #584 from Quasilyte/quasilyte/commentedOutCode
cpu,process: remove commented-out code
shirou 62f689bda3
Merge pull request #576 from Lomanic/issue574
Fix #574