All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jeff Hostetler via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Jeff Hostetler <jeffhostetler@github.com>
Subject: [PATCH 0/4] trace2: move 'def_param' events into 'cmd_name' and 'cmd_alias'
Date: Mon, 04 Mar 2024 15:40:04 +0000	[thread overview]
Message-ID: <pull.1679.git.1709566808.gitgitgadget@gmail.com> (raw)

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

             reply	other threads:[~2024-03-04 15:40 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-04 15:40 Jeff Hostetler via GitGitGadget [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=pull.1679.git.1709566808.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jeffhostetler@github.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.