From 609f442ea9fc313fc12049f816c8302f1f8962a0 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Tue, 24 Sep 2019 17:07:32 +0800 Subject: [PATCH] Add function 'get_counters/1' --- src/emqx_pd.erl | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/emqx_pd.erl b/src/emqx_pd.erl index 9800d9d57..db33927d0 100644 --- a/src/emqx_pd.erl +++ b/src/emqx_pd.erl @@ -19,27 +19,33 @@ -include("types.hrl"). --export([ update_counter/2 +-export([ get_counters/1 , get_counter/1 + , update_counter/2 , reset_counter/1 ]). -compile({inline, - [ update_counter/2 + [ get_counters/1 , get_counter/1 + , update_counter/2 , reset_counter/1 ]}). -type(key() :: term()). --spec(update_counter(key(), number()) -> maybe(number())). -update_counter(Key, Inc) -> - put(Key, get_counter(Key) + Inc). +-spec(get_counters(list(key())) -> list({key(), number()})). +get_counters(Keys) when is_list(Keys) -> + [{Key, emqx_pd:get_counter(Key)} || Key <- Keys]. -spec(get_counter(key()) -> number()). get_counter(Key) -> case get(Key) of undefined -> 0; Cnt -> Cnt end. +-spec(update_counter(key(), number()) -> maybe(number())). +update_counter(Key, Inc) -> + put(Key, get_counter(Key) + Inc). + -spec(reset_counter(key()) -> number()). reset_counter(Key) -> case put(Key, 0) of undefined -> 0; Cnt -> Cnt end.