@@ -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);
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 <wudxw@linux.vnet.ibm.com> --- trace/control.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-)