Merge branch 'master' into improve_rule_bridge_apis

This commit is contained in:
Xinyu Liu 2022-03-08 11:38:42 +08:00 committed by GitHub
commit 558441eeb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 8 deletions

View File

@ -399,12 +399,12 @@ collect_status(Bridges) ->
[maps:with([node, status], B) || B <- Bridges].
aggregate_status(AllStatus) ->
AllConnected = lists:all(fun (#{status := connected}) -> true;
(_) -> false
end, AllStatus),
case AllConnected of
true -> connected;
false -> disconnected
Head = fun ([A | _]) -> A end,
HeadVal = maps:get(status, Head(AllStatus), connecting),
AllRes = lists:all(fun (#{status := Val}) -> Val == HeadVal end, AllStatus),
case AllRes of
true -> HeadVal;
false -> inconsistent
end.
collect_metrics(Bridges) ->
@ -420,12 +420,11 @@ aggregate_metrics(AllMetrics) ->
format_resp(#{type := Type, name := BridgeName, raw_config := RawConf,
resource_data := #{status := Status, metrics := Metrics}}) ->
IsConnected = fun(connected) -> connected; (_) -> disconnected end,
RawConf#{
type => Type,
name => maps:get(<<"name">>, RawConf, BridgeName),
node => node(),
status => IsConnected(Status),
status => Status,
metrics => format_metrics(Metrics)
}.