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