diff options
| author | Raman Tenneti <rtenneti@google.com> | 2021-03-16 14:24:14 -0700 |
|---|---|---|
| committer | Raman Tenneti <rtenneti@google.com> | 2021-03-18 14:58:24 +0000 |
| commit | a5b40a28450c965bb4b77656820fdd0a78768fe4 (patch) | |
| tree | b7ecf5bad6ea40c131f4736065ff748ab995ef86 /git_trace2_event_log.py | |
| parent | 511a0e54f5801a3f36c00fac478a596d83867d10 (diff) | |
| download | git-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.py | 12 |
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 | ||
