summaryrefslogtreecommitdiff
path: root/rts/RtsFlags.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/RtsFlags.c')
-rw-r--r--rts/RtsFlags.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c
index a5ec423f8d..bc7e86901f 100644
--- a/rts/RtsFlags.c
+++ b/rts/RtsFlags.c
@@ -212,6 +212,7 @@ void initRtsFlagsDefaults(void)
RtsFlags.ProfFlags.doHeapProfile = false;
RtsFlags.ProfFlags.heapProfileInterval = USToTime(100000); // 100ms
+ RtsFlags.ProfFlags.startHeapProfileAtStartup = true;
#if defined(PROFILING)
RtsFlags.ProfFlags.showCCSOnException = false;
@@ -391,6 +392,11 @@ usage_text[] = {
" -hT Produce a heap profile grouped by closure type",
#endif /* PROFILING */
+" -i<sec> Time between heap profile samples (seconds, default: 0.1)",
+" --no-automatic-heap-samples Do not start the heap profile interval timer on start-up,",
+" Rather, the application will be responsible for triggering",
+" heap profiler samples."
+
#if defined(TRACING)
"",
" -ol<file> Send binary eventlog to <file> (default: <program>.eventlog)",
@@ -416,7 +422,6 @@ usage_text[] = {
" the initial enabled event classes are 'sgpu'",
#endif
-" -i<sec> Time between heap profile samples (seconds, default: 0.1)",
"",
#if defined(TICKY_TICKY)
" -r<file> Produce ticky-ticky statistics (with -rstderr for stderr)",
@@ -1091,6 +1096,12 @@ error = true;
}
break;
}
+ else if (strequal("no-automatic-heap-samples",
+ &rts_argv[arg][2])) {
+ OPTION_SAFE;
+ RtsFlags.ProfFlags.startHeapProfileAtStartup = false;
+ break;
+ }
else {
OPTION_SAFE;
errorBelch("unknown RTS option: %s",rts_argv[arg]);