Commit Graph

43 Commits

Author SHA1 Message Date
shirou 4b46f2b70c [host][darwin]: fix Users 2023-10-10 23:05:52 +09:00
shirou 0665cafa1b chore: replace deprecated ioutil package to os and io 2023-09-08 17:05:14 +00:00
Antoine Toulme b712e59295 fix more linting reports 2023-06-03 14:17:16 -07: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
mmorel-35 1e6b445a8a gofumpt 2021-12-22 21:54:41 +00:00
shirou 0969c9436b delete v2 directory, move v3 to top #1078 2021-11-30 23:47:59 +00:00
Daniel Stutz 9916462c47 use ioreg to read IOPlatformUUID as HostID 2021-04-13 10:31:23 +02:00
Sergey Vinogradov 5209442b3c Refactor "host" package 2020-09-11 18:54:53 +03:00
Tobias Klauser 28890b0482 Use common implementation for BootTime/Uptime on all BSDs
All BSDs use the same implementation to get BootTime{,WithContext} and
Uptime{,WithContext} based on the kern.boottime sysctl. Move this
implementation to a separate host/host_bsd.go file shared by darwin,
freebsd and openbsd. Also use SysctlTimeval to get
the boot time directly as a type Timeval instead of manually
extracting it using package unsafe. It will also allow for easier reuse
to support package host on e.g. Dragonfly BSD or NetBSD.

This requires updating the golang.org/x/sys/unix dependency to the
latest revision.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2020-07-23 13:23:20 +02:00
Alessandro De Angelis 65a2e0e9bb Restored temperature info for macOS 2019-12-13 16:03:44 +01:00
Lomanic 4bf185067d [host] Fix #737 add KernelArch field in InfoStat struct returning 'uname -m' result 2019-08-08 23:11:41 +02:00
Kent 'picat' Gruber e507f44421 Update host_darwin.go
Copy+pasta got me again! 🍝

No new variable on the left of `:=` 😂
2019-05-31 13:19:04 -04:00
Kent 'picat' Gruber d13ba02ef0 Update host_darwin.go
The /System/Library/CoreServices/ServerVersion.plist exists on macOS servers , but not on a workstation such as my laptop. The actual terminoly is mostly borrowed from the windows equivalent as @Lomanic suggested. In theory, this should make interpreting the results from the two platforms a bit more consistent.

Note: The macOS server application can be installed on almost any macOS workstation to make it a server that can manage other apple devices.
2019-05-31 13:13:06 -04:00
Lomanic d110536e10 [host][darwin] Remove calls to sysctl binary in host/host_darwin.go #639 2019-03-02 23:22:53 +01:00
Lomanic 738b966ed1 [host][darwin] Use unix.Sysctl to get kernel version and platform name 2018-12-29 14:59:17 +01:00
Lomanic 18b2744df2 [host][darwin] Fix #574, use 'uname -r' in KernelVersion() 2018-09-01 17:23:39 +02:00
shirou c95755e4bc [host]darwin: remove GPL code 2018-04-27 10:21:16 +09:00
shirou 145dca90f7 change to use CommandContext. 2018-03-31 21:35:53 +09:00
shirou 4c73494c78 Add WithContext functions. 2017-12-31 15:25:49 +09:00
WAKAYAMA Shirou 114c78c777 [host]: add not implemented methods. 2017-08-03 11:08:35 +09:00
Frank Schroeder a9e803ef6a
Fix data race in host.BootTime 2017-06-01 18:11:14 +02:00
WAKAYAMA Shirou e49a95f3d5 [host]darwin: PlatformInformation has been 5 values other is 4. 2017-04-06 22:17:56 +09:00
tycho garen 22c56d292e close open files 2017-02-22 08:46:23 -05:00
Sean Chittenden 36f5033d97
Unconditionally lowercase the `HostID` from all supported platforms. 2017-02-06 16:10:46 -08:00
Conor Branagan 5afd6f21c9 Cache the boot time after first query.
When fetching stats on all processes at once there's a non-trivial amount of
time spent in the `BootTime` call. But since this value should never change
during a live process, we can use a cached version for all subsequent calls.
2016-10-13 11:24:29 -04:00
Shirou WAKAYAMA b9067179ef [host]darwin: change to use sw_vers to get platform version 2016-09-12 08:07:12 +09:00
Lukas Fittl 13aedadcde Add separate kernelVersion field to host information.
This is mostly intended for Linux, where we are returning the OS version
in the PlatformVersion field, which seems reasonable. Often it is still
useful to know which Linux kernel is running.

For FreeBSD and Darwin the kernel version matches the platform version,
since they previously used the kernel version for the platform version.

For Windows the kernel version is empty, since there is no clear way
to determine it.
2016-08-22 14:15:30 -07:00
Sean Chittenden 59094cd5b7
Add HostID to the Host InfoStat struct returned from host.Info().
On supported hosts the value returned is a UUID (case preserving
from the value of the underlying OS).

For Linux this is generated once, randomly per boot.  For FreeBSD and
Darwin this is a more durable value that should persist across reboots.
2016-08-11 00:51:07 -07:00
Sean Chittenden fcd296ea11
Merge branch 'master' of github.com:shirou/gopsutil 2016-07-11 01:15:11 -05:00
Sean Chittenden 69f7f8eaeb
Update host.Info() to return the number of processes on all platforms.
Fixes: #227
2016-07-10 23:47:29 -05:00
Shirou WAKAYAMA 57f6aebc7e add Timeout to invoke command and use common.Invoke refs: #201 2016-05-20 17:59:41 +09:00
Shirou WAKAYAMA d21ed2b40d search path via exec.LookPath before actual invoke. 2016-04-01 22:13:05 +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
Robin Burchell 55cacb4730 host_darwin: Use a named constant for USER_PROCESS.
Matches the host_linux change.
2016-02-02 15:23:34 +01:00
Cameron Sparr 444ee723c3 Fix HostInfo.Uptime, which has been returning boot time
Also adding a HostInfo.BootTime field for holding the boot time
2015-11-23 13:18:59 -07:00
Shirou WAKAYAMA 7288e9a5af common[all]: add internal 2015-10-20 00:04:57 +09:00
Nick Galbreath 99d93f93b2 shirou/gopsutil#90 make hostinfo more robust 2015-10-13 13:02:02 -07:00
Shirou WAKAYAMA 8f05d68a09 host: forget to convert to uint64. 2015-03-12 09:25:32 +09:00
Shirou WAKAYAMA 515398a6f6 host: Boottime return type was wrong on darwin #40 2015-03-12 09:24:27 +09:00
若山史郎 f2435bc8de host: skip if utmp.Type is not USERPROCESS (defined in utmpx.h) 2015-02-14 23:08:05 +09:00
若山史郎 a5d366a70c host: Users() on darwin works. but Started is not correct. 2015-02-14 23:04:17 +09:00
Shirou WAKAYAMA 13cd195a7e change package name. 2014-12-30 22:09:05 +09:00
Shirou WAKAYAMA a4671fcc2a move subdirectories. refer to issue #24 2014-11-27 10:18:15 +09:00