WIP: trace2: a new trace facility
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest8 patches 8 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | trace2: create new combined trace facilityMakefile cache.h trace2.c +1 more | +1808 | 5 replies | |
| 2/8 | trace2: add trace2 to maincompat/ git-compat-util.h git.c +4 more | +35 | 0 replies | |
| 3/8 | trace2: demonstrate trace2 regions in wt-statuswt-status.c | +12 | 0 replies | |
| 4/8 | trace2: demonstrate trace2 child process classificationeditor.c pager.c sub-process.c | +3 | 0 replies | |
| 5/8 | trace2: demonstrate instrumenting do_read_indexread-cache.c | +6 | 0 replies | |
| 6/8 | trace2: demonstrate instrumenting threaded preload_indexpreload-index.c | +10 | 0 replies | |
| 7/8 | trace2: demonstrate setting sub-command parameter in checkoutbuiltin/ | +5 | 0 replies | |
| 8/8 | trace2: demonstrate use of regions in read_directory_recursivedir.c | +3 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/8] WIP: trace2: a new trace facility
This patch series contains a new trace2 facility that hopefully addresses the recent trace- and structured-logging-related discussions. The intent is to eventually replace the existing trace_ routines (or to route them to the new trace2_ routines) as time permits.
This draft adds new trace2_ calls and leaves most of the original trace_ calls in place. Subsequent drafts will address this.
This version should be considered a replacement for my earlier structured logging patch series [1].
It addresses Jonathan Nieder's, Ben Peart's, Peff's, and Junio's comments [2,3,4,5] about merging the existing tracing routines, ease of use, progressive logging rather than logging at the end of the program, hiding all JSON details inside the trace2_ routines, and leaving an opening for additional formats (protobuf or whatever).
It also adds a nested performance tracing feature similar to Duy's suggestion in [6]. This version adds per-thread nesting and marks each event with a thread name.
[1]
https://public-inbox.org/git/[email protected]/
[2]
https://public-inbox.org/git/[email protected]/
[3]
https://public-inbox.org/git/[email protected]/
[4]
https://public-inbox.org/git/[email protected]/
[5] https://public-inbox.org/git/[email protected]/
[6] https://public-inbox.org/git/[email protected]/
Cc: [email protected]: [email protected]: [email protected]:
[email protected]: [email protected]
Jeff Hostetler (8):
trace2: create new combined trace facility
trace2: add trace2 to main
trace2: demonstrate trace2 regions in wt-status
trace2: demonstrate trace2 child process classification
trace2: demonstrate instrumenting do_read_index
trace2: demonstrate instrumenting threaded preload_index
trace2: demonstrate setting sub-command parameter in checkout
trace2: demonstrate use of regions in read_directory_recursive
Makefile | 1 + builtin/checkout.c | 5 + cache.h | 1 + compat/mingw.h | 3 +- dir.c | 3 + editor.c | 1 + git-compat-util.h | 7 + git.c | 9 +- pager.c | 1 + preload-index.c | 10 + read-cache.c | 6 + repository.c | 2 + run-command.c | 8 +- run-command.h | 5 + sub-process.c | 1 + trace2.c | 1592 ++++++++++++++++++++++++++++++++++++++++++++ trace2.h | 214 ++++++ usage.c | 5 + wt-status.c | 14 +- 19 files changed, 1882 insertions(+), 6 deletions(-) create mode 100644 trace2.c create mode 100644 trace2.h
base-commit: 2f743933341f276111103550fbf383a34dfcfd38
Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-29%2Fjeffhostetler%2Fml-trace2-v0-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-29/jeffhostetler/ml-trace2-v0-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/29
Signature · 1 line
gitgitgadget