[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