-
Notifications
You must be signed in to change notification settings - Fork 561
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#6643: Add finalize_interval_snapshots API to analysis_tool_t (#6664)
Adds a new finalize_interval_snapshots API to analysis_tool_t. This is invoked with the list of shard-local interval state snapshots for each shard separately in the parallel mode, or the whole-trace ones in serial mode. This allows the tool the opportunity to make any required holistic adjustments to the snapshots since now all of the snapshots can be observed together; e.g., computing diffs with the prior snapshot. This is invoked before the shard-local snapshots are possibly combined to create whole-trace snapshots, and before the snapshots are passed to print_interval_results. Adds unit tests for the new API to the existing tool.drcacheoff.trace_interval_analysis_unit_tests tests. Refactors some existing code to accumulate the interval snapshots in an std::vector instead of an std::queue. This adds some more complexity to the merge_shard_interval_results implementation, but is better because now we have more usages where an std::vector is needed (and we want to avoid a back-and-forth conversion between a queue and a vector). Augments various documentation to provide more details about intended usages of the interval APIs. Notably: documented the new finalize_interval_snapshots API, and that modifications made after the combine_interval_snapshots API has been invoked do not have any effect). Issue: #6643, #6020
- Loading branch information
1 parent
4bf1163
commit 41b55f2
Showing
5 changed files
with
227 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.