From 7b224904e569819c51555729903a7d48816e837e Mon Sep 17 00:00:00 2001
From: silvergl <simonovserafim@gmail.com>
Date: Thu, 11 Aug 2022 17:44:53 +0200
Subject: [PATCH] python benchmark implementation started

---
 frameworks/Kieker/python/main.py | 35 ++++++++++++++++++++++++++++++++
 frameworks/Kieker/python/moo.py  | 14 +++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 frameworks/Kieker/python/main.py
 create mode 100644 frameworks/Kieker/python/moo.py

diff --git a/frameworks/Kieker/python/main.py b/frameworks/Kieker/python/main.py
new file mode 100644
index 0000000..9439421
--- /dev/null
+++ b/frameworks/Kieker/python/main.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# standard import
+import sys
+import time
+# instrumentation
+import tools.aspect
+# read argumetns
+total_calls =int(sys.argv[1])
+recursion_depth = int(sys.argv[2])
+method_time = int(sys.argv[3])
+ini_path = sys.argv[4]
+
+
+
+# instrument
+from monitoring.controller import SingleMonitoringController
+from tools.importhookast import InstrumentOnImportFinder
+ex =[]
+#sys.path.append("/home/serafim/Desktop/moo")
+some_var = SingleMonitoringController(ini_path)
+sys.meta_path.insert(0, InstrumentOnImportFinder(ignore_list=ex, debug_on=True))
+import moo
+print(moo.__dict__)
+
+start_ns = 0
+stop_ns = 0
+timings = []
+for i in range(total_calls):
+    start_ns = time.time_ns()
+    moo.monitored_method(method_time, recursion_depth)
+    stop_ns = time.time_ns()
+    timings.append(stop_ns-start_ns)
+    if i%100000 ==0:
+        print(timings[-1])
+
diff --git a/frameworks/Kieker/python/moo.py b/frameworks/Kieker/python/moo.py
new file mode 100644
index 0000000..9f4446b
--- /dev/null
+++ b/frameworks/Kieker/python/moo.py
@@ -0,0 +1,14 @@
+# -*- coding: utf-8 -*-
+import time
+def monitored_method(method_time, rec_depth):
+    if rec_depth>1:
+        return monitored_method(method_time, rec_depth-1)
+    else:
+        exit_time = time.time_ns()+method_time
+        current_time = 0
+        while True:
+            current_time = time.time_ns()
+            
+            if current_time< exit_time:
+                break
+        return current_time
\ No newline at end of file
-- 
GitLab