# (c) Mark Fink, 2008 - 2013
# This script is released under the MIT License
# Warranty in any form is excluded

# TOP pattern

# parse the data from the logfiles
#  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
# 2403 mark      20   0  450m 184m  35m S   14  4.7  66:22.29 chromium-browse
# centos
#  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
#    1 root      15   0 10372  696  584 S  0.0  0.0   0:00.60 init               
#  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
# 4343 root       0 -20 33300 6232 2160 S    0  0.0   1044:25 scopeux<<<
# 9251 jadmin    18   0  399m  72m  20m S    0  0.4   1050:09 java<<<

LINUX_TOP ^\s*(?P<pid>\d+)\s+(?P<user>[\w\-_]+)\s+(RT|\-?\d+)\s+\-?\d+\s+(?P<virt>[\d.]+m?)\s+[\d.]+m?\s+[\d.]+m?\s+\w+\s+(?P<cpu>\d+\.?\d*)\s+[0-9.]+\s+\d+:\d{2}(\.\d{2})?\s+(?P<command>.*[^\s])\s*$


# COUNTER_START

#20111201 152900 interval 5 sec

COUNTER_START ^(?P<logstart>\d{8} \d{6}) interval (?P<interval>\d+) sec


# VMSTAT

#20111201 152900 interval 5 sec
#procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu ----
# r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
# 2  0      0 180152 472892 1843548    0    0     4    10   23   18  9  6 84  0
#procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
# r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
# 2  0      0 11116488 835728 1764956    0    0     0     5    1    1  0  0 99  0  0
#procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
# r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
# 0  0      0 2172996 551736 688480    0    0   218    21 5945  104  7  4 84  6

LINUX_VMSTAT ^\s+(?P<r>\d+)\s+(?P<b>\d+)\s+(?P<swpd>\d+)\s+(?P<free>\d+)\s+(?P<buff>\d+)\s+(?P<cache>\d+)\s+(?P<si>\d+)\s+(?P<so>\d+)\s+(?P<bi>\d+)\s+(?P<bo>\d+)\s+(?P<iin>\d+)\s+(?P<cs>\d+)\s+(?P<us>\d+)\s+(?P<sy>\d+)\s+(?P<id>\d+)\s+(?P<wa>\d+)\s*(?P<st>\d+)?
LINUX_VMSTAT_DISCARD ^ r  b   swpd|^procs ---


# SAR

#05:39:00 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
#05:39:05 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
#05:39:05 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
#05:39:05 PM     wlan0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
#
#05:39:00 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
#05:39:05 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
#05:39:05 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
#05:39:05 PM     wlan0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

LINUX_SAR_DEV ^(?P<ts>\d{2}:\d{2}:\d{2}( (AM|PM))?)\s+(?P<iface>\w+)\s+(?P<rxpck>[0-9.]+)\s+(?P<txpck>[0-9.]+)\s+(?P<rxkB>[0-9.]+)\s+(?P<txkB>[0-9.]+)\s+(?P<rxcmp>[0-9.]+)\s+(?P<txcmp>[0-9.]+)\s+(?P<rxmcst>[0-9.]+)\s*$
LINUX_SAR_EDEV ^(?P<ts>\d{2}:\d{2}:\d{2}( (AM|PM))?)\s+(?P<iface>\w+)\s+(?P<rxerr>[0-9.]+)\s+(?P<txerr>[0-9.]+)\s+(?P<coll>[0-9.]+)\s+(?P<rxdrop>[0-9.]+)\s+(?P<txdrop>[0-9.]+)\s+(?P<txcarr>[0-9.]+)\s+(?P<rxfram>[0-9.]+)\s+(?P<rxfifo>[0-9.]+)\s+(?P<txfifo>[0-9.]+)\s*$
LINUX_SAR_DISCARD ^(?P<ts>\d{2}:\d{2}:\d{2}( (AM|PM)?))\s+IFACE|^Average:|^Linux


