- Collecting OSX disk capacity metrics
- Skipping mapped devices in disk collector
- Setting LC_ALL for disk
- More forgiving #linux? check
- Fix for OSX Memory to support 'unused' in addition to 'free'
Performance related:
- Using
Dir#glob
vs.Dir#foreach
- Using
File#read
vs.cat FILE
. - Removing commented out and unused elements from
SysLite::ProcTable
- Removed method_missing logic in
Processes::Process
to access theProcTableStruct
Disk
added caching logic via a@option[:ttl]
to execute slow system calls at a lower interval (ex: ev 60 seconds)String#lines#to_a
vs.String#split('\n')
(faster)
- Handling Infinite and NaN Process CPU Usage.
- Case-insensitive process count grep, returning 1 processor vs. nil on rescue.
- sys/proctable is no longer a dependency in the gemspec.
- Linux systems with the /proc filesystem will return all process metrics
- other systems with sys/proctable installed will try to use sys/proctable, wnd will generally return a list of process names and counts (but no memory/cpu)
- all other systems: no process info returned
- Assuming 100 jiffies/second vs. reading from /proc/timer_list
- Also grouping under kthread (one d vs. 2 ds)
- Grouping kthreadd's children together under the comm "kthreadd"
- Optimization for collecting processes on Linux
- Reporting process memory in MB, not in page size.
- When determining process cpu usage, caching number of processors.
- Fix for top cpu-consuming processes in the process list
- Fix for LVM-mapped disk IO stats
- Mac per-process memory and per-process CPU reports 0s instead of throwing an exception (Mac only)
- Normalize load (last minute, etc) by number of CPUs. This keeps the metrics in sync with Scout's server load plugin.
- Fall back to assumption of 100 jiffies/sec if /proc/timer_list isn't available