diff options
Diffstat (limited to 'lib/gitlab/sherlock/middleware.rb')
-rw-r--r-- | lib/gitlab/sherlock/middleware.rb | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/lib/gitlab/sherlock/middleware.rb b/lib/gitlab/sherlock/middleware.rb deleted file mode 100644 index f7b08d58e49..00000000000 --- a/lib/gitlab/sherlock/middleware.rb +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true - -module Gitlab - module Sherlock - # Rack middleware used for tracking request metrics. - class Middleware - CONTENT_TYPES = %r{text/html|application/json}i.freeze - - IGNORE_PATHS = %r{^/sherlock}.freeze - - def initialize(app) - @app = app - end - - # env - A Hash containing Rack environment details. - def call(env) - if instrument?(env) - call_with_instrumentation(env) - else - @app.call(env) - end - end - - def call_with_instrumentation(env) - trans = transaction_from_env(env) - retval = trans.run { @app.call(env) } - - Sherlock.collection.add(trans) - - retval - end - - def instrument?(env) - !!(env['HTTP_ACCEPT'] =~ CONTENT_TYPES && - env['REQUEST_URI'] !~ IGNORE_PATHS) - end - - def transaction_from_env(env) - Transaction.new(env['REQUEST_METHOD'], env['REQUEST_URI']) - end - end - end -end |