Sha256: 3104ea889b5c63c4af82c6257216d12972f37be38fad8d39137c85e5bbd47c7c

Contents?: true

Size: 882 Bytes

Versions: 1

Compression:

Stored size: 882 Bytes

Contents

module RailsPerformance
  module Reports
    class ThroughputReport < BaseReport

      def set_defaults
        @group ||= :datetime
      end

      def data
        all     = {}
        stop    = Time.at(60 * (Time.now.to_i / 60))
        current = stop - RailsPerformance.duration
        @data   = []
        offset  = Time.current.utc_offset

        # puts "current: #{current}"
        # puts "stop: #{stop}"

        # read current values
        db.group_by(group).values.each do |(k, v)|
          all[k] = v.count
        end

        # add blank columns
        while current <= stop
          views = all[current.strftime(MetricsCollector::FORMAT)] || 0
          @data << [(current.to_i + offset) * 1000, views.to_i]
          current += 1.minute
        end

        # sort by time
        @data.sort!
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails_performance-0.0.1.4 lib/rails_performance/reports/throughput_report.rb