Skip to content
Snippets Groups Projects
Commit 5f284990 authored by Marc Feger's avatar Marc Feger
Browse files

Add more time measurement to discussions and add them to swagger documentation

parent 92b4e07b
No related branches found
No related tags found
No related merge requests found
from api.src.time_measure.measurement import Measurement
from api.src.traffic.adapter import Adapter
from api.src.traffic.injector import Injector
......@@ -26,5 +27,16 @@ class Discussion(Adapter, Injector):
result = super().request()
return result['issue']['completeGraphCypher']
# Todo: abstract further
def inject_to_neo(self):
return self.run(self._cypher_query())
response = Measurement.get_elapsed_time(self._cypher_query)
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
......@@ -12,6 +12,7 @@ class DiscussionSkeleton(Adapter, Injector):
Adapter.__init__(self, url="{}://{}:{}/api/cypher".format(self.protocol, self.host, self.port))
Injector.__init__(self)
# Todo: abstract further
def inject_to_neo(self):
response = Measurement.get_elapsed_time(self.request, expects_true_string=True)
cypher_response = self.run(response.get("result"))
......
......@@ -6,7 +6,7 @@ class Measurement(object):
@staticmethod
def get_elapsed_time(func, **kwargs):
t1 = time.time()
res = func(kwargs)
res = func(kwargs) if kwargs else func()
return {
"result": res,
"elapsed_time": time.time() - t1
......
......@@ -106,6 +106,10 @@ paths:
schema:
type: object
properties:
injection_time:
type: number
request_time:
type: number
total_time:
type: number
404:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment