Method: Net::NTP::Check::AutoBandPass.filter

Defined in:
lib/net/ntp/check/offset.rb

.filter(values) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
# File 'lib/net/ntp/check/offset.rb', line 83

def self.filter(values)
  v = values.sort
  Net::NTP::Check.logger.debug("AutoBandPass values: #{v}")
  middle = values.length / 2.0
  middle.ceil unless values.length % 2
  avg = average(v[(middle - 1).floor..(middle + 1).floor])
  Net::NTP::Check.logger.debug("AutoBandPass mid values avg: #{avg}")
  v = apply_band(v, avg)
  Net::NTP::Check.logger.debug("AutoBandPass values with filter: #{v}")
  average(v)
end