-module(rally_runtime_db_ffi).
-export([add_db_timing/1, get_db_timing/0, init_db_timing/0]).
init_db_timing() ->
erlang:put(rally_db_time_ms, 0),
erlang:put(rally_db_query_count, 0),
nil.
add_db_timing(ElapsedMs) ->
Prev = case erlang:get(rally_db_time_ms) of
undefined -> 0;
V -> V
end,
Count = case erlang:get(rally_db_query_count) of
undefined -> 0;
C -> C
end,
erlang:put(rally_db_time_ms, Prev + ElapsedMs),
erlang:put(rally_db_query_count, Count + 1),
nil.
get_db_timing() ->
DbTime = case erlang:get(rally_db_time_ms) of
undefined -> 0;
T -> T
end,
Count = case erlang:get(rally_db_query_count) of
undefined -> 0;
C -> C
end,
{DbTime, Count}.