api-trace2.txt: print config key-value pair
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Teng Long committed
Aug 12, 2022 at 10:56 UTC
050d0dc241376a5db083f24e739d5ecabcfaf2dc
1 file changed
+31
Documentation/technical/api-trace2.txt
+31
@@ -1207,6 +1207,37 @@ at offset 508.
1207
This example also shows that thread names are assigned in a racy manner
1208
as each thread starts and allocates TLS storage.
1209
1210
+Config (def param) Events::
1211
+
1212
+ Dump "interesting" config values to trace2 log.
1213
++
1214
+We can optionally emit configuration events, see
1215
+`trace2.configparams` in linkgit:git-config[1] for how to enable
1216
+it.
1217
++
1218
+----------------
1219
+$ git config color.ui auto
1220
+----------------
1221
++
1222
+Then, mark the config `color.ui` as "interesting" config with
1223
+`GIT_TRACE2_CONFIG_PARAMS`:
1224
++
1225
+----------------
1226
+$ export GIT_TRACE2_PERF_BRIEF=1
1227
+$ export GIT_TRACE2_PERF=~/log.perf
1228
+$ export GIT_TRACE2_CONFIG_PARAMS=color.ui
1229
+$ git version
1230
+...
1231
+$ cat ~/log.perf
1232
+d0 | main | version | | | | | ...
1233
+d0 | main | start | | 0.001642 | | | /usr/local/bin/git version
1234
+d0 | main | cmd_name | | | | | version (version)
1235
+d0 | main | def_param | | | | | color.ui:auto
1236
+d0 | main | data | r0 | 0.002100 | 0.002100 | fsync | fsync/writeout-only:0
1237
+d0 | main | data | r0 | 0.002126 | 0.002126 | fsync | fsync/hardware-flush:0
1238
+d0 | main | exit | | 0.002142 | | | code:0
1239
+d0 | main | atexit | | 0.002161 | | | code:0
1240
+----------------
1241
== Future Work
1242
1243
=== Relationship to the Existing Trace Api (api-trace.txt)