From: "Jeff Hostetler via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: jeffhost@microsoft.com, Junio C Hamano <gitster@pobox.com>
Subject: [PATCH 0/8] WIP: trace2: a new trace facility
Date: Fri, 31 Aug 2018 09:49:53 -0700 (PDT) [thread overview]
Message-ID: <pull.29.git.gitgitgadget@gmail.com> (raw)
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/20180713165621.52017-1-git@jeffhostetler.com/
[2]
https://public-inbox.org/git/20180821044724.GA219616@aiede.svl.corp.google.com/
[3]
https://public-inbox.org/git/13302a8c-a114-c3a7-65df-55f47f902126@gmail.com/
[4]
https://public-inbox.org/git/20180814195456.GE28452@sigill.intra.peff.net/
[5] https://public-inbox.org/git/xmqqeff0zn53.fsf@gitster-ct.c.googlers.com/
[6] https://public-inbox.org/git/20180818144128.19361-2-pclouds@gmail.com/
Cc: gitster@pobox.comCc: peff@peff.netCc: peartben@gmail.comCc:
jrnieder@gmail.comCc: pclouds@gmail.com
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
--
gitgitgadget
next reply other threads:[~2018-08-31 16:49 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-31 16:49 Jeff Hostetler via GitGitGadget [this message]
2018-08-31 16:49 ` [PATCH 1/8] trace2: create new combined trace facility Jeff Hostetler via GitGitGadget
2018-08-31 17:19 ` Derrick Stolee
2018-09-04 22:12 ` Stefan Beller
2018-09-04 22:30 ` Junio C Hamano
2018-09-05 15:51 ` Jeff Hostetler
2018-09-05 15:01 ` Jeff Hostetler
2018-08-31 16:49 ` [PATCH 2/8] trace2: add trace2 to main Jeff Hostetler via GitGitGadget
2018-08-31 16:49 ` [PATCH 3/8] trace2: demonstrate trace2 regions in wt-status Jeff Hostetler via GitGitGadget
2018-08-31 16:49 ` [PATCH 4/8] trace2: demonstrate trace2 child process classification Jeff Hostetler via GitGitGadget
2018-08-31 16:50 ` [PATCH 5/8] trace2: demonstrate instrumenting do_read_index Jeff Hostetler via GitGitGadget
2018-08-31 16:50 ` [PATCH 6/8] trace2: demonstrate instrumenting threaded preload_index Jeff Hostetler via GitGitGadget
2018-08-31 16:50 ` [PATCH 7/8] trace2: demonstrate setting sub-command parameter in checkout Jeff Hostetler via GitGitGadget
2018-08-31 16:50 ` [PATCH 8/8] trace2: demonstrate use of regions in read_directory_recursive Jeff Hostetler via GitGitGadget
2018-08-31 17:19 ` [PATCH 0/8] WIP: trace2: a new trace facility Derrick Stolee
2018-09-06 15:13 ` [RFC PATCH 0/6] Use trace2 in commit-reach Derrick Stolee
2018-09-06 15:13 ` [RFC PATCH 1/6] commit-reach: add trace2 telemetry and walk count Derrick Stolee
2018-09-06 15:13 ` [RFC PATCH 2/6] comit-reach: use trace2 for commit_contains_tag_algo Derrick Stolee
2018-09-06 15:13 ` [RFC PATCH 3/6] commit-reach: use trace2 in can_all_from_reach Derrick Stolee
2018-09-06 15:13 ` [RFC PATCH 4/6] test-tool: start trace2 environment Derrick Stolee
2018-09-06 15:13 ` [RFC PATCH 5/6] test-lib: add run_and_check_trace2 Derrick Stolee
2018-09-06 15:13 ` [RFC PATCH 6/6] commit-reach: fix first-parent heuristic Derrick Stolee
2018-10-11 1:50 ` Jonathan Nieder
2018-10-11 11:00 ` Derrick Stolee
2019-01-15 1:05 ` [PATCH 0/8] WIP: trace2: a new trace facility Jonathan Nieder
2019-01-15 17:03 ` Jeff Hostetler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.29.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jeffhost@microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).