class Gladys::Metrics

def current(start: nil, finish: nil)

def current(start: nil, finish: nil)
  {
    qps: @qps.between(start: start, finish: finish),
    tps: @tps.between(start: start, finish: finish),
    latency: @latency.between(start: start, finish: finish),
    errors: @errors.between(start: start, finish: finish),
    reconnects: @reconnects.between(start: start, finish: finish)
  }
end

def errors?

def errors?
  @errors.any?
end

def increment_errors

def increment_errors
  @errors.increment
end

def increment_latency(latency)

def increment_latency(latency)
  @latency.add(latency)
end

def increment_qps

def increment_qps
  @qps.increment
end

def increment_reconnects

def increment_reconnects
  @reconnects.increment
end

def increment_tps

def increment_tps
  @tps.increment
end

def initialize

def initialize
  @qps = TimeSeries::Counter.new
  @tps = TimeSeries::Counter.new
  @latency = TimeSeries::Percentile.new(percentile: 95, max_size: 50)
  @errors = TimeSeries::Counter.new
  @reconnects = TimeSeries::Counter.new
end