diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-08-30 10:58:50 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-08-30 10:58:50 -0700 |
commit | 594d2d454755bedd85c5bcb9fb5dc59990592087 (patch) | |
tree | 0bd89a2d31c11cbb29323b46057b741ef26e7139 /technical | |
parent | 4155e41e0e67c0ac9309aa68dfc46bd49902ebd2 (diff) | |
download | git-htmldocs-594d2d454755bedd85c5bcb9fb5dc59990592087.tar.gz |
Autogenerated HTML docs for v2.37.3-446-gd42b38
Diffstat (limited to 'technical')
-rw-r--r-- | technical/api-trace2.html | 45 | ||||
-rw-r--r-- | technical/api-trace2.txt | 40 | ||||
-rw-r--r-- | technical/scalar.txt | 17 |
3 files changed, 94 insertions, 8 deletions
diff --git a/technical/api-trace2.html b/technical/api-trace2.html index c28fe02c3..b04dcc5eb 100644 --- a/technical/api-trace2.html +++ b/technical/api-trace2.html @@ -1643,6 +1643,7 @@ not be compared to the child’s atexit times.</p></div> <pre><code>{
"event":"def_param",
...
+ "scope":"global",
"param":"core.abbrev",
"value":"7"
}</code></pre>
@@ -2172,6 +2173,48 @@ at offset 508.</p></div> <div class="paragraph"><p>This example also shows that thread names are assigned in a racy manner
as each thread starts and allocates TLS storage.</p></div>
</dd>
+<dt class="hdlist1">
+Config (def param) Events
+</dt>
+<dd>
+<p>
+ Dump "interesting" config values to trace2 log.
+</p>
+<div class="paragraph"><p>We can optionally emit configuration events, see
+<code>trace2.configparams</code> in <a href="../git-config.html">git-config(1)</a> for how to enable
+it.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ git config --system color.ui never
+$ git config --global color.ui always
+$ git config --local color.ui auto
+$ git config --list --show-scope | grep 'color.ui'
+system color.ui=never
+global color.ui=always
+local color.ui=auto</code></pre>
+</div></div>
+<div class="paragraph"><p>Then, mark the config <code>color.ui</code> as "interesting" config with
+<code>GIT_TRACE2_CONFIG_PARAMS</code>:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ 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 | | | | scope:system | color.ui:never
+d0 | main | def_param | | | | scope:global | color.ui:always
+d0 | main | def_param | | | | scope:local | 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.000470 | | | code:0
+d0 | main | atexit | | 0.000477 | | | code:0</code></pre>
+</div></div>
+</dd>
</dl></div>
</div>
</div>
@@ -2216,7 +2259,7 @@ Trace2 targets (and convert <key> to a "category"). <div id="footer">
<div id="footer-text">
Last updated
- 2022-06-10 15:52:52 PDT
+ 2022-08-30 10:56:31 PDT
</div>
</div>
</body>
diff --git a/technical/api-trace2.txt b/technical/api-trace2.txt index 77a150b30..2afa28bb5 100644 --- a/technical/api-trace2.txt +++ b/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,45 @@ at offset 508. This example also shows that thread names are assigned in a racy manner as each thread starts and allocates TLS storage. +Config (def param) Events:: + + Dump "interesting" config values to trace2 log. ++ +We can optionally emit configuration events, see +`trace2.configparams` in linkgit:git-config[1] for how to enable +it. ++ +---------------- +$ git config --system color.ui never +$ git config --global color.ui always +$ git config --local color.ui auto +$ git config --list --show-scope | grep 'color.ui' +system color.ui=never +global color.ui=always +local 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 | | | | scope:system | color.ui:never +d0 | main | def_param | | | | scope:global | color.ui:always +d0 | main | def_param | | | | scope:local | 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.000470 | | | code:0 +d0 | main | atexit | | 0.000477 | | | code:0 +---------------- == Future Work === Relationship to the Existing Trace Api (api-trace.txt) diff --git a/technical/scalar.txt b/technical/scalar.txt index f6353375f..0600150b3 100644 --- a/technical/scalar.txt +++ b/technical/scalar.txt @@ -87,17 +87,20 @@ series have been accepted: - `scalar-generalize-diagnose`: Move the functionality of `scalar diagnose` into `git diagnose` and `git bugreport --diagnose`. +- 'scalar-add-fsmonitor: Enable the built-in FSMonitor in Scalar + enlistments. At the end of this series, Scalar should be feature-complete + from the perspective of a user. + Roughly speaking (and subject to change), the following series are needed to "finish" this initial version of Scalar: -- Finish Scalar features: Enable the built-in FSMonitor in Scalar enlistments - and implement `scalar help`. At the end of this series, Scalar should be - feature-complete from the perspective of a user. - - Move Scalar to toplevel: Move Scalar out of `contrib/` and into the root of - `git`, including updates to build and install it with the rest of Git. This - change will incorporate Scalar into the Git CI and test framework, as well as - expand regression and performance testing to ensure the tool is stable. + `git`. This includes a variety of related updates, including: + - building & installing Scalar in the Git root-level 'make [install]'. + - builing & testing Scalar as part of CI. + - moving and expanding test coverage of Scalar (including perf tests). + - implementing 'scalar help'/'git help scalar' to display scalar + documentation. Finally, there are two additional patch series that exist in Microsoft's fork of Git, but there is no current plan to upstream them. There are some interesting |