[RFC PATCH 0/6] Use trace2 in commit-reach
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Sep 6, 2018, 15:13 UTC
- Message-ID
- <20180906151309.66712-1-dstolee@microsoft.com>
- In-Reply-To
- <2ba9d81a-5578-a81c-a7d9-179864cb4277@gmail.com>
As promised, here is the direction I took when applying the trace2 feature to the walking code in commit-reach.c. Hence, this depends on Jeff's trace2 patches and ds/reachable.
There are multiple benefits to the approach I take here:
1. If a user has performance problems, we can rerun the command with tracing on and get the region enter/leave notifications and the extra data like "num_walked".
2. While I was testing this series against real-world examples, I found a number I didn't expect. The numbers for can_all_from_reach_with_flags were much higher than I expected. Turns out the heuristic I wrote was not working correctly. With the trace2 library, I was able to add a "run_and_check_trace2" function in test-lib.sh so I could make the number of walked commits be a condition we check in the test. Then, the benefit we expect is demonstrated by the test suite when I fix the bug.
Thanks, -Stolee
P.S. I'm sending this RFC from gmail because I'm having SMTP issues with my work email.
Derrick Stolee (6): commit-reach: add trace2 telemetry and walk count comit-reach: use trace2 for commit_contains_tag_algo commit-reach: use trace2 in can_all_from_reach test-tool: start trace2 environment test-lib: add run_and_check_trace2 commit-reach: fix first-parent heuristic
commit-reach.c | 32 ++++++++++++++++++++++++++++++-- t/helper/test-tool.c | 3 +++ t/t6600-test-reach.sh | 6 ++++++ t/test-lib.sh | 14 ++++++++++++++ 4 files changed, 53 insertions(+), 2 deletions(-)
-- 2.19.0-rc2