summaryrefslogtreecommitdiffstats
path: root/git_trace2_event_log.py
diff options
context:
space:
mode:
authorRaman Tenneti <rtenneti@google.com>2021-03-16 14:24:14 -0700
committerRaman Tenneti <rtenneti@google.com>2021-03-18 14:58:24 +0000
commita5b40a28450c965bb4b77656820fdd0a78768fe4 (patch)
treeb7ecf5bad6ea40c131f4736065ff748ab995ef86 /git_trace2_event_log.py
parent511a0e54f5801a3f36c00fac478a596d83867d10 (diff)
downloadgit-repo-a5b40a28450c965bb4b77656820fdd0a78768fe4.tar.gz
repo: Add a new "command" event type to git trace2 logging in repo.
Add a new "event": "command", which is emitted at when all command arguments have been processed. Additional fields: "name": Name of the primary command (ex: repo, git) "subcommands"': List of the sub-commands once command-line arguments are processed Examples: Command: repo --version Event: {"event": "command", <common fields>, "name": "repo", "subcommands": ["version"] } Bug: [google internal] b/178507266 Testing: - Unit tests - Verified repo git trace2 logs had expected data Change-Id: I825bd0ecedee45135382461a4ba10f987f09aef3 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/300343 Reviewed-by: Ian Kasprzak <iankaz@google.com> Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Raman Tenneti <rtenneti@google.com>
Diffstat (limited to 'git_trace2_event_log.py')
-rw-r--r--git_trace2_event_log.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/git_trace2_event_log.py b/git_trace2_event_log.py
index 8c33d80b..8f12d1a9 100644
--- a/git_trace2_event_log.py
+++ b/git_trace2_event_log.py
@@ -132,6 +132,18 @@ class EventLog(object):
132 exit_event['code'] = result 132 exit_event['code'] = result
133 self._log.append(exit_event) 133 self._log.append(exit_event)
134 134
135 def CommandEvent(self, name, subcommands):
136 """Append a 'command' event to the current log.
137
138 Args:
139 name: Name of the primary command (ex: repo, git)
140 subcommands: List of the sub-commands (ex: version, init, sync)
141 """
142 command_event = self._CreateEventDict('command')
143 command_event['name'] = name
144 command_event['subcommands'] = subcommands
145 self._log.append(command_event)
146
135 def DefParamRepoEvents(self, config): 147 def DefParamRepoEvents(self, config):
136 """Append a 'def_param' event for each repo.* config key to the current log. 148 """Append a 'def_param' event for each repo.* config key to the current log.
137 149