A group of trace events can be enabled in early running stage through adding its group name prefixed with "group:" to trace events list file which is passed to "-trace events".
Signed-off-by: Mark Wu <wu...@linux.vnet.ibm.com> --- trace/control.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/trace/control.c b/trace/control.c index 4c5527d..18e14a1 100644 --- a/trace/control.c +++ b/trace/control.c @@ -23,10 +23,27 @@ void trace_backend_init_events(const char *fname) exit(1); } char line_buf[1024]; + char *group; + while (fgets(line_buf, sizeof(line_buf), fp)) { size_t len = strlen(line_buf); if (len > 1) { /* skip empty lines */ line_buf[len - 1] = '\0'; + group = strstr(line_buf, "group:"); + if (group != NULL) { + group += strlen("group:"); + if (group == NULL) { + fprintf(stderr, "error: empty group name\n"); + exit(1); + } + if (!trace_event_group_set_state(group, true)) { + fprintf(stderr, "error: trace event group '%s'" + "does not exist\n", group); + exit(1); + } + continue; + } + if (!trace_event_set_state(line_buf, true)) { fprintf(stderr, "error: trace event '%s' does not exist\n", line_buf); -- 1.7.1