diff options
author | Björn-Egil Dahlberg <[email protected]> | 2016-04-22 17:06:33 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2016-04-29 18:32:04 +0200 |
commit | 2a646e161e5b73ad6984df8dc2fcb8fdba2e0df7 (patch) | |
tree | f5707cf0765739c832e180c0cf47d4a02cc3e10b | |
parent | 4169ddb041eb85afd89d4ad0929c8fa9e88fb14b (diff) | |
download | otp-2a646e161e5b73ad6984df8dc2fcb8fdba2e0df7.tar.gz otp-2a646e161e5b73ad6984df8dc2fcb8fdba2e0df7.tar.bz2 otp-2a646e161e5b73ad6984df8dc2fcb8fdba2e0df7.zip |
tools: Update fprof with new gc traces
-rw-r--r-- | lib/tools/src/fprof.erl | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/tools/src/fprof.erl b/lib/tools/src/fprof.erl index f9da748fef..b21eedc625 100644 --- a/lib/tools/src/fprof.erl +++ b/lib/tools/src/fprof.erl @@ -1629,15 +1629,24 @@ trace_handler({trace_ts, Pid, in, {_M, _F, Args} = MFArgs, TS} = Trace, TS; %% %% gc_start -trace_handler({trace_ts, Pid, gc_start, _Func, TS} = Trace, - Table, _, Dump) -> +trace_handler({trace_ts, Pid, gc_minor_start, _Func, TS} = Trace, Table, _, Dump) -> + dump_stack(Dump, get(Pid), Trace), + trace_gc_start(Table, Pid, TS), + TS; + +trace_handler({trace_ts, Pid, gc_major_start, _Func, TS} = Trace, Table, _, Dump) -> dump_stack(Dump, get(Pid), Trace), trace_gc_start(Table, Pid, TS), TS; + %% %% gc_end -trace_handler({trace_ts, Pid, gc_end, _Func, TS} = Trace, - Table, _, Dump) -> +trace_handler({trace_ts, Pid, gc_minor_end, _Func, TS} = Trace, Table, _, Dump) -> + dump_stack(Dump, get(Pid), Trace), + trace_gc_end(Table, Pid, TS), + TS; + +trace_handler({trace_ts, Pid, gc_major_end, _Func, TS} = Trace, Table, _, Dump) -> dump_stack(Dump, get(Pid), Trace), trace_gc_end(Table, Pid, TS), TS; |