diff options
author | Josh Steadmon <steadmon@google.com> | 2019-10-02 16:49:28 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-10-03 10:13:17 +0900 |
commit | 5fc31180d87c5f20c4cdfb89f93daf77c3bd50a1 (patch) | |
tree | cf7704eb78c9050bd42ed40031232c5ff644dfa5 /builtin | |
parent | Fourth batch (diff) | |
download | tgif-5fc31180d87c5f20c4cdfb89f93daf77c3bd50a1.tar.xz |
fetch: add trace2 instrumentation
Add trace2 regions to fetch-pack.c and builtins/fetch.c to better track
time spent in the various phases of a fetch:
* listing refs
* negotiation for protocol versions v0-v2
* fetching refs
* consuming refs
Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/fetch.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c index 67c0eb88c6..ee3dc085bb 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1071,8 +1071,11 @@ static int check_exist_and_connected(struct ref *ref_map) static int fetch_refs(struct transport *transport, struct ref *ref_map) { int ret = check_exist_and_connected(ref_map); - if (ret) + if (ret) { + trace2_region_enter("fetch", "fetch_refs", the_repository); ret = transport_fetch_refs(transport, ref_map); + trace2_region_leave("fetch", "fetch_refs", the_repository); + } if (!ret) /* * Keep the new pack's ".keep" file around to allow the caller @@ -1088,11 +1091,14 @@ static int consume_refs(struct transport *transport, struct ref *ref_map) { int connectivity_checked = transport->smart_options ? transport->smart_options->connectivity_checked : 0; - int ret = store_updated_refs(transport->url, - transport->remote->name, - connectivity_checked, - ref_map); + int ret; + trace2_region_enter("fetch", "consume_refs", the_repository); + ret = store_updated_refs(transport->url, + transport->remote->name, + connectivity_checked, + ref_map); transport_unlock_pack(transport); + trace2_region_leave("fetch", "consume_refs", the_repository); return ret; } @@ -1337,9 +1343,11 @@ static int do_fetch(struct transport *transport, argv_array_push(&ref_prefixes, "refs/tags/"); } - if (must_list_refs) + if (must_list_refs) { + trace2_region_enter("fetch", "remote_refs", the_repository); remote_refs = transport_get_remote_refs(transport, &ref_prefixes); - else + trace2_region_leave("fetch", "remote_refs", the_repository); + } else remote_refs = NULL; argv_array_clear(&ref_prefixes); |