Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. __author__ = 'daniel'
  4.  
  5. import argparse
  6. import time
  7. import sys
  8.  
  9. def parseArgs():
  10.     parser = argparse.ArgumentParser()
  11.     parser.add_argument('-i', '--iface', default='eth0', metavar='interface')
  12.  
  13.     namespace = parser.parse_args()
  14.     return namespace
  15.  
  16. def getData(namespace):
  17.     device = open('/proc/net/dev', 'r')
  18.     rawData = device.readlines()
  19.     for line in rawData:
  20.         if namespace.iface in line:
  21.             return line
  22.     raise RuntimeError("Device does not exist")
  23.  
  24. def parseData(namespace):
  25.     try:
  26.         rawData = getData(namespace)
  27.     except RuntimeError as error:
  28.         raise RuntimeError(error)
  29.  
  30.     rbytes = int(str(rawData).split()[1])
  31.     rpackets = int(str(rawData).split()[2])
  32.     tbytes = int(str(rawData).split()[9])
  33.     tpackets = int(str(rawData).split()[10])
  34.     return rbytes,rpackets,tbytes,tpackets
  35.  
  36. def output(namespace):
  37.     try:
  38.         rbytes1,rpackets1,tbytes1,tpackets1 = parseData(namespace)
  39.         time.sleep(1)
  40.         rbytes2,rpackets2,tbytes2,tpackets2 = parseData(namespace)
  41.     except RuntimeError as error:
  42.         print error
  43.         sys.exit(3)
  44.  
  45.     resRBytes = rbytes2 - rbytes1
  46.     resRPackets = rpackets2 - rpackets1
  47.     resTBytes = tbytes2 - tbytes1
  48.     resTPackets = tpackets2 - tpackets1
  49.  
  50.     print "Load on " + namespace.iface + \
  51.           " rbps=" + str(resRBytes) + \
  52.           " rpps=" + str(resRPackets) + \
  53.           " tbps=" + str(resTBytes) + \
  54.           " tpps=" + str(resTPackets) + \
  55.           " | rbps=" + str(resRBytes) + \
  56.           ", rpps=" + str(resRPackets) + \
  57.           ", tbps=" + str(resTBytes) + \
  58.           ", tpps=" + str(resTPackets)
  59.     sys.exit(0)
  60.  
  61. output(parseArgs())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement