i#2039 trace trim, part 3: Add nop mode to drmemtrace #5700
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a new drbbdup mode to drmemtrace which performs zero instrumentation (except drwrap cleanup). This mode is used when attaching for the period prior to full control of all threads and when detaching prior to starting to let threads go native, to avoid uneven thread instrumentation during these incremental staggered processes. The mode is initially under an off-by-default new option -align_endpoints while drbbdup stability is being worked on (i#5686).
Threads that did nothing during the trace-mode period are now omitted from the trace.
Adds a test by adding 4 idle threads to burst_threads and ensuring they do not show up in the trace.
Alignment itself was tested manually by running larger applications and analyzing the timestamp ranges in the trace.
Fixes the burst_replace test to work properly with .zip output (the output regex still matched despite a printed error from raw2trace, it seems).
Timestamps during detach require further work as they inaccurately imply executing after tracing mode was turned off. The next part will address this issue.
Issue: #2039, #5686