All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- darwin: Fix checkptr error in
(*Mem).Get
for Go 1.22.
- Fix again unsupported devices for filesystem. #164
- Fix unsupported devices for filesystem. #159
- Add darwin ARM support. #152
- Add method of overriding the /sys/fs/cgroup hierarchy, for reading cgroup metrics inside Docker #148
- Added support for AIX. #133
- Fixed the
ss
example by replacing the Logrus package with the stdliblog
package. #123 #136 - Replaced
bytePtrToString
and cleaned up darwin code. #138 #141
- Load DLLs only from Windows system directory. #132
- Fixed a crash when splitting command-line arguments under Windows. #124
- ProcState.Get() doesn't fail under Windows when it cannot obtain process ownership information. #121
- Fix memory leak when getting process arguments. #119
- Replaced the WMI queries with win32 apis due to high CPU usage. #116
- List filesystems on Windows that have an access path but not an assigned letter. #112
- Add missing method for OpenBSD #99
- Added partial
getrusage
support for Windows to retrieve system CPU time and user CPU time. #95 - Added full
getrusage
support for Unix. #95
- Added method stubs for process handling for operating system that are not supported
by gosigar. All methods return
ErrNotImplemented
on such systems. #88
- Fix freebsd build by using the common version of Get(pid). #91
- Fixed issues in cgroup package by adding missing error checks and closing file handles. #92
- Added method stubs to enable compilation for operating systems that are not
supported by gosigar. All methods return
ErrNotImplemented
on these unsupported operating systems. #83 - FreeBSD returns
ErrNotImplemented
forProcTime.Get
. #83
- OpenBSD returns
ErrNotImplemented
forProcTime.Get
instead ofnil
. #83 - Fixed incorrect
Mem.Used
calculation under linux. #82 - Fixed
ProcState
on Linux and FreeBSD when process names contain parentheses. #81
- Remove NetBSD build from sigar_unix.go as it is not supported by gosigar. #83
- Fixed Trim environment variables when comparing values in the test suite. #79
- Make
kern_procargs
more robust under darwin when we cannot retrieve all the information about a process. #78
- Fixed Windows issue that caused a hang during
init()
if WMI wasn't ready. #74
- Read
MemAvailable
value for kernel 3.14+ #71
- Added
ErrCgroupsMissing
to indicate that /proc/cgroups is missing which is an indicator that cgroups were disabled at compile time. #64
- Changed
cgroup.SupportedSubsystems()
to honor the "enabled" column in the /proc/cgroups file. #64
- Added
CpuList
implementation for Windows that returns CPU timing information on a per CPU basis. #55 - Added
Uptime
implementation for Windows. #55 - Added
Swap
implementation for Windows based on page file metrics. #55 - Added support to
github.com/gosigar/sys/windows
for querying and enabling privileges in a process token. - Added utility code for interfacing with linux NETLINK_INET_DIAG. #60
- Added
ProcEnv
for getting a process's environment variables. #61
- Changed several
OpenProcess
calls on Windows to request the lowest possible access privileges. #50 - Removed cgo usage from Windows code.
- Added OS version checks to
ProcArgs.Get
on Windows because theWin32_Process
WMI query is not available prior to Windows vista. On XP and Windows 2003, this method returnsErrNotImplemented
. #55