diff --git a/api/doc/browser_guide/__init__.py b/api/doc/browser_guide/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/api/src/models/discussion_skeleton.py b/api/src/models/discussion_skeleton.py index eb9e9057072c9bac2402d355d477f0ac181ec78c..4d6840b8e6cab7fe663753c356164b62aa8a27d4 100644 --- a/api/src/models/discussion_skeleton.py +++ b/api/src/models/discussion_skeleton.py @@ -1,3 +1,4 @@ +from api.src.time_measure.measurement import Measurement from api.src.traffic.adapter import Adapter from api.src.traffic.injector import Injector @@ -12,4 +13,14 @@ class DiscussionSkeleton(Adapter, Injector): Injector.__init__(self) def inject_to_neo(self): - return self.run(self.request(expects_true_string=True)) + response = Measurement.get_elapsed_time(self.request, expects_true_string=True) + cypher_response = self.run(response.get("result")) + + res = { + "request_time": round(response.get("elapsed_time"), 4), + "injection_time": round(cypher_response.get("total_time"), 4) + } + + res["total_time"] = round(sum(res.values()), 4) + + return res diff --git a/api/src/time_measure/__init__.py b/api/src/time_measure/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/api/src/time_measure/measurement.py b/api/src/time_measure/measurement.py new file mode 100644 index 0000000000000000000000000000000000000000..94f3ca40c52974c5a37161c19351d6f4313706db --- /dev/null +++ b/api/src/time_measure/measurement.py @@ -0,0 +1,13 @@ +import time + + +class Measurement(object): + + @staticmethod + def get_elapsed_time(func, **kwargs): + t1 = time.time() + res = func(kwargs) + return { + "result": res, + "elapsed_time": time.time() - t1 + } diff --git a/api/static/swagger/neo_api.yaml b/api/static/swagger/neo_api.yaml index 07e1aff14669a2789ba69c3d0cef0f7bbabd36d4..e176ba70f1f0921a95353d9630ea1ad76311f8d3 100644 --- a/api/static/swagger/neo_api.yaml +++ b/api/static/swagger/neo_api.yaml @@ -135,6 +135,10 @@ paths: schema: type: object properties: + injection_time: + type: number + request_time: + type: number total_time: type: number