[PATCH 07/14] trace2:data: add trace2 transport child classification

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 child classification for transport processes. Signed-off-by: Jeff Hostetler --- connect.c | 3 +++ transport-helper.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/connect.c b/connect.c index 24281b6082..3c6f829a05 100644 --- a/connect.c +++ b/

[PATCH 02/14] trace2: create new combined trace facility

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create a new unified tracing facility for git. The eventual intent is to replace the current trace_printf* and trace_performance* routines with a unified set of git_trace2* routines. In addition to the usual printf-style API, trace2 provides higer-level event verbs with fix

[PATCH 00/14] Trace2 tracing facility

2019-01-22 Thread Jeff Hostetler via GitGitGadget
This patch series contains a greatly refactored version of my original Trace2 series [1] from August 2018. A new design doc in Documentation/technical/api-trace2.txt (in the first commit) explains the relationship of Trace2 to the current tracing facility. Calls to the current tracing facility hav

[PATCH 14/14] trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create unit tests for Trace2. Signed-off-by: Jeff Hostetler --- Makefile | 1 + t/helper/test-tool.c | 1 + t/helper/test-tool.h | 1 + t/helper/test-trace2.c| 273 ++ t/t0210-trace2-normal.sh | 135

[PATCH 08/14] trace2:data: add trace2 hook classification

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Classify certain child processes as hooks. Signed-off-by: Jeff Hostetler --- builtin/am.c | 1 + builtin/receive-pack.c | 4 builtin/worktree.c | 1 + sequencer.c| 2 ++ transport.c| 1 + 5 files changed, 9 insertions(+) diff --g

[PATCH 01/14] trace2: Documentation/technical/api-trace2.txt

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Created design document for Trace2 feature. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 1158 1 file changed, 1158 insertions(+) create mode 100644 Documentation/technical/api-trace2.txt diff --git a/Documentation/t

[PATCH 13/14] trace2:data: add subverb for rebase

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/rebase.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/builtin/rebase.c b/builtin/rebase.c index 00de70365e..aac0d52ade 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -819,6 +819,16 @@ int cmd_reb

[PATCH 05/14] trace2:data: add editor/pager child classification

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 process classification for editor and pager child processes. Signed-off-by: Jeff Hostetler --- editor.c | 1 + pager.c | 1 + 2 files changed, 2 insertions(+) diff --git a/editor.c b/editor.c index c985eee1f9..71547674ab 100644 --- a/editor.c +++ b/editor.c @@

[PATCH 12/14] trace2:data: add subverb to reset command

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/reset.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/builtin/reset.c b/builtin/reset.c index 59898c972e..b65b4a66db 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -340,6 +340,7 @@ int cmd_reset(int argc, const ch

[PATCH 03/14] trace2: collect platform-specific process information

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add optional platform-specific code to log information about the current process. On Windows, this includes whether git.exe is running under a debugger and information about the ancestors of the process. The purpose of this information is to help indicate if the process was

[PATCH 04/14] trace2:data: add trace2 regions to wt-status

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2_region_enter() and trace2_region_leave() calls around the various phases of a status scan. This gives elapsed time for each phase in the GIT_TR2_PERF and GIT_TR2_EVENT trace target. Also, these Trace2 calls now use s->repo rather than the_repository. Signed-off-

[PATCH 09/14] trace2:data: add trace2 instrumentation to index read/write

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 events to measure reading and writing the index. Signed-off-by: Jeff Hostetler --- read-cache.c | 47 ++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/read-cache.c b/read-cache.c index bfff271a3d..f6d8

[PATCH 06/14] trace2:data: add trace2 sub-process classification

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 classification for long-running processes started in sub-process.c Signed-off-by: Jeff Hostetler --- sub-process.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sub-process.c b/sub-process.c index 8d2a1707cf..3f4af93555 100644 --- a/sub-process.c +++ b/sub

[PATCH 11/14] trace2:data: add subverb to checkout command

2019-01-22 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/checkout.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/builtin/checkout.c b/builtin/checkout.c index 6fadf412e8..8939ae99ed 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -262,6 +262,8 @@ static int check

[PATCH v2 05/14] trace2:data: add editor/pager child classification

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 process classification for editor and pager child processes. Signed-off-by: Jeff Hostetler --- editor.c | 1 + pager.c | 1 + 2 files changed, 2 insertions(+) diff --git a/editor.c b/editor.c index c985eee1f9..71547674ab 100644 --- a/editor.c +++ b/editor.c @@

[PATCH v2 00/14] Trace2 tracing facility

2019-01-28 Thread Jeff Hostetler via GitGitGadget
V2 addresses: [] "jh/trace2" bad interaction with "js/vsts-ci" in "pu". [] coccinelle warnings in trace2/tr2_tgt_perf.c reported during CI testing. This patch series contains a greatly refactored version of my original

[PATCH v2 03/14] trace2: collect platform-specific process information

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add optional platform-specific code to log information about the current process. On Windows, this includes whether git.exe is running under a debugger and information about the ancestors of the process. The purpose of this information is to help indicate if the process was

[PATCH v2 07/14] trace2:data: add trace2 transport child classification

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 child classification for transport processes. Signed-off-by: Jeff Hostetler --- connect.c | 3 +++ transport-helper.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/connect.c b/connect.c index 24281b6082..3c6f829a05 100644 --- a/connect.c +++ b/

[PATCH v2 04/14] trace2:data: add trace2 regions to wt-status

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2_region_enter() and trace2_region_leave() calls around the various phases of a status scan. This gives elapsed time for each phase in the GIT_TR2_PERF and GIT_TR2_EVENT trace target. Also, these Trace2 calls now use s->repo rather than the_repository. Signed-off-

[PATCH v2 14/14] trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create unit tests for Trace2. Signed-off-by: Jeff Hostetler --- Makefile | 1 + t/helper/test-tool.c | 1 + t/helper/test-tool.h | 1 + t/helper/test-trace2.c| 273 ++ t/t0210-trace2-normal.sh | 147

[PATCH v2 12/14] trace2:data: add subverb to reset command

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/reset.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/builtin/reset.c b/builtin/reset.c index 59898c972e..b65b4a66db 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -340,6 +340,7 @@ int cmd_reset(int argc, const ch

[PATCH v2 06/14] trace2:data: add trace2 sub-process classification

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 classification for long-running processes started in sub-process.c Signed-off-by: Jeff Hostetler --- sub-process.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sub-process.c b/sub-process.c index 8d2a1707cf..3f4af93555 100644 --- a/sub-process.c +++ b/sub

[PATCH v2 08/14] trace2:data: add trace2 hook classification

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Classify certain child processes as hooks. Signed-off-by: Jeff Hostetler --- builtin/am.c | 1 + builtin/receive-pack.c | 4 builtin/worktree.c | 1 + sequencer.c| 2 ++ transport.c| 1 + 5 files changed, 9 insertions(+) diff --g

[PATCH v2 13/14] trace2:data: add subverb for rebase

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/rebase.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/builtin/rebase.c b/builtin/rebase.c index 00de70365e..aac0d52ade 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -819,6 +819,16 @@ int cmd_reb

[PATCH v2 01/14] trace2: Documentation/technical/api-trace2.txt

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Created design document for Trace2 feature. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 1158 1 file changed, 1158 insertions(+) create mode 100644 Documentation/technical/api-trace2.txt diff --git a/Documentation/t

[PATCH v2 09/14] trace2:data: add trace2 instrumentation to index read/write

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 events to measure reading and writing the index. Signed-off-by: Jeff Hostetler --- read-cache.c | 47 ++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/read-cache.c b/read-cache.c index bfff271a3d..f6d8

[PATCH v2 11/14] trace2:data: add subverb to checkout command

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/checkout.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/builtin/checkout.c b/builtin/checkout.c index 6fadf412e8..8939ae99ed 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -262,6 +262,8 @@ static int check

[PATCH v2 02/14] trace2: create new combined trace facility

2019-01-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create a new unified tracing facility for git. The eventual intent is to replace the current trace_printf* and trace_performance* routines with a unified set of git_trace2* routines. In addition to the usual printf-style API, trace2 provides higer-level event verbs with fix

[PATCH v3 03/14] trace2: collect platform-specific process information

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add optional platform-specific code to log information about the current process. On Windows, this includes whether git.exe is running under a debugger and information about the ancestors of the process. The purpose of this information is to help indicate if the process was

[PATCH v3 04/14] trace2:data: add trace2 regions to wt-status

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2_region_enter() and trace2_region_leave() calls around the various phases of a status scan. This gives elapsed time for each phase in the GIT_TR2_PERF and GIT_TR2_EVENT trace target. Also, these Trace2 calls now use s->repo rather than the_repository. Signed-off-

[PATCH v3 08/14] trace2:data: add trace2 hook classification

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Classify certain child processes as hooks. Signed-off-by: Jeff Hostetler --- builtin/am.c | 1 + builtin/receive-pack.c | 4 builtin/worktree.c | 1 + sequencer.c| 2 ++ transport.c| 1 + 5 files changed, 9 insertions(+) diff --g

[PATCH v3 06/14] trace2:data: add trace2 sub-process classification

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 classification for long-running processes started in sub-process.c Signed-off-by: Jeff Hostetler --- sub-process.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sub-process.c b/sub-process.c index 8d2a1707cf..3f4af93555 100644 --- a/sub-process.c +++ b/sub

[PATCH v3 09/14] trace2:data: add trace2 instrumentation to index read/write

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 events to measure reading and writing the index. Signed-off-by: Jeff Hostetler --- read-cache.c | 51 ++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/read-cache.c b/read-cache.c index bfff271a3d..

[PATCH v3 11/14] trace2:data: add subverb to checkout command

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/checkout.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/builtin/checkout.c b/builtin/checkout.c index 6fadf412e8..8939ae99ed 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -262,6 +262,8 @@ static int check

[PATCH v3 13/14] trace2:data: add subverb for rebase

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/rebase.c | 17 + 1 file changed, 17 insertions(+) diff --git a/builtin/rebase.c b/builtin/rebase.c index 774264bae8..49cef31184 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -850,6 +850,14 @@ int cmd_rebas

[PATCH v3 12/14] trace2:data: add subverb to reset command

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/reset.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/builtin/reset.c b/builtin/reset.c index 59898c972e..b65b4a66db 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -340,6 +340,7 @@ int cmd_reset(int argc, const ch

[PATCH v3 00/14] Trace2 tracing facility

2019-01-30 Thread Jeff Hostetler via GitGitGadget
V3 addresses: [] re-fix the trace2 tests using an inline environment variable rather than exporting and unsetting. [] overhaul the design document to include prototype declarations and more file format information. [] incorporate most of the suggestions from clang-format. [] add ability to trace to

[PATCH v3 07/14] trace2:data: add trace2 transport child classification

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 child classification for transport processes. Signed-off-by: Jeff Hostetler --- connect.c | 3 +++ transport-helper.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/connect.c b/connect.c index 24281b6082..3c6f829a05 100644 --- a/connect.c +++ b/

[PATCH v3 02/14] trace2: create new combined trace facility

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create a new unified tracing facility for git. The eventual intent is to replace the current trace_printf* and trace_performance* routines with a unified set of git_trace2* routines. In addition to the usual printf-style API, trace2 provides higer-level event verbs with fix

[PATCH v3 05/14] trace2:data: add editor/pager child classification

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 process classification for editor and pager child processes. Signed-off-by: Jeff Hostetler --- editor.c | 1 + pager.c | 1 + 2 files changed, 2 insertions(+) diff --git a/editor.c b/editor.c index c985eee1f9..71547674ab 100644 --- a/editor.c +++ b/editor.c @@

[PATCH v3 14/14] trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create unit tests for Trace2. Signed-off-by: Jeff Hostetler --- Makefile | 1 + t/helper/test-tool.c | 1 + t/helper/test-tool.h | 1 + t/helper/test-trace2.c| 274 ++ t/t0210-trace2-normal.sh | 135

[PATCH v3 01/14] trace2: Documentation/technical/api-trace2.txt

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Created design document for Trace2 feature. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 1347 1 file changed, 1347 insertions(+) create mode 100644 Documentation/technical/api-trace2.txt diff --git a/Documentation/t

[PATCH v4 13/14] trace2:data: add subverb for rebase

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/rebase.c | 17 + 1 file changed, 17 insertions(+) diff --git a/builtin/rebase.c b/builtin/rebase.c index 774264bae8..49cef31184 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -850,6 +850,14 @@ int cmd_rebas

[PATCH v4 14/14] trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create unit tests for Trace2. Signed-off-by: Jeff Hostetler --- Makefile | 1 + t/helper/test-tool.c | 1 + t/helper/test-tool.h | 1 + t/helper/test-trace2.c| 274 ++ t/t0210-trace2-normal.sh | 135

[PATCH v4 07/14] trace2:data: add trace2 transport child classification

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 child classification for transport processes. Signed-off-by: Jeff Hostetler --- connect.c | 3 +++ transport-helper.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/connect.c b/connect.c index 24281b6082..3c6f829a05 100644 --- a/connect.c +++ b/

[PATCH v4 00/14] Trace2 tracing facility

2019-01-30 Thread Jeff Hostetler via GitGitGadget
Sorry to spam the list, but here is V4. After building V3 on 3 platforms without error and submitting, the compilers on platforms 4 and 5 complained about a variable declaration. (sigh) [] fix declaration after first statement [] add -DNO_UNIX_SOCKETS to BASIC_CFLAGS when NO_UNIX_SOCKETS is defined

[PATCH v4 09/14] trace2:data: add trace2 instrumentation to index read/write

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 events to measure reading and writing the index. Signed-off-by: Jeff Hostetler --- read-cache.c | 51 ++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/read-cache.c b/read-cache.c index bfff271a3d..

[PATCH v4 08/14] trace2:data: add trace2 hook classification

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Classify certain child processes as hooks. Signed-off-by: Jeff Hostetler --- builtin/am.c | 1 + builtin/receive-pack.c | 4 builtin/worktree.c | 1 + sequencer.c| 2 ++ transport.c| 1 + 5 files changed, 9 insertions(+) diff --g

[PATCH v4 11/14] trace2:data: add subverb to checkout command

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/checkout.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/builtin/checkout.c b/builtin/checkout.c index 6fadf412e8..8939ae99ed 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -262,6 +262,8 @@ static int check

[PATCH v4 06/14] trace2:data: add trace2 sub-process classification

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 classification for long-running processes started in sub-process.c Signed-off-by: Jeff Hostetler --- sub-process.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sub-process.c b/sub-process.c index 8d2a1707cf..3f4af93555 100644 --- a/sub-process.c +++ b/sub

[PATCH v4 05/14] trace2:data: add editor/pager child classification

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 process classification for editor and pager child processes. Signed-off-by: Jeff Hostetler --- editor.c | 1 + pager.c | 1 + 2 files changed, 2 insertions(+) diff --git a/editor.c b/editor.c index c985eee1f9..71547674ab 100644 --- a/editor.c +++ b/editor.c @@

[PATCH v4 12/14] trace2:data: add subverb to reset command

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/reset.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/builtin/reset.c b/builtin/reset.c index 59898c972e..b65b4a66db 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -340,6 +340,7 @@ int cmd_reset(int argc, const ch

[PATCH v4 02/14] trace2: create new combined trace facility

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create a new unified tracing facility for git. The eventual intent is to replace the current trace_printf* and trace_performance* routines with a unified set of git_trace2* routines. In addition to the usual printf-style API, trace2 provides higer-level event verbs with fix

[PATCH v4 04/14] trace2:data: add trace2 regions to wt-status

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2_region_enter() and trace2_region_leave() calls around the various phases of a status scan. This gives elapsed time for each phase in the GIT_TR2_PERF and GIT_TR2_EVENT trace target. Also, these Trace2 calls now use s->repo rather than the_repository. Signed-off-

[PATCH v4 01/14] trace2: Documentation/technical/api-trace2.txt

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Created design document for Trace2 feature. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 1347 1 file changed, 1347 insertions(+) create mode 100644 Documentation/technical/api-trace2.txt diff --git a/Documentation/t

[PATCH v4 03/14] trace2: collect platform-specific process information

2019-01-30 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add optional platform-specific code to log information about the current process. On Windows, this includes whether git.exe is running under a debugger and information about the ancestors of the process. The purpose of this information is to help indicate if the process was

[PATCH v5 05/15] trace2:data: add editor/pager child classification

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 process classification for editor and pager child processes. Signed-off-by: Jeff Hostetler --- editor.c | 1 + pager.c | 1 + 2 files changed, 2 insertions(+) diff --git a/editor.c b/editor.c index c985eee1f9..71547674ab 100644 --- a/editor.c +++ b/editor.c @@

[PATCH v5 01/15] trace2: Documentation/technical/api-trace2.txt

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Created design document for Trace2 feature. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 1347 1 file changed, 1347 insertions(+) create mode 100644 Documentation/technical/api-trace2.txt diff --git a/Documentation/t

[PATCH v5 03/15] trace2: collect Windows-specific process information

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add platform-specific interface to log information about the current process. On Windows, this interface is used to indicate whether the git process is running under a debugger and list names of the process ancestors. Information for other platforms is left for a future eff

[PATCH v5 06/15] trace2:data: add trace2 sub-process classification

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 classification for long-running processes started in sub-process.c Signed-off-by: Jeff Hostetler --- sub-process.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sub-process.c b/sub-process.c index 8d2a1707cf..3f4af93555 100644 --- a/sub-process.c +++ b/sub

[PATCH v5 11/15] trace2:data: add subverb to checkout command

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/checkout.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/builtin/checkout.c b/builtin/checkout.c index 6fadf412e8..f911c88bb4 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -262,6 +262,8 @@ static int check

[PATCH v5 09/15] trace2:data: add trace2 instrumentation to index read/write

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 events to measure reading and writing the index. Signed-off-by: Jeff Hostetler --- read-cache.c | 51 ++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/read-cache.c b/read-cache.c index bfff271a3d..

[PATCH v5 08/15] trace2:data: add trace2 hook classification

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Classify certain child processes as hooks. Signed-off-by: Jeff Hostetler --- builtin/am.c | 1 + builtin/receive-pack.c | 4 builtin/worktree.c | 1 + sequencer.c| 2 ++ transport.c| 1 + 5 files changed, 9 insertions(+) diff --g

[PATCH v5 02/15] trace2: create new combined trace facility

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create a new unified tracing facility for git. The eventual intent is to replace the current trace_printf* and trace_performance* routines with a unified set of git_trace2* routines. In addition to the usual printf-style API, trace2 provides higer-level event verbs with fix

[PATCH v5 15/15] trace2: add for_each macros to clang-format

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- .clang-format | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.clang-format b/.clang-format index de1c8b5c77..41d4cd23fd 100644 --- a/.clang-format +++ b/.clang-format @@ -149,7 +149,7 @@ Cpp11BracedListStyle: false #

[PATCH v5 14/15] trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create unit tests for Trace2. Signed-off-by: Jeff Hostetler --- Makefile | 1 + t/helper/test-tool.c | 1 + t/helper/test-tool.h | 1 + t/helper/test-trace2.c| 273 ++ t/t0210-trace2-normal.sh | 135

[PATCH v5 04/15] trace2:data: add trace2 regions to wt-status

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2_region_enter() and trace2_region_leave() calls around the various phases of a status scan. This gives elapsed time for each phase in the GIT_TR2_PERF and GIT_TR2_EVENT trace target. Also, these Trace2 calls now use s->repo rather than the_repository. Signed-off-

[PATCH v5 00/15] Trace2 tracing facility

2019-02-01 Thread Jeff Hostetler via GitGitGadget
V5 addresses: [] renames "verb" and "subverb" to "cmd_name" and "cmd_mode" in code and documentation. [] updates clang-format config to not complain about my for_each macros. [] update formatting around each use of my for_each macros. [] update the platform-specific process info commit to indicate

[PATCH v5 12/15] trace2:data: add subverb to reset command

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/reset.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/builtin/reset.c b/builtin/reset.c index 59898c972e..4e34c61401 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -340,6 +340,7 @@ int cmd_reset(int argc, const ch

[PATCH v5 07/15] trace2:data: add trace2 transport child classification

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add trace2 child classification for transport processes. Signed-off-by: Jeff Hostetler --- connect.c | 3 +++ transport-helper.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/connect.c b/connect.c index 24281b6082..3c6f829a05 100644 --- a/connect.c +++ b/

[PATCH v5 13/15] trace2:data: add subverb for rebase

2019-02-01 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/rebase.c | 17 + 1 file changed, 17 insertions(+) diff --git a/builtin/rebase.c b/builtin/rebase.c index 774264bae8..f5ac4fe2ea 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -850,6 +850,14 @@ int cmd_rebas

[PATCH 0/4] trace2: load trace2 settings from system config

2019-03-28 Thread Jeff Hostetler via GitGitGadget
Teach git to load default Trace2 settings from the system config (usually "/etc/gitconfig"). The existing GIT_TR2_* environment variables can be used to override the new system defaults. It also includes a little startup refactoring. Note: I found interactive testing of this feature to be awkward

[PATCH 1/4] trace2: refactor setting process starting time

2019-03-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create trace2_initialize_clock() and call from main() to capture process start time in isolation and before other sub-systems are ready. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 12 ++-- common-main.c | 2 ++

[PATCH 3/4] trace2: find exec-dir before trace2 initialization

2019-03-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach Git to resolve the executable directory before initializing Trace2. This allows the system configuration directory to be discovered earlier (because it is sometimes relative to the prefix or runtime-prefix). This will be used by the next commit to allow trace2 setting

[PATCH 2/4] trace2: add absolute elapsed time to start event

2019-03-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add elapsed process time to "start" event to measure the performance of early process startup. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 11 ++- t/t0211-trace2-perf.sh | 12 ++-- trace2.c

[PATCH 4/4] trace2: use system config for default trace2 settings

2019-03-28 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach git to read the system config (usually "/etc/gitconfig") for default Trace2 settings. This allows system-wide Trace2 settings to be installed and inherited to make it easier to manage a collection of systems. The original GIT_TR2* environment variables are loaded afte

[PATCH v2 1/7] trace2: refactor setting process starting time

2019-03-29 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create trace2_initialize_clock() and call from main() to capture process start time in isolation and before other sub-systems are ready. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 12 ++-- common-main.c | 2 ++

[PATCH v2 0/7] trace2: load trace2 settings from system config

2019-03-29 Thread Jeff Hostetler via GitGitGadget
Here is version 2. It addresses most the V1 comments WRT the system config changes. It also addresses the format and uniqueness of the SID as discussed in [1]. The SID now containes: the UTC date/time, part of SHA1 of the hostname, and the PID and is formatted to make it safe for filenames. It al

[PATCH v2 4/7] trace2: use system config for default trace2 settings

2019-03-29 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach git to read the system config (usually "/etc/gitconfig") for default Trace2 settings. This allows system-wide Trace2 settings to be installed and inherited to make it easier to manage a collection of systems. The original GIT_TR2* environment variables are loaded afte

[PATCH v2 2/7] trace2: add absolute elapsed time to start event

2019-03-29 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add elapsed process time to "start" event to measure the performance of early process startup. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 11 ++- t/t0211-trace2-perf.sh | 12 ++-- trace2.c

[PATCH v2 3/7] trace2: find exec-dir before trace2 initialization

2019-03-29 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach Git to resolve the executable directory before initializing Trace2. This allows the system configuration directory to be discovered earlier (because it is sometimes relative to the prefix or runtime-prefix). This will be used by the next commit to allow trace2 setting

[PATCH v2 6/7] trace2: clarify UTC datetime formatting

2019-03-29 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Update tr2_tbuf_utc_datetime to generate extended UTC format. Update tr2_tgt_event target to use extended format in 'time' columns. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 12 ++-- trace2/tr2_tbuf.c | 4 ++--

[PATCH v2 5/7] trace2: report peak memory usage of the process

2019-03-29 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach Windows version of git to report peak memory usage during exit() processing. Signed-off-by: Jeff Hostetler --- common-main.c| 2 +- compat/win32/trace2_win32_process_info.c | 50 ++-- trace2.c

[PATCH v2 7/7] trace2: make SIDs more unique

2019-03-29 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Update SID component construction to use the current UTC datetime and a portion of the SHA1 of the hostname. Use an simplified date/time format to make it easier to use the SID component as a logfile filename. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-

[PATCH v3 01/10] config: initialize opts structure in repo_read_config()

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Initialize opts structure in repo_read_config(). This change fixes a crash in later commit after a new field is added to the structure. In commit 3b256228a66f8587661481ef3e08259864f3ba2a, repo_read_config() was added. It only initializes 3 fields in the opts structure. It

[PATCH v3 00/10] trace2: load trace2 settings from system config

2019-04-11 Thread Jeff Hostetler via GitGitGadget
Here is version 3. [] It incorporates Ævar's suggestions WRT the format and uniqueness of the SID. [] It now reads both system and global config for trace2 settings and handles includes as Jonathan suggested. I added a read_very_early_config() function that is similar to read_early_config()but om

[PATCH v3 10/10] trace2: update docs to describe system/global config settings

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- Documentation/config.txt | 2 + Documentation/config/trace2.txt| 56 ++ Documentation/technical/api-trace2.txt | 141 ++--- Documentation/trace2-target-values.txt | 10 ++ 4 files change

[PATCH v3 09/10] trace2: make SIDs more unique

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Update SID component construction to use the current UTC datetime and a portion of the SHA1 of the hostname. Use an simplified date/time format to make it easier to use the SID component as a logfile filename. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-

[PATCH v3 08/10] trace2: clarify UTC datetime formatting

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Update tr2_tbuf_utc_datetime to generate extended UTC format. Update tr2_tgt_event target to use extended format in 'time' columns. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 12 ++-- trace2/tr2_tbuf.c | 4 ++--

[PATCH v3 07/10] trace2: report peak memory usage of the process

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach Windows version of git to report peak memory usage during exit() processing. Signed-off-by: Jeff Hostetler --- common-main.c| 2 +- compat/win32/trace2_win32_process_info.c | 50 ++-- trace2.c

[PATCH v3 03/10] trace2: add absolute elapsed time to start event

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Add elapsed process time to "start" event to measure the performance of early process startup. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 11 ++- t/t0211-trace2-perf.sh | 12 ++-- trace2.c

[PATCH v3 05/10] config: add read_very_early_config()

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Created an even lighter version of read_early_config() that only looks at system and global config settings. It omits repo-local, worktree-local, and command-line settings. Signed-off-by: Jeff Hostetler --- config.c | 25 ++--- config.h | 4 2 fi

[PATCH v3 04/10] trace2: find exec-dir before trace2 initialization

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach Git to resolve the executable directory before initializing Trace2. This allows the system configuration directory to be discovered earlier (because it is sometimes relative to the prefix or runtime-prefix). This will be used by the next commit to allow trace2 setting

[PATCH v3 06/10] trace2: use system/global config for default trace2 settings

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach git to read the system and global config files for default Trace2 settings. This allows system-wide Trace2 settings to be installed and inherited to make it easier to manage a collection of systems. The original GIT_TR2* environment variables are loaded afterwards and

[PATCH v3 02/10] trace2: refactor setting process starting time

2019-04-11 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create trace2_initialize_clock() and call from main() to capture process start time in isolation and before other sub-systems are ready. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 12 ++-- common-main.c | 2 ++

[PATCH v4 04/10] trace2: find exec-dir before trace2 initialization

2019-04-15 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach Git to resolve the executable directory before initializing Trace2. This allows the system configuration directory to be discovered earlier (because it is sometimes relative to the prefix or runtime-prefix). This will be used by the next commit to allow trace2 setting

[PATCH v4 01/10] config: initialize opts structure in repo_read_config()

2019-04-15 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Initialize opts structure in repo_read_config(). This change fixes a crash in later commit after a new field is added to the structure. In commit 3b256228a66f8587661481ef3e08259864f3ba2a, repo_read_config() was added. It only initializes 3 fields in the opts structure. It

[PATCH v4 00/10] trace2: load trace2 settings from system config

2019-04-15 Thread Jeff Hostetler via GitGitGadget
Version 4 fixes a few clang-format warnings and simplifies the PID field in the SID. Jeff Hostetler (10): config: initialize opts structure in repo_read_config() trace2: refactor setting process starting time trace2: add absolute elapsed time to start event trace2: find exec-dir before tra

[PATCH v4 06/10] trace2: use system/global config for default trace2 settings

2019-04-15 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Teach git to read the system and global config files for default Trace2 settings. This allows system-wide Trace2 settings to be installed and inherited to make it easier to manage a collection of systems. The original GIT_TR2* environment variables are loaded afterwards and

[PATCH v4 02/10] trace2: refactor setting process starting time

2019-04-15 Thread Jeff Hostetler via GitGitGadget
From: Jeff Hostetler Create trace2_initialize_clock() and call from main() to capture process start time in isolation and before other sub-systems are ready. Signed-off-by: Jeff Hostetler --- Documentation/technical/api-trace2.txt | 12 ++-- common-main.c | 2 ++

  1   2   3   >