aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
diff options
context:
space:
mode:
authorBoshan Sun <[email protected]>2018-03-22 19:47:04 -0700
committerBoshan Sun <[email protected]>2018-04-23 09:21:33 -0700
commit4b97ff92a8d2d429370da40c9845199c2a68f12d (patch)
tree4a9bfa6dad677b10f47831e2343416dde5ad6dae /lib/stdlib/src
parent6b31b88f74bf7194bed5df72eeabda3cc645a39c (diff)
downloadotp-4b97ff92a8d2d429370da40c9845199c2a68f12d.tar.gz
otp-4b97ff92a8d2d429370da40c9845199c2a68f12d.tar.bz2
otp-4b97ff92a8d2d429370da40c9845199c2a68f12d.zip
Fix sys's debug statistics.
Currently, in sys:stat/2, the message out only count for system events with format {out, Msg, To}. However, the gen_server:reply/5 will call sys:handle_debug/4 with format {out, Reply, To, State}. That will make the message out count fail to pattern matching. Also update sys_SUITE.erl and relevant docs.
Diffstat (limited to 'lib/stdlib/src')
-rw-r--r--lib/stdlib/src/sys.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/stdlib/src/sys.erl b/lib/stdlib/src/sys.erl
index 0c578acf21..b1177ece48 100644
--- a/lib/stdlib/src/sys.erl
+++ b/lib/stdlib/src/sys.erl
@@ -44,6 +44,7 @@
-type system_event() :: {'in', Msg :: _}
| {'in', Msg :: _, From :: _}
| {'out', Msg :: _, To :: _}
+ | {'out', Msg :: _, To :: _, State :: _}
| term().
-opaque dbg_opt() :: {'trace', 'true'}
| {'log',
@@ -573,6 +574,7 @@ get_stat(_) ->
stat({in, _Msg}, {Time, Reds, In, Out}) -> {Time, Reds, In+1, Out};
stat({in, _Msg, _From}, {Time, Reds, In, Out}) -> {Time, Reds, In+1, Out};
stat({out, _Msg, _To}, {Time, Reds, In, Out}) -> {Time, Reds, In, Out+1};
+stat({out, _Msg, _To, _State}, {Time, Reds, In, Out}) -> {Time, Reds, In, Out+1};
stat(_, StatData) -> StatData.
trim(N, LogData) ->