diff options
author | Mark Haines <mjark@negativecurvature.net> | 2015-12-04 15:29:31 +0000 |
---|---|---|
committer | Mark Haines <mjark@negativecurvature.net> | 2015-12-04 15:29:31 +0000 |
commit | bd0fa9e2d2131c5e390b4c2267528c2f3955588c (patch) | |
tree | 76af375be7dc7bb0df4692c416459fed26ef56fb /synapse/http/server.py | |
parent | Merge pull request #420 from matrix-org/markjh/resource_usage (diff) | |
parent | Add metrics to track the cpu on the main thread consumed by each type of request (diff) | |
download | synapse-bd0fa9e2d2131c5e390b4c2267528c2f3955588c.tar.xz |
Merge pull request #421 from matrix-org/markjh/resource_metrics
Add metrics to track the cpu on the main thread consumed by each type…
Diffstat (limited to 'synapse/http/server.py')
-rw-r--r-- | synapse/http/server.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/synapse/http/server.py b/synapse/http/server.py index ef75be742c..06fb53707b 100644 --- a/synapse/http/server.py +++ b/synapse/http/server.py @@ -53,6 +53,14 @@ response_timer = metrics.register_distribution( labels=["method", "servlet"] ) +response_ru_utime = metrics.register_distribution( + "response_ru_utime", labels=["method", "servlet"] +) + +response_ru_stime = metrics.register_distribution( + "response_ru_stime", labels=["method", "servlet"] +) + _next_request_id = 0 @@ -221,6 +229,15 @@ class JsonResource(HttpServer, resource.Resource): self.clock.time_msec() - start, request.method, servlet_classname ) + try: + context = LoggingContext.current_context() + ru_utime, ru_stime = context.get_resource_usage() + + response_ru_utime.inc_by(ru_utime, request.method, servlet_classname) + response_ru_stime.inc_by(ru_stime, request.method, servlet_classname) + except: + pass + return # Huh. No one wanted to handle that? Fiiiiiine. Send 400. |