diff options
author | Anders Svensson <[email protected]> | 2013-03-19 13:17:30 +0100 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2013-03-19 13:17:30 +0100 |
commit | 53375f432c3ba5aa5a03bcbd2cb89caba6754113 (patch) | |
tree | 5fdb22d696d04821b296bd4da2aef8019a4dbaf7 /lib/diameter/src/base/diameter_service.erl | |
parent | 77c9f844f137deec2d49bd6c28ec03bce97d34df (diff) | |
parent | da15b3c5fdc9ff96b8d02f4620c879418648d45c (diff) | |
download | otp-53375f432c3ba5aa5a03bcbd2cb89caba6754113.tar.gz otp-53375f432c3ba5aa5a03bcbd2cb89caba6754113.tar.bz2 otp-53375f432c3ba5aa5a03bcbd2cb89caba6754113.zip |
Merge branch 'anders/diameter/reopen_abuse/OTP-10898' into maint-r16
* anders/diameter/reopen_abuse/OTP-10898:
Update appup
Tweak okay -> suspect config
Add testcases for watchdog_config
Rework watchdog suite to remove most timing dependencies
Rework stats to avoid concurrent read and write
Minor spec fix
Add transport_opt() watchdog_config
Diffstat (limited to 'lib/diameter/src/base/diameter_service.erl')
-rw-r--r-- | lib/diameter/src/base/diameter_service.erl | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/lib/diameter/src/base/diameter_service.erl b/lib/diameter/src/base/diameter_service.erl index f1342df16c..c971646861 100644 --- a/lib/diameter/src/base/diameter_service.erl +++ b/lib/diameter/src/base/diameter_service.erl @@ -1626,16 +1626,10 @@ info_stats(#state{watchdogT = WatchdogT}) -> info_transport(S) -> PeerD = peer_dict(S, config_dict(S)), - RefsD = dict:map(fun(_, Ls) -> [P || L <- Ls, {peer, {P,_}} <- L] end, - PeerD), - Refs = lists:append(dict:fold(fun(R, Ps, A) -> [[R|Ps] | A] end, - [], - RefsD)), - Stats = diameter_stats:read(Refs), + Stats = diameter_stats:sum(dict:fetch_keys(PeerD)), dict:fold(fun(R, Ls, A) -> - Ps = dict:fetch(R, RefsD), - [[{ref, R} | transport(Ls)] ++ [stats([R|Ps], Stats)] - | A] + Cs = proplists:get_value(R, Stats, []), + [[{ref, R} | transport(Ls)] ++ [{statistics, Cs}] | A] end, [], PeerD). |