diff options
author | Calvin Wan <calvinwan@google.com> | 2024-08-22 14:57:47 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-08-22 15:02:32 -0700 |
commit | db5281276ecdeeb19acea3391804e9ab1ebcd884 (patch) | |
tree | 35111a09e03ac95aee00b0ffd7426e5a27096070 /send-pack.c | |
parent | a45ab549879d0f8e2524f820796daf2f6a1f7d00 (diff) |
send-pack: add new tracing regions for push
At $DAYJOB we experienced some slow pushes and needed additional trace
data to diagnose them.
Add trace2 regions for various sections of send_pack().
Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'send-pack.c')
-rw-r--r-- | send-pack.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/send-pack.c b/send-pack.c index fa2f5eec17..9666b2c995 100644 --- a/send-pack.c +++ b/send-pack.c @@ -75,6 +75,7 @@ static int pack_objects(int fd, struct ref *refs, struct oid_array *advertised, int i; int rc; + trace2_region_enter("send_pack", "pack_objects", the_repository); strvec_push(&po.args, "pack-objects"); strvec_push(&po.args, "--all-progress-implied"); strvec_push(&po.args, "--revs"); @@ -146,8 +147,10 @@ static int pack_objects(int fd, struct ref *refs, struct oid_array *advertised, */ if (rc > 128 && rc != 141) error("pack-objects died of signal %d", rc - 128); + trace2_region_leave("send_pack", "pack_objects", the_repository); return -1; } + trace2_region_leave("send_pack", "pack_objects", the_repository); return 0; } @@ -170,6 +173,7 @@ static int receive_status(struct packet_reader *reader, struct ref *refs) int new_report = 0; int once = 0; + trace2_region_enter("send_pack", "receive_status", the_repository); hint = NULL; ret = receive_unpack_status(reader); while (1) { @@ -268,6 +272,7 @@ static int receive_status(struct packet_reader *reader, struct ref *refs) new_report = 1; } } + trace2_region_leave("send_pack", "receive_status", the_repository); return ret; } @@ -512,8 +517,11 @@ int send_pack(struct send_pack_args *args, } git_config_get_bool("push.negotiate", &push_negotiate); - if (push_negotiate) + if (push_negotiate) { + trace2_region_enter("send_pack", "push_negotiate", the_repository); get_commons_through_negotiation(args->url, remote_refs, &commons); + trace2_region_leave("send_pack", "push_negotiate", the_repository); + } if (!git_config_get_bool("push.usebitmaps", &use_bitmaps)) args->disable_bitmaps = !use_bitmaps; @@ -641,10 +649,11 @@ int send_pack(struct send_pack_args *args, /* * Finally, tell the other end! */ - if (!args->dry_run && push_cert_nonce) + if (!args->dry_run && push_cert_nonce) { cmds_sent = generate_push_cert(&req_buf, remote_refs, args, cap_buf.buf, push_cert_nonce); - else if (!args->dry_run) + trace2_printf("Generated push certificate"); + } else if (!args->dry_run) { for (ref = remote_refs; ref; ref = ref->next) { char *old_hex, *new_hex; @@ -664,6 +673,7 @@ int send_pack(struct send_pack_args *args, old_hex, new_hex, ref->name); } } + } if (use_push_options) { struct string_list_item *item; |