diff options
author | Mark Haines <mark.haines@matrix.org> | 2015-12-04 14:42:24 +0000 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2015-12-04 14:42:24 +0000 |
commit | 99e1d6777f0a27340554379cd5348ed870380457 (patch) | |
tree | 76af375be7dc7bb0df4692c416459fed26ef56fb /synapse/http | |
parent | Merge pull request #420 from matrix-org/markjh/resource_usage (diff) | |
download | synapse-99e1d6777f0a27340554379cd5348ed870380457.tar.xz |
Add metrics to track the cpu on the main thread consumed by each type of request
Diffstat (limited to 'synapse/http')
-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. |