Skip to content

RFC: structured logging

[email protected] git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest25 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/25structured-logging: design documentDocumentation/technical/structured-logging.txt+816 -04 replies
2/25structured-logging: add STRUCTURED_LOGGING=1 to MakefileMakefile structured-logging.c structured-logging.h+30 -01 reply
3/25structured-logging: add structured logging frameworkDocumentation/config.txt compat/mingw.h config.c +5 more+486 -13 replies
4/25structured-logging: add session-id to log eventsDocumentation/git.txt structured-logging.c t/t0001-init.sh+59 -00 replies
5/25structured-logging: set sub_command field for branch commandbuiltin/branch.c+8 -00 replies
6/25structured-logging: set sub_command field for checkout commandbuiltin/checkout.c+7 -00 replies
7/25structured-logging: t0420 basic testst/t0420-structured-logging.sh t/t0420/parse_json.perl t/test-lib.sh+196 -00 replies
8/25structured-logging: add detail-event facilityDocumentation/config.txt structured-logging.c structured-logging.h+124 -00 replies
9/25structured-logging: add detail-event for lazy_init_name_hashname-hash.c+26 -00 replies
10/25structured-logging: add timer facilityDocumentation/config.txt structured-logging.c structured-logging.h+205 -00 replies
11/25structured-logging: add timer around do_read_indexread-cache.c+5 -00 replies
12/25structured-logging: add timer around do_write_indexread-cache.c+5 -00 replies
13/25structured-logging: add timer around wt-status functionswt-status.c+20 -00 replies
14/25structured-logging: add timer around preload_indexpreload-index.c+6 -00 replies
15/25structured-logging: t0420 tests for timerst/t0420-structured-logging.sh+48 -00 replies
16/25structured-logging: add aux-data facilityDocumentation/config.txt structured-logging.c structured-logging.h+143 -00 replies
17/25structured-logging: add aux-data for index sizeread-cache.c+4 -00 replies
18/25structured-logging: add aux-data for size of sparse-checkout fileunpack-trees.c+3 -10 replies
19/25structured-logging: t0420 tests for aux-datat/t0420-structured-logging.sh+33 -00 replies
20/25structured-logging: add structured logging to remote-curlremote-curl.c+15 -10 replies
21/25structured-logging: add detail-events for child processesrun-command.c run-command.h structured-logging.c +1 more+181 -30 replies
22/25structured-logging: add child process classificationeditor.c git.c pager.c +3 more+125 -00 replies
23/25structured-logging: t0420 tests for child process detail eventst/t0420-structured-logging.sh+39 -00 replies
24/25structured-logging: t0420 tests for interacitve child_summaryt/t0420-structured-logging.sh+30 -00 replies
25/25structured-logging: add config data facilitystructured-logging.c structured-logging.h+145 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH v1 00/25] RFC: structured logging

From: Jeff Hostetler <[email protected]>

This RFC patch series adds structured logging to git. The motivation, background, and limitations of this feature are described at the beginning of the design document in the first commit. The design document also contains a section comparing this feature with the existing GIT_TRACE feature. So I won't go into great detail here in the cover letter.

My primary focus in this RFC is to reach agreement on the structured logging facility. This includes the basic approach and the various logging fields and timers.

This patch series also includes several example usage commits, such as adding timers around do_{read,write}_index, that demonstrate the capabilities of the structured logging facility. I only added a few examples for things that I think we'll want long-term. I did not attempt to instrument everything.

This patch series requires V11 of my json-writer patch series.

Jeff Hostetler (25):
structured-logging: design document
structured-logging: add STRUCTURED_LOGGING=1 to Makefile
structured-logging: add structured logging framework
structured-logging: add session-id to log events
structured-logging: set sub_command field for branch command
structured-logging: set sub_command field for checkout command
structured-logging: t0420 basic tests
structured-logging: add detail-event facility
structured-logging: add detail-event for lazy_init_name_hash
structured-logging: add timer facility
structured-logging: add timer around do_read_index
structured-logging: add timer around do_write_index
structured-logging: add timer around wt-status functions
structured-logging: add timer around preload_index
structured-logging: t0420 tests for timers
structured-logging: add aux-data facility
structured-logging: add aux-data for index size
structured-logging: add aux-data for size of sparse-checkout file
structured-logging: t0420 tests for aux-data
structured-logging: add structured logging to remote-curl
structured-logging: add detail-events for child processes
structured-logging: add child process classification
structured-logging: t0420 tests for child process detail events
structured-logging: t0420 tests for interacitve child_summary
structured-logging: add config data facility

 Documentation/config.txt                       |   33 +
 Documentation/git.txt                          |    6 +
 Documentation/technical/structured-logging.txt |  816 ++++++++++++++++
 Makefile                                       |    8 +
 builtin/branch.c                               |    8 +
 builtin/checkout.c                             |    7 +
 compat/mingw.h                                 |    7 +
 config.c                                       |    3 +
 editor.c                                       |    1 +
 git-compat-util.h                              |    9 +
 git.c                                          |   10 +-
 name-hash.c                                    |   26 +
 pager.c                                        |    1 +
 preload-index.c                                |    6 +
 read-cache.c                                   |   14 +
 remote-curl.c                                  |   16 +-
 run-command.c                                  |   14 +-
 run-command.h                                  |    2 +
 structured-logging.c                           | 1219 ++++++++++++++++++++++++
 structured-logging.h                           |  179 ++++
 sub-process.c                                  |    1 +
 t/t0001-init.sh                                |    1 +
 t/t0420-structured-logging.sh                  |  293 ++++++
 t/t0420/parse_json.perl                        |   52 +
 t/test-lib.sh                                  |    1 +
 unpack-trees.c                                 |    4 +-
 usage.c                                        |    4 +
 wt-status.c                                    |   20 +
 28 files changed, 2757 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/technical/structured-logging.txt
 create mode 100644 structured-logging.c
 create mode 100644 structured-logging.h
 create mode 100755 t/t0420-structured-logging.sh
 create mode 100644 t/t0420/parse_json.perl
Signature · 1 line
2.9.3