aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2016-04-22 17:06:33 +0200
committerBjörn-Egil Dahlberg <[email protected]>2016-04-29 18:32:04 +0200
commit2a646e161e5b73ad6984df8dc2fcb8fdba2e0df7 (patch)
treef5707cf0765739c832e180c0cf47d4a02cc3e10b
parent4169ddb041eb85afd89d4ad0929c8fa9e88fb14b (diff)
downloadotp-2a646e161e5b73ad6984df8dc2fcb8fdba2e0df7.tar.gz
otp-2a646e161e5b73ad6984df8dc2fcb8fdba2e0df7.tar.bz2
otp-2a646e161e5b73ad6984df8dc2fcb8fdba2e0df7.zip
tools: Update fprof with new gc traces
-rw-r--r--lib/tools/src/fprof.erl17
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;