diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2020-09-28 15:48:46 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2020-10-05 17:12:28 +0300 |
| commit | 8ea09f53e6eb13203fc9c4e13a60670cdccae575 (patch) | |
| tree | 1cbab62cba65ec112fef31a5de465a95c46266ca /src | |
| parent | 1eb1ff1bf649c9fd94ea2b946fdbd75e8f5cbe07 (diff) | |
| download | rabbitmq-server-git-8ea09f53e6eb13203fc9c4e13a60670cdccae575.tar.gz | |
Introduce rabbit_alarms:get_alarms/1
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_alarm.erl | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/rabbit_alarm.erl b/src/rabbit_alarm.erl index 2532e114f4..dbf9ae56da 100644 --- a/src/rabbit_alarm.erl +++ b/src/rabbit_alarm.erl @@ -21,7 +21,7 @@ -behaviour(gen_event). -export([start_link/0, start/0, stop/0, register/2, set_alarm/1, - clear_alarm/1, get_alarms/0, on_node_up/1, on_node_down/1]). + clear_alarm/1, get_alarms/0, get_alarms/1, on_node_up/1, on_node_down/1]). -export([init/1, handle_call/2, handle_event/2, handle_info/2, terminate/2, code_change/3]). @@ -92,9 +92,11 @@ set_alarm(Alarm) -> gen_event:notify(?SERVER, {set_alarm, Alarm}). clear_alarm(Alarm) -> gen_event:notify(?SERVER, {clear_alarm, Alarm}). -spec get_alarms() -> [{alarm(), []}]. - get_alarms() -> gen_event:call(?SERVER, ?MODULE, get_alarms, infinity). +-spec get_alarms(timeout()) -> [{alarm(), []}]. +get_alarms(Timeout) -> gen_event:call(?SERVER, ?MODULE, get_alarms, Timeout). + -spec on_node_up(node()) -> 'ok'. on_node_up(Node) -> gen_event:notify(?SERVER, {node_up, Node}). @@ -123,7 +125,7 @@ handle_call({register, Pid, AlertMFA}, State = #alarms{alarmed_nodes = AN}) -> internal_register(Pid, AlertMFA, State)}; handle_call(get_alarms, State) -> - {ok, get_alarms(State), State}; + {ok, compute_alarms(State), State}; handle_call(_Request, State) -> {ok, not_understood, State}. @@ -302,7 +304,7 @@ is_node_alarmed(Source, Node, #alarms{alarmed_nodes = AN}) -> false end. -get_alarms(#alarms{alarms = Alarms, +compute_alarms(#alarms{alarms = Alarms, alarmed_nodes = AN}) -> Alarms ++ [ {{resource_limit, Source, Node}, []} || {Node, Sources} <- dict:to_list(AN), Source <- Sources ]. |
