|
|
@@ -1,20 +1,30 @@
|
|
|
#!/usr/bin/env python
|
|
|
+import json
|
|
|
import numpy as np
|
|
|
import matplotlib.pyplot as plt
|
|
|
+import sys
|
|
|
|
|
|
-process_data = [
|
|
|
- {'cargaTick': 3, 'primerTick': 4, 'ticksBlock': 9, 'ticksCpu': 11, 'ultimoTick': 24},
|
|
|
- {'cargaTick': 5, 'primerTick': 25, 'ticksBlock': 11, 'ticksCpu': 5, 'ultimoTick': 41},
|
|
|
- {'cargaTick': 5, 'primerTick': 42, 'ticksBlock': 12, 'ticksCpu': 5, 'ultimoTick': 59}
|
|
|
- ]
|
|
|
-
|
|
|
-fig, ax = plt.subplots(figsize=(10,5))
|
|
|
-
|
|
|
-index = list(range(len(process_data)))
|
|
|
bar_width = 0.25
|
|
|
-
|
|
|
-opacity = 0.9
|
|
|
-error_config = {'ecolor': '0.3'}
|
|
|
+def plot(process_data):
|
|
|
+ fig, ax = plt.subplots(figsize=(10,5))
|
|
|
+
|
|
|
+ index = list(range(len(process_data)))
|
|
|
+
|
|
|
+ plot_data(0,[latency(p) for p in process_data], 'r', 'Latency')
|
|
|
+ plot_data(1,[ready(p) for p in process_data], 'g', 'Ready')
|
|
|
+ plot_data(2,[cpu(p) for p in process_data], 'b', 'CPU')
|
|
|
+ plot_data(3,[cpu_io(p) for p in process_data], '#fafafa', 'CPU+IO')
|
|
|
+
|
|
|
+ ax.set_ylabel('Time')
|
|
|
+ ax.set_title('title')
|
|
|
+ ax.set_xticks([ i + 1.5 * bar_width for i in index])
|
|
|
+ ax.set_xticklabels(["Process %d" % i for i in xrange(len(process_data))])
|
|
|
+
|
|
|
+ plt.legend()
|
|
|
+
|
|
|
+ plt.tight_layout()
|
|
|
+ plt.grid()
|
|
|
+ plt.show()
|
|
|
|
|
|
def latency(p):
|
|
|
return p["primerTick"]-p["cargaTick"]
|
|
|
@@ -27,28 +37,24 @@ def cpu(p):
|
|
|
def cpu_io(p):
|
|
|
return p["ticksBlock"]+p["ticksCpu"]
|
|
|
|
|
|
-
|
|
|
def plot_data(ind, data, color, label):
|
|
|
+ opacity = 0.9
|
|
|
+ index = list(range(len(data)))
|
|
|
plt.bar([i + bar_width*ind for i in index],
|
|
|
data,
|
|
|
bar_width,
|
|
|
alpha=opacity,
|
|
|
color=color,
|
|
|
- error_kw=error_config,
|
|
|
label=(label))
|
|
|
|
|
|
-plot_data(0,[latency(p) for p in process_data], 'r', 'Latency')
|
|
|
-plot_data(1,[ready(p) for p in process_data], 'g', 'Ready')
|
|
|
-plot_data(2,[cpu(p) for p in process_data], 'b', 'CPU')
|
|
|
-plot_data(3,[cpu_io(p) for p in process_data], '#fafafa', 'CPU+IO')
|
|
|
-
|
|
|
-ax.set_ylabel('Time')
|
|
|
-ax.set_title('title')
|
|
|
-ax.set_xticks([ i + 1.5 * bar_width for i in index])
|
|
|
-ax.set_xticklabels(["Process %d" % i for i in xrange(len(process_data))])
|
|
|
-
|
|
|
-plt.legend()
|
|
|
-
|
|
|
-plt.tight_layout()
|
|
|
-plt.grid()
|
|
|
-plt.show()
|
|
|
+if sys.stdin.isatty():
|
|
|
+ print("lol")
|
|
|
+ sys.exit(1)
|
|
|
+
|
|
|
+try:
|
|
|
+ data = sys.stdin.read()
|
|
|
+ data = json.loads(data)
|
|
|
+ plot(data)
|
|
|
+except Exception as e:
|
|
|
+ print(data)
|
|
|
+ print(e)
|