RHGitaly ListLastCommitsForTree
Everything is in place for oxidation of this one, as the core logic is the same as in LastCommitForPath
.
It is currently one of the most frequently called HGitaly methods, and is very slow. Here is an excerpt of foss.h.n statistics about the last 8 hours:
hgitaly-stats log/hgitaly.log --since 2024-07-08T01:29:26.589849 | head
TOTAL Requests since 2024-07-08 01:29:28,826: 6254
239 incomplete (cancelled or failed)
Breakdown:
38.0% FindCommits (called=2392, incomplete=121, average_time=502.8ms, worst_decile=861.6ms)
13.0% ListLastCommitsForTree (called=830, incomplete=0, average_time=2554.3ms, worst_decile=6354.9ms)
hence can induce worker starvation. Also has a great impact on user experience (browsing repositories, including projects default home page)