lib/trifle/stats/operations/timeseries/increment.ex
defmodule Trifle.Stats.Operations.Timeseries.Increment do
def perform(key, at, values, config \\ nil) do
config.driver.__struct__.inc(
Enum.map(config.ranges, fn range -> key_for(key, range, at, config) end),
values, config.driver
)
end
def key_for(key, range, at, config) do
{:ok, at} = apply(Trifle.Stats.Nocturnal, range, [at, config])
[key, range, DateTime.to_unix(at)]
end
end