From 92b4e07b54b9b1a1bdc58a23fba2f69473c84dc4 Mon Sep 17 00:00:00 2001 From: feger <marc.feger@hhu.de> Date: Fri, 8 Mar 2019 16:00:28 +0100 Subject: [PATCH] Add time measurement and update swagger documentation --- api/doc/browser_guide/__init__.py | 0 api/src/models/discussion_skeleton.py | 13 ++++++++++++- api/src/time_measure/__init__.py | 0 api/src/time_measure/measurement.py | 13 +++++++++++++ api/static/swagger/neo_api.yaml | 4 ++++ 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 api/doc/browser_guide/__init__.py create mode 100644 api/src/time_measure/__init__.py create mode 100644 api/src/time_measure/measurement.py diff --git a/api/doc/browser_guide/__init__.py b/api/doc/browser_guide/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/src/models/discussion_skeleton.py b/api/src/models/discussion_skeleton.py index eb9e905..4d6840b 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 0000000..e69de29 diff --git a/api/src/time_measure/measurement.py b/api/src/time_measure/measurement.py new file mode 100644 index 0000000..94f3ca4 --- /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 07e1aff..e176ba7 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 -- GitLab