diff options
Diffstat (limited to 'rts/RtsFlags.c')
-rw-r--r-- | rts/RtsFlags.c | 13 |
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]); |