trace2: cleanup whitespace in perf format
Make use of new sq_append_quote_argv_pretty() to normalize how we handle leading whitespace in perf format messages. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff Hostetler committed
Aug 9, 2019 at 08:00 UTC
742ed63345a6e26399fc08e9c711e9f3fd23cc2d
2 files changed
+22
-13
t/t0211-trace2-perf.sh
+2
-2
@@ -130,11 +130,11 @@ test_expect_success 'perf stream, child processes' '
130
d0|main|version|||||$V
131
d0|main|start||_T_ABS_|||_EXE_ trace2 004child test-tool trace2 004child test-tool trace2 001return 0
132
d0|main|cmd_name|||||trace2 (trace2)
133
- d0|main|child_start||_T_ABS_|||[ch0] class:? argv: test-tool trace2 004child test-tool trace2 001return 0
133
+ d0|main|child_start||_T_ABS_|||[ch0] class:? argv:[test-tool trace2 004child test-tool trace2 001return 0]
134
d1|main|version|||||$V
135
d1|main|start||_T_ABS_|||_EXE_ trace2 004child test-tool trace2 001return 0
136
d1|main|cmd_name|||||trace2 (trace2/trace2)
137
- d1|main|child_start||_T_ABS_|||[ch0] class:? argv: test-tool trace2 001return 0
137
+ d1|main|child_start||_T_ABS_|||[ch0] class:? argv:[test-tool trace2 001return 0]
138
d2|main|version|||||$V
139
d2|main|start||_T_ABS_|||_EXE_ trace2 001return 0
140
d2|main|cmd_name|||||trace2 (trace2/trace2/trace2)
trace2/tr2_tgt_perf.c
+20
-11
@@ -184,7 +184,7 @@ static void fn_start_fl(const char *file, int line,
184
const char *event_name = "start";
185
struct strbuf buf_payload = STRBUF_INIT;
186
187
- sq_quote_argv_pretty(&buf_payload, argv);
187
+ sq_append_quote_argv_pretty(&buf_payload, argv);
188
189
perf_io_write_fl(file, line, event_name, NULL, &us_elapsed_absolute,
190
NULL, NULL, &buf_payload);
@@ -299,8 +299,9 @@ static void fn_alias_fl(const char *file, int line, const char *alias,
299
const char *event_name = "alias";
300
struct strbuf buf_payload = STRBUF_INIT;
301
302
- strbuf_addf(&buf_payload, "alias:%s argv:", alias);
303
- sq_quote_argv_pretty(&buf_payload, argv);
302
+ strbuf_addf(&buf_payload, "alias:%s argv:[", alias);
303
+ sq_append_quote_argv_pretty(&buf_payload, argv);
304
+ strbuf_addch(&buf_payload, ']');
305
306
perf_io_write_fl(file, line, event_name, NULL, NULL, NULL, NULL,
307
&buf_payload);
@@ -329,10 +330,14 @@ static void fn_child_start_fl(const char *file, int line,
330
sq_quote_buf_pretty(&buf_payload, cmd->dir);
331
}
332
332
- strbuf_addstr(&buf_payload, " argv:");
333
- if (cmd->git_cmd)
334
- strbuf_addstr(&buf_payload, " git");
335
- sq_quote_argv_pretty(&buf_payload, cmd->argv);
333
+ strbuf_addstr(&buf_payload, " argv:[");
334
+ if (cmd->git_cmd) {
335
+ strbuf_addstr(&buf_payload, "git");
336
+ if (cmd->argv[0])
337
+ strbuf_addch(&buf_payload, ' ');
338
+ }
339
+ sq_append_quote_argv_pretty(&buf_payload, cmd->argv);
340
+ strbuf_addch(&buf_payload, ']');
341
342
perf_io_write_fl(file, line, event_name, NULL, &us_elapsed_absolute,
343
NULL, NULL, &buf_payload);
@@ -383,10 +388,14 @@ static void fn_exec_fl(const char *file, int line, uint64_t us_elapsed_absolute,
388
struct strbuf buf_payload = STRBUF_INIT;
389
390
strbuf_addf(&buf_payload, "id:%d ", exec_id);
386
- strbuf_addstr(&buf_payload, "argv:");
387
- if (exe)
388
- strbuf_addf(&buf_payload, " %s", exe);
389
- sq_quote_argv_pretty(&buf_payload, argv);
391
+ strbuf_addstr(&buf_payload, "argv:[");
392
+ if (exe) {
393
+ strbuf_addstr(&buf_payload, exe);
394
+ if (argv[0])
395
+ strbuf_addch(&buf_payload, ' ');
396
+ }
397
+ sq_append_quote_argv_pretty(&buf_payload, argv);
398
+ strbuf_addch(&buf_payload, ']');
399
400
perf_io_write_fl(file, line, event_name, NULL, &us_elapsed_absolute,
401
NULL, NULL, &buf_payload);