Re: [PATCH v1 1/2] api-trace2.txt: print config key-value pair
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jul 22, 2022, 10:59 UTC
- Message-ID
- <220722.86fsits91m.gmgdl@evledraar.gmail.com>
- In-Reply-To
- <32f8b9ae6bb6aff0ce55ee494c4c0d40c672752b.1658472474.git.dyroneteng@gmail.com>
On Fri, Jul 22 2022, tenglong.tl wrote:
Show 35 quoted lines
> From: Teng Long <dyroneteng@gmail.com>
>
> It's supported to print "interesting" config key-value paire
> to tr2 log by setting "GIT_TRACE2_CONFIG_PARAMS" environment
> variable and the "trace2.configparam" config, let's add the
> related docs in Documentaion/technical/api-trace2.txt.
>
> Signed-off-by: Teng Long <dyroneteng@gmail.com>
> ---
> Documentation/technical/api-trace2.txt | 32 ++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/Documentation/technical/api-trace2.txt b/Documentation/technical/api-trace2.txt
> index 77a150b30e..ddc0bfb9c9 100644
> --- a/Documentation/technical/api-trace2.txt
> +++ b/Documentation/technical/api-trace2.txt
> @@ -717,6 +717,7 @@ The "exec_id" field is a command-unique id and is only useful if the
> {
> "event":"def_param",
> ...
> + "scope":"global",
> "param":"core.abbrev",
> "value":"7"
> }
> @@ -1207,6 +1208,37 @@ at offset 508.
> This example also shows that thread names are assigned in a racy manner
> as each thread starts and allocates TLS storage.
>
> +Print Configs::
> +
> + Dump "interesting" config values to trace2 log.
> ++
> +The environment variable `GIT_TRACE2_CONFIG_PARAMS` and configuration
> +`trace2.configparams` can be used to output config values which you care
> +about(see linkgit:git-config[1). For example:I didn't notice this before, but this is an addition to a long section where the examples are ------- delimited, starting with "in this example.." usually.
So this "print configs" seems like on odd continuation. Shouldn't this copy the template of "Thread Events::" above. I.e. something like (I have not tried to asciidoc render this): Config (def param) Events:: We can optionally emit configuration events, see `trace2.configParams` in linkgit:git-config[1] for how to enable it. + < your example below would follow this>
I.e. re my earlier mention of git-config we it explains GIT_TRACE2_CONFIG_PARAMS, so perhaps it suffices to just link to linkgit:git-config[1] for that.
Also a nit: trace2.configParams, not trace2.configparams.
Show 27 quoted lines
> ++ > +---------------- > +$ git config color.ui auto > +---------------- > ++ > +Then, mark the config `color.ui` as "interesting" config with > +`GIT_TRACE2_CONFIG_PARAMS`: > ++ > +---------------- > +$ export GIT_TRACE2_PERF_BRIEF=1 > +$ export GIT_TRACE2_PERF=~/log.perf > +$ export GIT_TRACE2_CONFIG_PARAMS=color.ui > +$ git version > +... > +$ cat ~/log.perf > +d0 | main | version | | | | | ... > +d0 | main | start | | 0.001642 | | | /usr/local/bin/git version > +d0 | main | cmd_name | | | | | version (version) > +d0 | main | def_param | | | | | color.ui:auto > +d0 | main | data | r0 | 0.002100 | 0.002100 | fsync | fsync/writeout-only:0 > +d0 | main | data | r0 | 0.002126 | 0.002126 | fsync | fsync/hardware-flush:0 > +d0 | main | exit | | 0.002142 | | | code:0 > +d0 | main | atexit | | 0.002161 | | | code:0 > +---------------- > == Future Work > > === Relationship to the Existing Trace Api (api-trace.txt)