Skip to content

cimtico/usagewatch_ext

 
 

Repository files navigation

Coverage Status Gem Version Build Status Code Climate

usagewatch extended version

License: (MIT) Copyright (C) 2013 Authors Ruben Espinosa, Phil Chen.

DESCRIPTION:

This project is based in Usagewatch gem written by Phil Chen, I try to expand the OS support, first with mac OS, in future versions Windows will be include.

Also I am writing a testing library for the original gem.

This is Ruby Gem with methods to find usage statistics on your system such as CPU, Disk, TCP/UDP Connections, Load, Bandwidth, Disk I/O, and Memory, top processes by memory and cpu consumption

Getting Started

gem install usagewatch_ext

require 'usagewatch_ext'

usw = Usagewatch

usw.uw_diskused
usw.uw_diskused_perc
usw.uw_cpuused
usw.uw_tcpused
usw.uw_udpused
usw.uw_memused
usw.uw_load
usw.uw_bandrx
usw.uw_bandtx
usw.uw_diskioreads
usw.uw_diskiowrites
usw.uw_cputop
usw.uw_memtop
usw.uw_apacheconns

Example

Run:

linux_example.rb

Example Output:

11.56 Gigabytes Disk Used
7.0% Disk Used
0.25% CPU Used
30 TCP Connections Used
0 UDP Connections Used
43% Active Memory Used
0.01 Average System Load Of The Past Minute
0.008 Mbit/s Current Bandwidth Received
0.2 Mbit/s Current Bandwidth Transmitted
0/s Current Disk Reads Completed
2/s Current Disk Writes Completed
Top Ten Processes By CPU Consumption:
[["/usr/lib64/erlang/erts-5.8.5/bin/beam.smp", "5.2"], ["ruby", "4.1"], ["ps", "2.0"], ["abrt-dump-oops", "0.8"], ["aoe_ktio", "0.7"], ["aoe_tx", "0.4"], ["ata_sff", "0.2"], ["auditd", "0.1"], ["awk", "0.1"], ["-bash", "0.1"]]
Top Ten Processes By Memory Consumption:
[["unicorn", "4.8"], ["unicorn", "4.7"], ["unicorn", "4.6"], ["unicorn", "4.6"], ["unicorn", "4.5"], ["unicorn", "4.5"], ["unicorn", "4.3"], ["unicorn", "4.3"], ["unicorn", "4.2"], ["/usr/lib64/erlang/erts-5.8.5/bin/beam.smp", "4.0"]]
Run:

mac_example.rb

Example Output:

Mac version is under development
92.8 Gigabytes Used
24.96 Percentage of Gigabytes Used
71.47% Active Memory Used
7.69% CPU Used
1.19 Average System Load Of The Past Minute
Top Ten Processes By CPU Consumption: [["PluginProcess", "9.0"], ["WindowServer", "2.7"], ["iPhoto", "1.2"], ["Terminal", "1.0"], ["rubymine", "0.5"], ["SystemUIServer", "0.1"], ["(scanunit)", "0.0"], ["(scanunit)", "0.0"], ["(scanunit)", "0.0"], ["(scanunit)", "0.0"]]
Top Ten Processes By Memory Consumption: [["WebProcess", "8.3"], ["rubymine", "6.4"], ["Safari", "2.0"], ["iPhoto", "1.8"], ["Mail", "1.7"], ["mds", "1.6"], ["ruby", "1.5"], ["WindowServer", "1.3"], ["PluginProcess", "1.2"], ["GitHub", "1.1"]]

Simple sinatra app for monitoring your server https://github.com/rderoldan1/ServerMonit

Methods available

Linux
uw_diskused
uw_diskused_on(location)
uw_diskused_perc
uw_diskavailable
uw_diskavailable_on(location)
uw_cpuused
uw_tcpused
uw_udpused
uw_memused
uw_load
uw_bandrx
uw_bandtx
uw_diskioreads
uw_diskiowrites
uw_cputop
uw_memtop
uw_httpconns
Mac
uw_diskused
uw_diskused_on(location)
uw_diskused_perc
uw_diskavailable
uw_diskavailable_on(location)
uw_cputop
uw_memtop
uw_load
uw_cpuused
uw_memused
uw_httpconns
uw_bandrx
uw_bandtx

Notes

  • Disk Used is a sum of all partitions calculated in Gigabytes

  • Disk Used Percentage is a total percentage of all disk partitions used

  • Disk Used On is disk space used on the location passed calculated in Gigabytes, returns "location invalid" if invalid location passed

  • Disk Available is a sum of all partitions calculated in Gigabytes

  • Disk Available On is disk space available on the location passed calculated in Gigabytes, returns "location invalid" if invalid location passed

  • CPU Used is a percentage of current CPU being used

  • TCP/UDP Connections Used is a total count of each respectively

  • Active Memory Used is a percentage of active system memory being used

  • Load is the average load of the past minute

  • Bandwidth is current received and transmitted in Megabits

  • Disk IO is current disk reads and writes completed per second

  • Top Ten Processes By CPU Consumption are based on percent CPU used

  • Top Ten Processes By Memory Consumption are base on percent Memory used

  • HTTP Conns is the number of connections on 80 port

Tested Using

RUBY VERSIONS: ruby 1.9.3p429 (2013-05-15) [x86_64-linux] ruby 2.0

OS VERSIONS: CENTOS 5x 6x, Ubuntu 12.04, Fedora 18, Mountain Lion 10.8.4

About

Extended version of usagewatch

Resources

License

Stars

Watchers

Forks

Packages

No packages published