Now that we've factored out "call_{advertise,command}()" in a preceding commit it becomes easy to trace all these callbacks with trace2. Let's do that. As the tests demonstrate there's no v2 push protocol, which the tests assert. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- serve.c | 24 ++++++++++++++++++++++-- t/t5705-session-id-in-capabilities.sh | 16 ++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/serve.c b/serve.c index 85cd3eab26e..6dbd05248b9 100644 --- a/serve.c +++ b/serve.c @@ -111,14 +111,34 @@ static struct protocol_capability capabilities[] = { static int call_advertise(struct protocol_capability *command, struct repository *r, struct strbuf *value) { - return command->advertise(r, value); + int ret; + struct strbuf sb = STRBUF_INIT; + const char *msg; + + strbuf_addf(&sb, "advertise/%s", command->name); + trace2_region_enter("serve", sb.buf, r); + ret = command->advertise(r, value); + msg = ret ? "advertised" : "hidden"; + trace2_region_leave_printf("serve", sb.buf, r, "%s", msg); + strbuf_release(&sb); + + return ret; } static int call_command(struct protocol_capability *command, struct repository *r, struct strvec *keys, struct packet_reader *request) { - return command->command(r, keys, request); + int ret; + struct strbuf sb = STRBUF_INIT; + + strbuf_addf(&sb, "command/%s", command->name); + trace2_region_enter("serve", sb.buf, r); + ret = command->command(r, keys, request); + trace2_region_leave("serve", sb.buf, r); + strbuf_release(&sb); + + return ret; } static void advertise_capabilities(void) diff --git a/t/t5705-session-id-in-capabilities.sh b/t/t5705-session-id-in-capabilities.sh index f1d189d5bcc..cda78fa7a1d 100755 --- a/t/t5705-session-id-in-capabilities.sh +++ b/t/t5705-session-id-in-capabilities.sh @@ -57,7 +57,13 @@ do --upload-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-upload-pack" \ origin && grep \"key\":\"server-sid\" tr2-client-events && - grep \"key\":\"client-sid\" tr2-server-events + grep \"key\":\"client-sid\" tr2-server-events && + + if test "$PROTO" = 2 + then + grep \"event\":\"region_enter\".*\"category\":\"serve\" tr2-server-events && + grep \"event\":\"region_leave\".*\"category\":\"serve\" tr2-server-events + fi ' test_expect_success "session IDs advertised (push v${PROTO})" ' @@ -71,7 +77,13 @@ do --receive-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-receive-pack" \ origin HEAD:new-branch && grep \"key\":\"server-sid\" tr2-client-events && - grep \"key\":\"client-sid\" tr2-server-events + grep \"key\":\"client-sid\" tr2-server-events && + + if test "$PROTO" = 2 + then + ! grep \"event\":\"region_enter\".*\"category\":\"serve\" tr2-server-events && + ! grep \"event\":\"region_leave\".*\"category\":\"serve\" tr2-server-events + fi ' done -- 2.32.0.611.gd4a17395dfa