[rtems commit] sptimecounter02: Add plot script

Sebastian Huber sebh at rtems.org
Thu Dec 8 13:47:03 UTC 2016


Module:    rtems
Branch:    master
Commit:    16bd9e0a9e333e698975db19ba263c1f69cb7c26
Changeset: http://git.rtems.org/rtems/commit/?id=16bd9e0a9e333e698975db19ba263c1f69cb7c26

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Dec  8 14:46:32 2016 +0100

sptimecounter02: Add plot script

---

 .../sptests/sptimecounter02/sptimecounter02.py     | 42 ++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/testsuites/sptests/sptimecounter02/sptimecounter02.py b/testsuites/sptests/sptimecounter02/sptimecounter02.py
new file mode 100755
index 0000000..925b3f1
--- /dev/null
+++ b/testsuites/sptests/sptimecounter02/sptimecounter02.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+
+#
+# Copyright (c) 2016 embedded brains GmbH.  All rights reserved.
+#
+# The license and distribution terms for this file may be
+# found in the file LICENSE in this distribution or at
+# http://www.rtems.org/license/LICENSE.
+#
+
+import re
+import libxml2
+from libxml2 import xmlNode
+import matplotlib.pyplot as plt
+data = open('sptimecounter02.scn').read()
+data = re.sub(r'\*\*\*.*\*\*\*', '', data)
+doc = libxml2.parseDoc(data)
+ctx = doc.xpathNewContext()
+
+plt.title('Timestamp Performance')
+plt.xlabel('Active Workers')
+plt.ylabel('Operation Count')
+
+def m(n):
+	return int(n.getContent())
+
+def getCounterSums(variant):
+	w = 1
+	y = []
+	while True:
+		c = map(m, ctx.xpathEval('/SPTimecounter01/' + variant + '[@activeWorker="' + str(w) + '"]/Counter'))
+		if not c:
+			break
+		y.append(sum(c))
+		w = w + 1
+	return y
+
+y = getCounterSums('BinuptimeTest')
+x = range(1, len(y) + 1)
+plt.xticks(x)
+plt.plot(x, y, marker = 'o')
+plt.show()



More information about the vc mailing list