mbox series

[00/14] Trace2 tracing facility

Message ID pull.108.git.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series Trace2 tracing facility | expand

Message

Johannes Schindelin via GitGitGadget Jan. 22, 2019, 9:22 p.m. UTC
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 have not been changed, rather new
trace2 calls have been added so that both continue to work in parallel for
the time being.

[1] https://public-inbox.org/git/pull.29.git.gitgitgadget@gmail.com/

Cc: gitster@pobox.comCc: peff@peff.netCc: jrnieder@gmail.com

Derrick Stolee (1):
  pack-objects: add trace2 regions

Jeff Hostetler (13):
  trace2: Documentation/technical/api-trace2.txt
  trace2: create new combined trace facility
  trace2: collect platform-specific process information
  trace2:data: add trace2 regions to wt-status
  trace2:data: add editor/pager child classification
  trace2:data: add trace2 sub-process classification
  trace2:data: add trace2 transport child classification
  trace2:data: add trace2 hook classification
  trace2:data: add trace2 instrumentation to index read/write
  trace2:data: add subverb to checkout command
  trace2:data: add subverb to reset command
  trace2:data: add subverb for rebase
  trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh

 Documentation/technical/api-trace2.txt | 1158 ++++++++++++++++++++++++
 Makefile                               |   11 +
 builtin/am.c                           |    1 +
 builtin/checkout.c                     |    7 +
 builtin/pack-objects.c                 |   12 +-
 builtin/rebase.c                       |   19 +
 builtin/receive-pack.c                 |    4 +
 builtin/reset.c                        |    6 +
 builtin/submodule--helper.c            |   11 +-
 builtin/worktree.c                     |    1 +
 cache.h                                |    1 +
 common-main.c                          |   13 +-
 compat/mingw.c                         |   11 +-
 compat/mingw.h                         |    3 +-
 compat/win32/ancestry.c                |  102 +++
 config.c                               |    2 +
 config.mak.uname                       |    2 +
 connect.c                              |    3 +
 editor.c                               |    1 +
 exec-cmd.c                             |    2 +
 git-compat-util.h                      |    7 +
 git.c                                  |   65 ++
 pager.c                                |    1 +
 read-cache.c                           |   47 +-
 remote-curl.c                          |    7 +
 repository.c                           |    2 +
 repository.h                           |    3 +
 run-command.c                          |   63 +-
 run-command.h                          |   17 +-
 sequencer.c                            |    2 +
 sh-i18n--envsubst.c                    |    3 +
 sub-process.c                          |    1 +
 submodule.c                            |   11 +-
 t/helper/test-parse-options.c          |    3 +
 t/helper/test-tool.c                   |    4 +
 t/helper/test-tool.h                   |    1 +
 t/helper/test-trace2.c                 |  273 ++++++
 t/t0001-init.sh                        |    1 +
 t/t0210-trace2-normal.sh               |  135 +++
 t/t0210/scrub_normal.perl              |   48 +
 t/t0211-trace2-perf.sh                 |  153 ++++
 t/t0211/scrub_perf.perl                |   76 ++
 t/t0212-trace2-event.sh                |  237 +++++
 t/t0212/parse_events.perl              |  251 +++++
 trace2.c                               |  809 +++++++++++++++++
 trace2.h                               |  403 +++++++++
 trace2/tr2_cfg.c                       |   92 ++
 trace2/tr2_cfg.h                       |   19 +
 trace2/tr2_dst.c                       |   90 ++
 trace2/tr2_dst.h                       |   34 +
 trace2/tr2_sid.c                       |   67 ++
 trace2/tr2_sid.h                       |   18 +
 trace2/tr2_tbuf.c                      |   32 +
 trace2/tr2_tbuf.h                      |   23 +
 trace2/tr2_tgt.h                       |  126 +++
 trace2/tr2_tgt_event.c                 |  606 +++++++++++++
 trace2/tr2_tgt_normal.c                |  331 +++++++
 trace2/tr2_tgt_perf.c                  |  573 ++++++++++++
 trace2/tr2_tls.c                       |  164 ++++
 trace2/tr2_tls.h                       |   95 ++
 trace2/tr2_verb.c                      |   30 +
 trace2/tr2_verb.h                      |   24 +
 transport-helper.c                     |    2 +
 transport.c                            |    1 +
 usage.c                                |   31 +
 wt-status.c                            |   23 +-
 66 files changed, 6353 insertions(+), 21 deletions(-)
 create mode 100644 Documentation/technical/api-trace2.txt
 create mode 100644 compat/win32/ancestry.c
 create mode 100644 t/helper/test-trace2.c
 create mode 100755 t/t0210-trace2-normal.sh
 create mode 100644 t/t0210/scrub_normal.perl
 create mode 100755 t/t0211-trace2-perf.sh
 create mode 100644 t/t0211/scrub_perf.perl
 create mode 100755 t/t0212-trace2-event.sh
 create mode 100644 t/t0212/parse_events.perl
 create mode 100644 trace2.c
 create mode 100644 trace2.h
 create mode 100644 trace2/tr2_cfg.c
 create mode 100644 trace2/tr2_cfg.h
 create mode 100644 trace2/tr2_dst.c
 create mode 100644 trace2/tr2_dst.h
 create mode 100644 trace2/tr2_sid.c
 create mode 100644 trace2/tr2_sid.h
 create mode 100644 trace2/tr2_tbuf.c
 create mode 100644 trace2/tr2_tbuf.h
 create mode 100644 trace2/tr2_tgt.h
 create mode 100644 trace2/tr2_tgt_event.c
 create mode 100644 trace2/tr2_tgt_normal.c
 create mode 100644 trace2/tr2_tgt_perf.c
 create mode 100644 trace2/tr2_tls.c
 create mode 100644 trace2/tr2_tls.h
 create mode 100644 trace2/tr2_verb.c
 create mode 100644 trace2/tr2_verb.h


base-commit: 77556354bb7ac50450e3b28999e3576969869068
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-108%2Fjeffhostetler%2Fcore-trace2-2019-v0-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-108/jeffhostetler/core-trace2-2019-v0-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/108

Comments

Junio C Hamano Jan. 22, 2019, 11:21 p.m. UTC | #1
"Jeff Hostetler via GitGitGadget" <gitgitgadget@gmail.com> writes:

> This patch series contains a greatly refactored version of my original
> Trace2 series [1] from August 2018.

Great to see this series revived.  Looking forward to reading it
thru.

Thanks.

> 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 have not been changed, rather new
> trace2 calls have been added so that both continue to work in parallel for
> the time being.
Josh Steadmon Jan. 25, 2019, 8:03 p.m. UTC | #2
On 2019.01.22 13:22, Jeff Hostetler via GitGitGadget wrote:
> 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 have not been changed, rather new
> trace2 calls have been added so that both continue to work in parallel for
> the time being.
> 
> [1] https://public-inbox.org/git/pull.29.git.gitgitgadget@gmail.com/
> 
> Cc: gitster@pobox.comCc: peff@peff.netCc: jrnieder@gmail.com
> 
> Derrick Stolee (1):
>   pack-objects: add trace2 regions
> 
> Jeff Hostetler (13):
>   trace2: Documentation/technical/api-trace2.txt
>   trace2: create new combined trace facility
>   trace2: collect platform-specific process information
>   trace2:data: add trace2 regions to wt-status
>   trace2:data: add editor/pager child classification
>   trace2:data: add trace2 sub-process classification
>   trace2:data: add trace2 transport child classification
>   trace2:data: add trace2 hook classification
>   trace2:data: add trace2 instrumentation to index read/write
>   trace2:data: add subverb to checkout command
>   trace2:data: add subverb to reset command
>   trace2:data: add subverb for rebase
>   trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh
> 
>  Documentation/technical/api-trace2.txt | 1158 ++++++++++++++++++++++++
>  Makefile                               |   11 +
>  builtin/am.c                           |    1 +
>  builtin/checkout.c                     |    7 +
>  builtin/pack-objects.c                 |   12 +-
>  builtin/rebase.c                       |   19 +
>  builtin/receive-pack.c                 |    4 +
>  builtin/reset.c                        |    6 +
>  builtin/submodule--helper.c            |   11 +-
>  builtin/worktree.c                     |    1 +
>  cache.h                                |    1 +
>  common-main.c                          |   13 +-
>  compat/mingw.c                         |   11 +-
>  compat/mingw.h                         |    3 +-
>  compat/win32/ancestry.c                |  102 +++
>  config.c                               |    2 +
>  config.mak.uname                       |    2 +
>  connect.c                              |    3 +
>  editor.c                               |    1 +
>  exec-cmd.c                             |    2 +
>  git-compat-util.h                      |    7 +
>  git.c                                  |   65 ++
>  pager.c                                |    1 +
>  read-cache.c                           |   47 +-
>  remote-curl.c                          |    7 +
>  repository.c                           |    2 +
>  repository.h                           |    3 +
>  run-command.c                          |   63 +-
>  run-command.h                          |   17 +-
>  sequencer.c                            |    2 +
>  sh-i18n--envsubst.c                    |    3 +
>  sub-process.c                          |    1 +
>  submodule.c                            |   11 +-
>  t/helper/test-parse-options.c          |    3 +
>  t/helper/test-tool.c                   |    4 +
>  t/helper/test-tool.h                   |    1 +
>  t/helper/test-trace2.c                 |  273 ++++++
>  t/t0001-init.sh                        |    1 +
>  t/t0210-trace2-normal.sh               |  135 +++
>  t/t0210/scrub_normal.perl              |   48 +
>  t/t0211-trace2-perf.sh                 |  153 ++++
>  t/t0211/scrub_perf.perl                |   76 ++
>  t/t0212-trace2-event.sh                |  237 +++++
>  t/t0212/parse_events.perl              |  251 +++++
>  trace2.c                               |  809 +++++++++++++++++
>  trace2.h                               |  403 +++++++++
>  trace2/tr2_cfg.c                       |   92 ++
>  trace2/tr2_cfg.h                       |   19 +
>  trace2/tr2_dst.c                       |   90 ++
>  trace2/tr2_dst.h                       |   34 +
>  trace2/tr2_sid.c                       |   67 ++
>  trace2/tr2_sid.h                       |   18 +
>  trace2/tr2_tbuf.c                      |   32 +
>  trace2/tr2_tbuf.h                      |   23 +
>  trace2/tr2_tgt.h                       |  126 +++
>  trace2/tr2_tgt_event.c                 |  606 +++++++++++++
>  trace2/tr2_tgt_normal.c                |  331 +++++++
>  trace2/tr2_tgt_perf.c                  |  573 ++++++++++++
>  trace2/tr2_tls.c                       |  164 ++++
>  trace2/tr2_tls.h                       |   95 ++
>  trace2/tr2_verb.c                      |   30 +
>  trace2/tr2_verb.h                      |   24 +
>  transport-helper.c                     |    2 +
>  transport.c                            |    1 +
>  usage.c                                |   31 +
>  wt-status.c                            |   23 +-
>  66 files changed, 6353 insertions(+), 21 deletions(-)
>  create mode 100644 Documentation/technical/api-trace2.txt
>  create mode 100644 compat/win32/ancestry.c
>  create mode 100644 t/helper/test-trace2.c
>  create mode 100755 t/t0210-trace2-normal.sh
>  create mode 100644 t/t0210/scrub_normal.perl
>  create mode 100755 t/t0211-trace2-perf.sh
>  create mode 100644 t/t0211/scrub_perf.perl
>  create mode 100755 t/t0212-trace2-event.sh
>  create mode 100644 t/t0212/parse_events.perl
>  create mode 100644 trace2.c
>  create mode 100644 trace2.h
>  create mode 100644 trace2/tr2_cfg.c
>  create mode 100644 trace2/tr2_cfg.h
>  create mode 100644 trace2/tr2_dst.c
>  create mode 100644 trace2/tr2_dst.h
>  create mode 100644 trace2/tr2_sid.c
>  create mode 100644 trace2/tr2_sid.h
>  create mode 100644 trace2/tr2_tbuf.c
>  create mode 100644 trace2/tr2_tbuf.h
>  create mode 100644 trace2/tr2_tgt.h
>  create mode 100644 trace2/tr2_tgt_event.c
>  create mode 100644 trace2/tr2_tgt_normal.c
>  create mode 100644 trace2/tr2_tgt_perf.c
>  create mode 100644 trace2/tr2_tls.c
>  create mode 100644 trace2/tr2_tls.h
>  create mode 100644 trace2/tr2_verb.c
>  create mode 100644 trace2/tr2_verb.h
> 
> 
> base-commit: 77556354bb7ac50450e3b28999e3576969869068
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-108%2Fjeffhostetler%2Fcore-trace2-2019-v0-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-108/jeffhostetler/core-trace2-2019-v0-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/108
> -- 
> gitgitgadget

Several patches in this series have many style diffs as reported by
clang-format. Not all the diffs actually improve readability, but many
do. If you have clang-format installed, you can run:

git clang-format --style file --diff --extensions c,h ${commit}^ ${commit}

for each commit in the series to see what it thinks needs to be changed.


Other than that, I don't have any comments apart from what the other
reviewers have already mentioned.

Thanks for the series!
Jeff Hostetler Jan. 28, 2019, 4:15 p.m. UTC | #3
On 1/22/2019 4:22 PM, Jeff Hostetler via GitGitGadget wrote:
> This patch series contains a greatly refactored version of my original
> Trace2 series [1] from August 2018.


My Trace2 series "jh/trace2" has a bad interaction with "js/vsts-ci"
causing some unit tests to fail in "pu".  I'll post a new version
shortly.

Jeff
Junio C Hamano Jan. 28, 2019, 6:07 p.m. UTC | #4
Jeff Hostetler <git@jeffhostetler.com> writes:

> On 1/22/2019 4:22 PM, Jeff Hostetler via GitGitGadget wrote:
>> This patch series contains a greatly refactored version of my original
>> Trace2 series [1] from August 2018.
>
>
> My Trace2 series "jh/trace2" has a bad interaction with "js/vsts-ci"
> causing some unit tests to fail in "pu".  I'll post a new version
> shortly.

Thanks for a heads-up.
Jeff Hostetler Jan. 30, 2019, 6:45 p.m. UTC | #5
On 1/25/2019 3:03 PM, Josh Steadmon wrote:
> On 2019.01.22 13:22, Jeff Hostetler via GitGitGadget wrote:
>> 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 have not been changed, rather new
>> trace2 calls have been added so that both continue to work in parallel for
>> the time being.
>>
...
> 
> Several patches in this series have many style diffs as reported by
> clang-format. Not all the diffs actually improve readability, but many
> do. If you have clang-format installed, you can run:
> 
> git clang-format --style file --diff --extensions c,h ${commit}^ ${commit}
> 
> for each commit in the series to see what it thinks needs to be changed.

Thanks for the pointer.  I'll address this in my V3 version.
Yes, there were lots of complaints.  Some were more noise than
anything else, but there were some good ones in there.


> 
> Other than that, I don't have any comments apart from what the other
> reviewers have already mentioned.
> 
> Thanks for the series!
> 

Thanks,
Jeff