Class: ScoutApm::Instruments::PercentileSampler
- Inherits:
-
Object
- Object
- ScoutApm::Instruments::PercentileSampler
- Defined in:
- lib/scout_apm/instruments/percentile_sampler.rb
Instance Attribute Summary collapse
-
#histograms ⇒ Object
readonly
A hash of { time => RequestHistograms }.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
Instance Method Summary collapse
- #human_name ⇒ Object
-
#initialize(logger, histograms) ⇒ PercentileSampler
constructor
A new instance of PercentileSampler.
- #metrics(timestamp, store) ⇒ Object
- #percentiles(time) ⇒ Object
Constructor Details
#initialize(logger, histograms) ⇒ PercentileSampler
Returns a new instance of PercentileSampler.
26 27 28 29 |
# File 'lib/scout_apm/instruments/percentile_sampler.rb', line 26 def initialize(logger, histograms) @logger = logger @histograms = histograms end |
Instance Attribute Details
#histograms ⇒ Object (readonly)
A hash of { time => RequestHistograms }
24 25 26 |
# File 'lib/scout_apm/instruments/percentile_sampler.rb', line 24 def histograms @histograms end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
21 22 23 |
# File 'lib/scout_apm/instruments/percentile_sampler.rb', line 21 def logger @logger end |
Instance Method Details
#human_name ⇒ Object
31 32 33 |
# File 'lib/scout_apm/instruments/percentile_sampler.rb', line 31 def human_name 'Percentiles' end |
#metrics(timestamp, store) ⇒ Object
35 36 37 |
# File 'lib/scout_apm/instruments/percentile_sampler.rb', line 35 def metrics(, store) store.track_histograms!(percentiles(), :timestamp => ) end |
#percentiles(time) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/scout_apm/instruments/percentile_sampler.rb', line 39 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 |