Add optional StatsD performance tracking
This commit is contained in:
@ -10,7 +10,6 @@
|
||||
# inflect.uncountable %w( fish sheep )
|
||||
# end
|
||||
|
||||
# These inflection rules are supported but not enabled by default:
|
||||
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||
# inflect.acronym 'RESTful'
|
||||
# end
|
||||
ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||
inflect.acronym 'StatsD'
|
||||
end
|
||||
|
20
config/initializers/statsd.rb
Normal file
20
config/initializers/statsd.rb
Normal file
@ -0,0 +1,20 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
StatsD.prefix = 'mastodon'
|
||||
StatsD.default_sample_rate = 1
|
||||
|
||||
StatsDMonitor.extend(StatsD::Instrument)
|
||||
StatsDMonitor.statsd_measure(:call, 'request.duration')
|
||||
|
||||
STATSD_REQUEST_METRICS = {
|
||||
'request.status.success' => 200,
|
||||
'request.status.not_found' => 404,
|
||||
'request.status.too_many_requests' => 429,
|
||||
'request.status.internal_server_error' => 500,
|
||||
}.freeze
|
||||
|
||||
STATSD_REQUEST_METRICS.each do |name, code|
|
||||
StatsDMonitor.statsd_count_if(:call, name) do |status, _env, _body|
|
||||
status.to_i == code
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user