git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] trace2: move 'def_param' events into 'cmd_name' and 'cmd_alias'
@ 2024-03-04 15:40 Jeff Hostetler via GitGitGadget
  2024-03-04 15:40 ` [PATCH 1/4] t0211: demonstrate missing 'def_param' events for certain commands Jeff Hostetler via GitGitGadget
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Jeff Hostetler via GitGitGadget @ 2024-03-04 15:40 UTC (permalink / raw)
  To: git; +Cc: Jeff Hostetler

Some Git commands do not emit def_param events for interesting config and
environment variable settings. Let's fix that.

Builtin commands compiled into git.c have the normal control flow and emit a
cmd_name event and then def_param events for each interesting config and
environment variable. However, some special "query" commands, like
--exec-path, or some forms of alias expansion, emitted a cmd_name but did
not emit def_param events.

Also, special commands git-remote-https is built from remote-curl.c and
git-http-fetch is built from http-fetch.c and do not use the normal set up
in git.c. These emitted a cmd_name but not def_param events.

To minimize the footprint of this commit, move the calls to
trace2_cmd_list_config() and trace2_cmd_list_env_vars() into
trace2_cmd_name() and trace2_cmd_alias() so that we always get a set
def_param events when a cmd_name or cmd_alias event is generated.

Users can define local config settings on a repo to classify/name a repo
(e.g. "project-foo" vs "personal") and use the def_param feature to label
Trace2 data so that (a third-party) telemetry service does not collect data
on personal repos or so that telemetry from one work repo is distinguishable
from another work repo.

Jeff Hostetler (4):
  t0211: demonstrate missing 'def_param' events for certain commands
  trace2: avoid emitting 'def_param' set more than once
  trace2: emit 'def_param' set with 'cmd_name' event
  trace2: remove unneeded calls to generate 'def_param' set

 git.c                  |   6 --
 t/t0211-trace2-perf.sh | 231 +++++++++++++++++++++++++++++++++++++++++
 trace2.c               |  15 +++
 3 files changed, 246 insertions(+), 6 deletions(-)


base-commit: 0f9d4d28b7e6021b7e6db192b7bf47bd3a0d0d1d
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1679%2Fjeffhostetler%2Falways-emit-def-param-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1679/jeffhostetler/always-emit-def-param-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1679
-- 
gitgitgadget

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-03-07 15:22 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-04 15:40 [PATCH 0/4] trace2: move 'def_param' events into 'cmd_name' and 'cmd_alias' Jeff Hostetler via GitGitGadget
2024-03-04 15:40 ` [PATCH 1/4] t0211: demonstrate missing 'def_param' events for certain commands Jeff Hostetler via GitGitGadget
2024-03-04 15:40 ` [PATCH 2/4] trace2: avoid emitting 'def_param' set more than once Jeff Hostetler via GitGitGadget
2024-03-04 15:40 ` [PATCH 3/4] trace2: emit 'def_param' set with 'cmd_name' event Jeff Hostetler via GitGitGadget
2024-03-04 15:40 ` [PATCH 4/4] trace2: remove unneeded calls to generate 'def_param' set Jeff Hostetler via GitGitGadget
2024-03-06 21:47   ` Josh Steadmon
2024-03-06 21:57     ` Junio C Hamano
2024-03-06 22:54       ` Jeff Hostetler
2024-03-06 23:00         ` Junio C Hamano
2024-03-07 15:22 ` [PATCH v2 0/3] trace2: move generation of 'def_param' events into code for 'cmd_name' Jeff Hostetler via GitGitGadget
2024-03-07 15:22   ` [PATCH v2 1/3] t0211: demonstrate missing 'def_param' events for certain commands Jeff Hostetler via GitGitGadget
2024-03-07 15:22   ` [PATCH v2 2/3] trace2: avoid emitting 'def_param' set more than once Jeff Hostetler via GitGitGadget
2024-03-07 15:22   ` [PATCH v2 3/3] trace2: emit 'def_param' set with 'cmd_name' event Jeff Hostetler via GitGitGadget

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).