improve code by utilizing .clear()
authorBrendan Gregg <brendan.d.gregg@gmail.com>
Wed, 26 Aug 2015 10:15:18 +0000 (20:15 +1000)
committerBrendan Gregg <brendan.d.gregg@gmail.com>
Wed, 26 Aug 2015 10:15:18 +0000 (20:15 +1000)
examples/bitehist.py
examples/vfsreadlat.py
tools/pidpersec
tools/vfsstat

index 55c902f..eb0518a 100755 (executable)
@@ -44,9 +44,6 @@ dist_max = 64
 
 # header
 print("Tracing... Hit Ctrl-C to end.")
-last = {}
-for i in range(1, dist_max + 1):
-       last[i] = 0
 
 # functions
 stars_max = 38
@@ -67,7 +64,7 @@ def print_log2_hist(dist, val_type):
        val_max = 0
        for i in range(1, dist_max + 1):
                try:
-                       val = dist[c_int(i)].value - last[i]
+                       val = dist[c_int(i)].value
                        if (val > 0):
                                idx_max = i
                        if (val > val_max):
@@ -82,10 +79,9 @@ def print_log2_hist(dist, val_type):
                if (low == high):
                        low -= 1
                try:
-                       val = dist[c_int(i)].value - last[i]
+                       val = dist[c_int(i)].value
                        print("%8d -> %-8d : %-8d |%-*s|" % (low, high, val,
                            stars_max, stars(val, val_max, stars_max)))
-                       last[i] = dist[c_int(i)].value
                except:
                        break
 
@@ -104,5 +100,6 @@ while (1):
 
        print
        print_log2_hist(b["dist"], "kbytes")
+       b["dist"].clear()
        if do_exit:
                exit()
index 7c28b9a..6c61c22 100755 (executable)
@@ -45,9 +45,6 @@ dist_max = 64
 
 # header
 print("Tracing... Hit Ctrl-C to end.")
-last = {}
-for i in range(1, dist_max + 1):
-       last[i] = 0
 
 # functions
 stars_max = 38
@@ -68,7 +65,7 @@ def print_log2_hist(dist, val_type):
        val_max = 0
        for i in range(1, dist_max + 1):
                try:
-                       val = dist[c_int(i)].value - last[i]
+                       val = dist[c_int(i)].value
                        if (val > 0):
                                idx_max = i
                        if (val > val_max):
@@ -83,10 +80,9 @@ def print_log2_hist(dist, val_type):
                if (low == high):
                        low -= 1
                try:
-                       val = dist[c_int(i)].value - last[i]
+                       val = dist[c_int(i)].value
                        print("%8d -> %-8d : %-8d |%-*s|" % (low, high, val,
                            stars_max, stars(val, val_max, stars_max)))
-                       last[i] = dist[c_int(i)].value
                except:
                        break
 
@@ -105,5 +101,6 @@ while (1):
 
        print
        print_log2_hist(b["dist"], "usecs")
+       b["dist"].clear()
        if do_exit:
                exit()
index 2d3c731..75ceaa7 100755 (executable)
@@ -28,7 +28,6 @@ S_COUNT = c_int(1)
 print("Tracing... Ctrl-C to end.")
 
 # output
-last = 0
 while (1):
        try:
                sleep(1)
@@ -36,5 +35,5 @@ while (1):
                exit()
 
        print("%s: PIDs/sec: %d" % (strftime("%H:%M:%S"),
-           (b["stats"][S_COUNT].value)))
+           b["stats"][S_COUNT].value))
        b["stats"].clear()
index d44a987..d074faf 100755 (executable)
@@ -54,11 +54,9 @@ stat_types = {
 
 # header
 print("%-8s  " % "TIME", end="")
-last = {}
 for stype in stat_types.keys():
        print(" %8s" % (stype + "/s"), end="")
        idx = stat_types[stype]
-       last[idx] = 0
 print("")
 
 # output
@@ -78,9 +76,9 @@ while (1):
        for stype in stat_types.keys():
                idx = stat_types[stype]
                try:
-                       delta = b["stats"][c_int(idx)].value - last[idx]
-                       print(" %8d" % (delta / interval), end="")
-                       last[idx] = b["stats"][c_int(idx)].value
+                       val = b["stats"][c_int(idx)].value / interval
+                       print(" %8d" % val, end="")
                except:
                        print(" %8d" % 0, end="")
+       b["stats"].clear()
        print("")