Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2022-07-20 16:03:51 +0300
committerSebastian Dröge <sebastian@centricular.com>2022-07-20 16:03:51 +0300
commit02990f8fcc5193deeebe3da67e6465468acebfa1 (patch)
tree723db97e2c18599125a1025dd6f16ad4e16ba8a9 /utils/tracers
parent065bc72bfe5cf5a767ea92b5e1787c41a67859e3 (diff)
tracers: queue-levels: Output bytes/buffers/time graphs in separate plots
Much easier to read. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/220
Diffstat (limited to 'utils/tracers')
-rw-r--r--utils/tracers/scripts/queue_levels.py33
1 files changed, 16 insertions, 17 deletions
diff --git a/utils/tracers/scripts/queue_levels.py b/utils/tracers/scripts/queue_levels.py
index 90ae8df3f..654a81ded 100644
--- a/utils/tracers/scripts/queue_levels.py
+++ b/utils/tracers/scripts/queue_levels.py
@@ -4,6 +4,7 @@ import re
import matplotlib
import matplotlib.pyplot as plt
+import matplotlib.patches as mpatches
parser = argparse.ArgumentParser()
parser.add_argument("file", help="Input file with queue levels")
@@ -74,21 +75,17 @@ if num_plots == 0:
num_plots += 1
axes_names.append("time (s)")
-fig, ax1 = plt.subplots()
-ax1.set_xlabel("wallclock (s)")
-ax1.set_ylabel(axes_names[0])
-ax1.tick_params(axis='y')
-axes = [ax1]
+fig, axes = plt.subplots(num_plots, sharex=True)
+axes[0].set_xlabel("wallclock (s)")
+axes[0].set_ylabel(axes_names[0])
+axes[0].tick_params(axis='y')
if num_plots > 1:
- ax2 = ax1.twinx()
- ax2.set_ylabel(axes_names[1])
- axes.append(ax2)
+ axes[1].set_ylabel(axes_names[1])
if num_plots > 2:
- ax3 = ax1.twinx()
- ax3.set_ylabel(axes_names[2])
- ax3.spines['right'].set_position(('outward', 60))
- axes.append(ax3)
+ axes[2].set_ylabel(axes_names[2])
+
+patches = []
for (i, (queue, values)) in enumerate(queues.items()):
axis = 0
@@ -115,7 +112,7 @@ for (i, (queue, values)) in enumerate(queues.items()):
axes[axis].plot(
[x[0] for x in values['cur-level-time']],
[x[1] for x in values['cur-level-time']],
- 'p', label = '{}: cur-level-time'.format(queue),
+ '.', label = '{}: cur-level-time'.format(queue),
color = colors[i],
)
@@ -123,7 +120,7 @@ for (i, (queue, values)) in enumerate(queues.items()):
axes[axis].plot(
[x[0] for x in values['max-size-time']],
[x[1] for x in values['max-size-time']],
- '-.', label = '{}: max-size-time'.format(queue),
+ '-', label = '{}: max-size-time'.format(queue),
color = colors[i],
)
@@ -133,7 +130,7 @@ for (i, (queue, values)) in enumerate(queues.items()):
axes[axis].plot(
[x[0] for x in values['cur-level-bytes']],
[x[1] for x in values['cur-level-bytes']],
- 'x', label = '{}: cur-level-bytes'.format(queue),
+ '.', label = '{}: cur-level-bytes'.format(queue),
color = colors[i],
)
@@ -141,13 +138,15 @@ for (i, (queue, values)) in enumerate(queues.items()):
axes[axis].plot(
[x[0] for x in values['max-size-bytes']],
[x[1] for x in values['max-size-bytes']],
- '--', label = '{}: max-size-bytes'.format(queue),
+ '-', label = '{}: max-size-bytes'.format(queue),
color = colors[i],
)
axis += 1
+ patches.append(mpatches.Patch(color=colors[i], label=queue))
+
fig.tight_layout()
-fig.legend()
+plt.legend(handles=patches, loc='best')
plt.show()