[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