[autotest] Timer on rpc handler
Leverage on statsd and graphite to monitor on rpc_interface
through rpc handler. This will give us a good idea of the
bottlenecks on DB latency and throughput, and reflect on
the changes made on DB schema.
There is already a counter at serviceHandler.py. The timer is added
in a similar manner.
BUG=None
TEST=Ran afe, ran cli, ran graphite
Change-Id: I4415aacc920db339b18d7208b841747843830997
Reviewed-on: https://chromium-review.googlesource.com/201381
Tested-by: Jiaxi Luo <jiaxiluo@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Jiaxi Luo <jiaxiluo@chromium.org>
diff --git a/frontend/afe/json_rpc/serviceHandler.py b/frontend/afe/json_rpc/serviceHandler.py
index cd6a0f3..dbf9181 100644
--- a/frontend/afe/json_rpc/serviceHandler.py
+++ b/frontend/afe/json_rpc/serviceHandler.py
@@ -93,13 +93,17 @@
raise BadServiceRequest(request)
stats.Counter('rpc').increment(methName)
+ timer = stats.Timer('rpc')
try:
meth = self.findServiceEndpoint(methName)
+ timer.start()
results['result'] = self.invokeServiceEndpoint(meth, args)
except Exception, err:
results['err_traceback'] = traceback.format_exc()
results['err'] = err
+ finally:
+ timer.stop(methName)
return results