[PATCH 0/9] Trace2 timers and counters and some cleanup
- From
- Jeff Hostetler via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Oct 4, 2022, 16:19 UTC
- Message-ID
- <pull.1373.git.1664900407.gitgitgadget@gmail.com>
This patch series add stopwatch timers and global counters to the trace2 logging facility. It also does a little housecleaning.
This is basically a rewrite of the series that I submitted back in December 2021: [1] and [2]. Hopefully, it addresses all of the concerns raised back then and does it in a way that avoids the issues that stalled that effort.
First we start with a few housecleaning commits:
* The first 2 commits are unrelated to this effort, but were required to get the existing code to compile on my Mac with Clang 11.0.0 with DEVELOPER=1. Those can be dropped if there is a better way to do this.
* The 3rd commit is in response a concern about using int rather than size_t for nr and alloc in an ALLOC_GROW() in existing trace2 code.
* The 4th commit cleans up my use of the term "TLS" in my thread code.
* The 5th and 6th commits (hopefully) clear up the misunderstandings around the thread_name variable in my thread context structures. My earlier attempts to clean and clarify this led to most of the controversies in the earlier patch series. Hopefully, these 2 commits will improve the clarify matters.
* The 7th commit cleans up a mostly obsolete section in the trace2 API documentation.
Finally, the last 2 commits add the stopwatch timers and the global counters.
[1] https://lore.kernel.org/git/pull.1099.git.1640012469.gitgitgadget@gmail.com/ [2] https://lore.kernel.org/git/pull.1099.v2.git.1640720202.gitgitgadget@gmail.com/
Jeff Hostetler (9):
builtin/merge-file: fix compiler warning on MacOS with clang 11.0.0
builtin/unpack-objects.c: fix compiler warning on MacOS with clang
11.0.0
trace2: use size_t alloc,nr_open_regions in tr2tls_thread_ctx
tr2tls: clarify TLS terminology
trace2: rename trace2 thread_name argument as name_hint
trace2: convert ctx.thread_name to flex array
api-trace2.txt: elminate section describing the public trace2 API
trace2: add stopwatch timers
trace2: add global counter mechanismDocumentation/technical/api-trace2.txt | 190 +++++++++++++++++-------- Makefile | 2 + builtin/merge-file.c | 4 +- builtin/unpack-objects.c | 2 +- t/helper/test-trace2.c | 187 ++++++++++++++++++++++++ t/t0211-trace2-perf.sh | 95 +++++++++++++ t/t0211/scrub_perf.perl | 6 + trace2.c | 121 +++++++++++++++- trace2.h | 101 +++++++++++-- trace2/tr2_ctr.c | 101 +++++++++++++ trace2/tr2_ctr.h | 104 ++++++++++++++ trace2/tr2_tgt.h | 14 ++ trace2/tr2_tgt_event.c | 47 +++++- trace2/tr2_tgt_normal.c | 39 +++++ trace2/tr2_tgt_perf.c | 49 ++++++- trace2/tr2_tls.c | 43 +++--- trace2/tr2_tls.h | 52 ++++--- trace2/tr2_tmr.c | 182 +++++++++++++++++++++++ trace2/tr2_tmr.h | 140 ++++++++++++++++++ 19 files changed, 1366 insertions(+), 113 deletions(-) create mode 100644 trace2/tr2_ctr.c create mode 100644 trace2/tr2_ctr.h create mode 100644 trace2/tr2_tmr.c create mode 100644 trace2/tr2_tmr.h
base-commit: 3dcec76d9df911ed8321007b1d197c1a206dc164 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1373%2Fjeffhostetler%2Ftrace2-stopwatch-v4-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1373/jeffhostetler/trace2-stopwatch-v4-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/1373
-- gitgitgadget