summaryrefslogtreecommitdiffstats
path: root/monitorplugins
diff options
context:
space:
mode:
authorPhilip Knirsch <pknirsch@hamburg.stuttgart.redhat.com>2009-02-10 18:45:38 +0100
committerPhilip Knirsch <pknirsch@hamburg.stuttgart.redhat.com>2009-02-10 18:45:38 +0100
commit5818e327421ff22f41618c7b9fa74be8d23d4fd5 (patch)
treefeb2bd13105a8c0086981d06190dbf70c73fbb65 /monitorplugins
parent28bd83e0d262ba1164d52fa1d9a551caab2e31e6 (diff)
downloadtuned-5818e327421ff22f41618c7b9fa74be8d23d4fd5.tar.gz
tuned-5818e327421ff22f41618c7b9fa74be8d23d4fd5.tar.xz
tuned-5818e327421ff22f41618c7b9fa74be8d23d4fd5.zip
- Added full network support
- Moved docs around a bit
Diffstat (limited to 'monitorplugins')
-rw-r--r--monitorplugins/net.py (renamed from monitorplugins/network.py)29
1 files changed, 24 insertions, 5 deletions
diff --git a/monitorplugins/network.py b/monitorplugins/net.py
index 64c493a..0091b26 100644
--- a/monitorplugins/network.py
+++ b/monitorplugins/net.py
@@ -21,6 +21,19 @@ import os
class NetMonitor:
def __init__(self):
self.devices = {}
+ devs = open("/proc/net/dev").readlines()
+ for l in devs:
+ l = l.replace(":", " ")
+ v = l.split()
+ d = v[0]
+ if not d.startswith("eth"):
+ continue
+ self.devices[d] = {}
+ self.devices[d]["new"] = ['0', '0', '0', '0']
+ self.devices[d]["max"] = [70*1024*1024, 1, 70*1024*1024, 1]
+ self.__updateStat__(d)
+ self.devices[d]["max"] = [70*1024*1024, 1, 70*1024*1024, 1]
+ print self.devices
def __calcdiff__(self, dev):
l = []
@@ -29,9 +42,15 @@ class NetMonitor:
return l
def __updateStat__(self, dev):
- l = open("/sys/block/"+dev+"/stat", "r").read()
- self.devices[dev]["old"] = self.devices[dev]["new"]
- self.devices[dev]["new"] = l.split()
+ self.devices[dev]["old"] = self.devices[dev]["new"][:]
+ l = open("/sys/class/net/"+dev+"/statistics/rx_bytes", "r").read().strip()
+ self.devices[dev]["new"][0] = l
+ l = open("/sys/class/net/"+dev+"/statistics/rx_packets", "r").read().strip()
+ self.devices[dev]["new"][1] = l
+ l = open("/sys/class/net/"+dev+"/statistics/tx_bytes", "r").read().strip()
+ self.devices[dev]["new"][2] = l
+ l = open("/sys/class/net/"+dev+"/statistics/tx_packets", "r").read().strip()
+ self.devices[dev]["new"][3] = l
l = self.__calcdiff__(dev)
for i in xrange(len(l)):
if l[i] > self.devices[dev]["max"][i]:
@@ -48,8 +67,8 @@ class NetMonitor:
ret["NET"] = {}
for dev in self.devices.keys():
ret["NET"][dev] = {}
- ret["NET"][dev]["READ"] = float(self.devices[dev]["diff"][1]) / float(self.devices[dev]["max"][1])
- ret["NET"][dev]["WRITE"] = float(self.devices[dev]["diff"][5]) / float(self.devices[dev]["max"][5])
+ ret["NET"][dev]["READ"] = float(self.devices[dev]["diff"][0]) / float(self.devices[dev]["max"][0])
+ ret["NET"][dev]["WRITE"] = float(self.devices[dev]["diff"][2]) / float(self.devices[dev]["max"][2])
return ret
_plugin = NetMonitor()