refactor get_latency
diff --git a/sensors/io_sensors.py b/sensors/io_sensors.py
index 219a48f..615d381 100644
--- a/sensors/io_sensors.py
+++ b/sensors/io_sensors.py
@@ -47,22 +47,26 @@
 
 
 def get_latency(stat1, stat2):
-    disks = set([ i.split('.')[0] for i in stat1 ])
+    disks = set(i.split('.', 1)[0] for i in stat1)
     results = {}
+
     for disk in disks:
-        rdc = disk+'.reads_completed'
-        wrc = disk+'.writes_completed'
-        rdt = disk+'.rtime'
-        wrt = disk+'.wtime'
-        if all(i in stat1 for i in [rdc, wrc, rdt, wrt]) and \
-           all(i in stat2 for i in [rdc, wrc, rdt, wrt]):
-            lat = 0.0
-            if  abs((stat1[rdc].value + stat1[wrc].value) - \
-                    (stat2[rdc].value + stat2[wrc].value)) > 0:
-                lat = abs(float((stat1[rdt].value + stat1[wrt].value) - \
-                          (stat2[rdt].value + stat2[wrt].value)) / \
-                          (stat1[rdc].value + stat1[wrc].value) - \
-                          (stat2[rdc].value + stat2[wrc].value))
-            results[disk+'.latence'] = SensorInfo(lat, False)
+        rdc = disk + '.reads_completed'
+        wrc = disk + '.writes_completed'
+        rdt = disk + '.rtime'
+        wrt = disk + '.wtime'
+        lat = 0.0
+
+        io_ops1 = stat1[rdc].value + stat1[wrc].value
+        io_ops2 = stat2[rdc].value + stat2[wrc].value
+
+        diops = io_ops2 - io_ops1
+
+        if diops != 0:
+            io1 = stat1[rdt].value + stat1[wrt].value
+            io2 = stat2[rdt].value + stat2[wrt].value
+            lat = abs(float(io1 - io2)) / diops
+
+        results[disk + '.latence'] = SensorInfo(lat, False)
 
     return results