Add Middle ware for tracking metriks.
This commit is contained in:
parent
07c5f6b61f
commit
cd98231c42
22
lib/travis/api/app/middleware/metriks.rb
Normal file
22
lib/travis/api/app/middleware/metriks.rb
Normal file
|
@ -0,0 +1,22 @@
|
|||
require 'travis/api/app'
|
||||
|
||||
class Travis::Api::App
|
||||
class Middleware
|
||||
class Metriks < Middleware
|
||||
before do
|
||||
env['metriks.request.start'] = Time.now.utc
|
||||
end
|
||||
|
||||
after do
|
||||
if response.status < 400
|
||||
time = Time.now.utc - env['metriks.request.start']
|
||||
pattern = headers['X-Pattern'].gsub(/[:\/]/, ".")
|
||||
metric = "api.request.endpoint.#{pattern}"
|
||||
Metriks.timer(metric).update(time)
|
||||
Metriks.meter("api.request.#{request.method}")
|
||||
end
|
||||
Metriks.meter("api.request.status.#{response.status.to_s[0]}")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user