-
Notifications
You must be signed in to change notification settings - Fork 571
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new file type for traces which contain a mix of filtered and unfitered records. #6164
Labels
Comments
github-merge-queue bot
pushed a commit
that referenced
this issue
Jul 14, 2023
Add a separate L0_filter mode to enable switching from warmup/L0_filter mode to the unfiltered mode. Added an option (-L0_filter_until_instrs) which specifies the number of instructions for warmup trace In warmup mode, we filter accesses through the -L0{D,I}_filter caches. If neither -L0D_filter nor -L0I_filter are specified then both are assumed to be true. The size of these can be specified using -L0{D,I}_size. The filter instructions come after the -trace_after_instrs count and before the instruction trace. This is intended to be used together with other trace options (e.g., -trace_for_instrs, -exit_after_tracing, -max_trace_size etc.) but with the difference that a filter trace is also collected. The filter trace and full trace are stored in a single file separated by a TRACE_MARKER_TYPE_FILTER_ENDPOINT marker. When used with windows (i.e., -retrace_every_instrs), each window contains a filter trace and a full trace. When we have windows contained in a single-file, the TRACE_MARKER_TYPE_WINDOW_ID markers indicate start of filtered records. The following items are not addressed in this PR - `-align_endpoints` test is not added - new OFFLINE_FILE_TYPE_BIMODAL type to indicate that the file has both filtered and unfiltered entries (#6164) - items not tested - handling windows with single-file all-in-one traces - online trace - ifilter only or dfilter only - use cases without `-trace_after_instrs`: tracing always starts in full trace mode, so the tests fail if we use this option; need to understand why this is happening Issue: #5199
abhinav92003
added a commit
that referenced
this issue
Jul 26, 2023
Adds OFFLINE_FILE_TYPE_BIMODAL_FILTERED_WARMUP for traces that are filtered before the TRACE_MARKER_TYPE_FILTER_ENDPOINT marker and unfiltered after it. Fixes: #6164
github-merge-queue bot
pushed a commit
that referenced
this issue
Jul 27, 2023
Adds OFFLINE_FILE_TYPE_BIMODAL_FILTERED_WARMUP for traces that are filtered before the TRACE_MARKER_TYPE_FILTER_ENDPOINT marker and unfiltered after it. Adds invariant_checker checks to make sure the new file type and the filter end-point marker are always present together, or not at all. Adds a test that the record filter adds the filter end-point marker also for threads that start after the filtering stop_timestamp. Adds a shard_count member to basic_counts_t::counters_t to make it easier to write the new test without hard-coding count of threads in the test. Fixes: #6164
ivankyluk
pushed a commit
to ivankyluk/dynamorio
that referenced
this issue
Jul 28, 2023
Adds OFFLINE_FILE_TYPE_BIMODAL_FILTERED_WARMUP for traces that are filtered before the TRACE_MARKER_TYPE_FILTER_ENDPOINT marker and unfiltered after it. Adds invariant_checker checks to make sure the new file type and the filter end-point marker are always present together, or not at all. Adds a test that the record filter adds the filter end-point marker also for threads that start after the filtering stop_timestamp. Adds a shard_count member to basic_counts_t::counters_t to make it easier to write the new test without hard-coding count of threads in the test. Fixes: DynamoRIO#6164
ivankyluk
pushed a commit
to ivankyluk/dynamorio
that referenced
this issue
Jul 29, 2023
Adds OFFLINE_FILE_TYPE_BIMODAL_FILTERED_WARMUP for traces that are filtered before the TRACE_MARKER_TYPE_FILTER_ENDPOINT marker and unfiltered after it. Adds invariant_checker checks to make sure the new file type and the filter end-point marker are always present together, or not at all. Adds a test that the record filter adds the filter end-point marker also for threads that start after the filtering stop_timestamp. Adds a shard_count member to basic_counts_t::counters_t to make it easier to write the new test without hard-coding count of threads in the test. Fixes: DynamoRIO#6164
ivankyluk
pushed a commit
to ivankyluk/dynamorio
that referenced
this issue
Jul 29, 2023
Adds OFFLINE_FILE_TYPE_BIMODAL_FILTERED_WARMUP for traces that are filtered before the TRACE_MARKER_TYPE_FILTER_ENDPOINT marker and unfiltered after it. Adds invariant_checker checks to make sure the new file type and the filter end-point marker are always present together, or not at all. Adds a test that the record filter adds the filter end-point marker also for threads that start after the filtering stop_timestamp. Adds a shard_count member to basic_counts_t::counters_t to make it easier to write the new test without hard-coding count of threads in the test. Fixes: DynamoRIO#6164
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add a pointer to any prior users list discussion.
Traces can have a mix of filtered and unfiltered records (see #5675 #5199). Currently, we assume OFFLINE_FILE_TYPE_{D,I}FILTERED after seeing TRACE_MARKER_TYPE_FILTER_ENDPOINT. A new file type suggested by @derekbruening in #5717 will make this more explicit.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. E.g., "I'm always frustrated when [...]"
Describe the solution you'd like
Describe the desired functionality and its intended usage to give some context for how it would be used.
Do you have any implementation in mind for this feature?
Describe alternatives you've considered
Is there currently a method for implementing this functionality using the existing API and this requested feature will add convenience? Or is there no method for accomplishing the desired task using the current API?
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: