diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-02 21:06:22 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-02 21:06:22 +0000 |
commit | 6d60f910762c1a92a07a4afaf1b26962f75ee4b6 (patch) | |
tree | 0a9ef6ccb20aa2099df33a409723eb912f8029e3 /lib/gitlab | |
parent | de2ae3154f4ba1c23eeaa4ace41177ecd9b6005a (diff) | |
download | gitlab-ce-6d60f910762c1a92a07a4afaf1b26962f75ee4b6.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab')
-rw-r--r-- | lib/gitlab/metrics/requests_rack_middleware.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/gitlab/metrics/requests_rack_middleware.rb b/lib/gitlab/metrics/requests_rack_middleware.rb index 26aa0910047..46477587934 100644 --- a/lib/gitlab/metrics/requests_rack_middleware.rb +++ b/lib/gitlab/metrics/requests_rack_middleware.rb @@ -3,6 +3,18 @@ module Gitlab module Metrics class RequestsRackMiddleware + HTTP_METHODS = { + "delete" => %w(200 202 204 303 400 401 403 404 410 422 500 503), + "get" => %w(200 204 301 302 303 304 307 400 401 403 404 410 412 422 429 500 503), + "head" => %w(200 204 301 302 303 304 400 401 403 404 410 429 500 503), + "options" => %w(200 404), + "patch" => %w(200 202 204 400 403 404 409 416 422 500), + "post" => %w(200 201 202 204 301 302 303 304 400 401 403 404 406 409 410 412 413 415 422 429 500 503), + "propfind" => %w(404), + "put" => %w(200 202 204 400 401 403 404 405 406 409 410 415 422 500), + "report" => %w(404) + }.freeze + def initialize(app) @app = app end @@ -20,6 +32,14 @@ module Gitlab {}, [0.05, 0.1, 0.25, 0.5, 0.7, 1, 2.5, 5, 10, 25]) end + def self.initialize_http_request_duration_seconds + HTTP_METHODS.each do |method, statuses| + statuses.each do |status| + http_request_duration_seconds.get({ method: method, status: status }) + end + end + end + def call(env) method = env['REQUEST_METHOD'].downcase started = Time.now.to_f |