class ScoutApm::Instruments::PercentileSampler
Public Class Methods
new(context)
click to toggle source
# File lib/scout_apm/instruments/percentile_sampler.rb, line 21 def initialize(context) @context = context end
Public Instance Methods
histograms()
click to toggle source
# File lib/scout_apm/instruments/percentile_sampler.rb, line 25 def histograms @context.request_histograms_by_time end
human_name()
click to toggle source
# File lib/scout_apm/instruments/percentile_sampler.rb, line 33 def human_name 'Percentiles' end
logger()
click to toggle source
# File lib/scout_apm/instruments/percentile_sampler.rb, line 29 def logger @context.logger end
metrics(timestamp, store)
click to toggle source
# File lib/scout_apm/instruments/percentile_sampler.rb, line 37 def metrics(timestamp, store) store.track_histograms!(percentiles(timestamp), :timestamp => timestamp) end
percentiles(time)
click to toggle source
# File lib/scout_apm/instruments/percentile_sampler.rb, line 41 def percentiles(time) result = [] histogram = histograms.delete(time) return result unless histogram histogram.each_name do |name| result << HistogramReport.new(name, histogram.raw(name)) end result end