Skip to content

Commit 178721c

Browse files
committed
trace2: emit 'def_param' set with 'cmd_name' event
Some commands do not cause a set of 'def_param' events to be emitted. This includes "git-remote-https", "git-http-fetch", and various "query" commands, like "git --man-path". Since all of these commands do emit a 'cmd_name' event, add code to the "trace2_cmd_name()" function to generate the set of 'def_param' events. Remove explicit calls to "trace2_cmd_list_config()" and "trace2_cmd_list_env_vars()" in git.c since they are no longer needed. Reviewed-by: Josh Steadmon <[email protected]> Signed-off-by: Jeff Hostetler <[email protected]>
1 parent 65068e9 commit 178721c

File tree

3 files changed

+6
-9
lines changed

3 files changed

+6
-9
lines changed

git.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -373,8 +373,6 @@ static int handle_alias(int *argcp, const char ***argv)
373373
strvec_pushv(&child.args, (*argv) + 1);
374374

375375
trace2_cmd_alias(alias_command, child.args.v);
376-
trace2_cmd_list_config();
377-
trace2_cmd_list_env_vars();
378376
trace2_cmd_name("_run_shell_alias_");
379377

380378
ret = run_command(&child);
@@ -411,8 +409,6 @@ static int handle_alias(int *argcp, const char ***argv)
411409
COPY_ARRAY(new_argv + count, *argv + 1, *argcp);
412410

413411
trace2_cmd_alias(alias_command, new_argv);
414-
trace2_cmd_list_config();
415-
trace2_cmd_list_env_vars();
416412

417413
*argv = new_argv;
418414
*argcp += count - 1;
@@ -462,8 +458,6 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
462458

463459
trace_argv_printf(argv, "trace: built-in: git");
464460
trace2_cmd_name(p->cmd);
465-
trace2_cmd_list_config();
466-
trace2_cmd_list_env_vars();
467461

468462
validate_cache_entries(the_repository->index);
469463
status = p->fn(argc, argv, prefix);

t/t0211-trace2-perf.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ test_expect_success 'expect def_params for normal builtin command' '
320320
# Representative query command dispatched in handle_options()
321321
# in git.c
322322
#
323-
test_expect_failure 'expect def_params for query command' '
323+
test_expect_success 'expect def_params for query command' '
324324
try_simple "git --man-path" "_query_"
325325
'
326326

@@ -337,7 +337,7 @@ test_expect_failure 'expect def_params for query command' '
337337
# remote-curl.c rather than git.c. Confirm that we get def_param
338338
# events from both layers.
339339
#
340-
test_expect_failure 'expect def_params for remote-curl and _run_dashed_' '
340+
test_expect_success 'expect def_params for remote-curl and _run_dashed_' '
341341
test_when_finished "rm prop.perf actual" &&
342342
343343
test_config_global "trace2.configParams" "cfg.prop.*" &&
@@ -366,7 +366,7 @@ test_expect_failure 'expect def_params for remote-curl and _run_dashed_' '
366366
# an executable built from http-fetch.c. Confirm that we get
367367
# def_param events from both layers.
368368
#
369-
test_expect_failure 'expect def_params for http-fetch and _run_dashed_' '
369+
test_expect_success 'expect def_params for http-fetch and _run_dashed_' '
370370
test_when_finished "rm prop.perf actual" &&
371371
372372
test_config_global "trace2.configParams" "cfg.prop.*" &&

trace2.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,9 @@ void trace2_cmd_name_fl(const char *file, int line, const char *name)
433433
for_each_wanted_builtin (j, tgt_j)
434434
if (tgt_j->pfn_command_name_fl)
435435
tgt_j->pfn_command_name_fl(file, line, name, hierarchy);
436+
437+
trace2_cmd_list_config();
438+
trace2_cmd_list_env_vars();
436439
}
437440

438441
void trace2_cmd_mode_fl(const char *file, int line, const char *mode)

0 commit comments

Comments
 (0)