Method: Rollup.multi_series
- Defined in:
- lib/rollup.rb
.multi_series(name, interval: "day") ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/rollup.rb', line 31 def multi_series(name, interval: "day") Utils.check_dimensions relation = where(name: name, interval: interval) # use select_all to reduce allocations sql = relation.order(:time).select(Utils.time_sql(interval), :value, :dimensions).to_sql result = connection_pool.with_connection { |c| c.select_all(sql) }.rows result.group_by { |r| JSON.parse(r[2]) }.map do |dimensions, rollups| {dimensions: dimensions, data: Utils.make_series(rollups, interval)} end end |