static void report_event_triggers(struct buffer_instance *instance) { struct event_iter *iter; char *path; char *system; enum event_iter_type type; enum event_process processed = PROCESSED_NONE; path = get_instance_file(instance, "events"); if (!path) die("malloc"); iter = trace_event_iter_alloc(path); processed = PROCESSED_NONE; system = NULL; while ((type = trace_event_iter_next(iter, path, system))) { if (type == EVENT_ITER_SYSTEM) { system = iter->system_dent->d_name; continue; } process_event_trigger(path, iter, &processed); } trace_event_iter_free(iter); tracecmd_put_tracing_file(path); }
void show_instance_file(struct buffer_instance *instance, const char *name) { char *path; path = get_instance_file(instance, name); dump_file_content(path); tracecmd_put_tracing_file(path); }
static void report_ftrace_filters(struct buffer_instance *instance) { char *path; path = get_instance_file(instance, "set_ftrace_filter"); if (!path) die("malloc"); list_functions(path, "Function Filter"); tracecmd_put_tracing_file(path); path = get_instance_file(instance, "set_ftrace_notrace"); if (!path) die("malloc"); list_functions(path, "Function No Trace"); tracecmd_put_tracing_file(path); }
static int get_instance_file_fd(struct buffer_instance *instance, const char *file) { char *path; int fd; path = get_instance_file(instance, file); fd = open(path, O_RDONLY); tracecmd_put_tracing_file(path); return fd; }
static void report_events(struct buffer_instance *instance) { struct event_iter *iter; char *str; char *cont; char *path; char *system; enum event_iter_type type; enum event_process processed = PROCESSED_NONE; str = get_instance_file_content(instance, "events/enable"); if (!str) return; cont = strstrip(str); printf("\nEvents:\n"); switch(*cont) { case '1': printf(" All enabled\n"); free(str); return; case '0': printf(" All disabled\n"); free(str); return; } free(str); path = get_instance_file(instance, "events"); if (!path) die("malloc"); iter = trace_event_iter_alloc(path); while (trace_event_iter_next(iter, path, NULL)) { process_event_enable(path, NULL, iter->system_dent->d_name, &processed); } reset_event_iter(iter); processed = PROCESSED_NONE; system = NULL; while ((type = trace_event_iter_next(iter, path, system))) { if (type == EVENT_ITER_SYSTEM) { /* Only process systems that are not fully enabled */ if (!process_individual_events(path, iter)) continue; system = iter->system_dent->d_name; if (processed) processed = PROCESSED_SYSTEM; continue; } process_event_enable(path, iter->system_dent->d_name, iter->event_dent->d_name, &processed); } trace_event_iter_free(iter); if (!processed) printf(" (none enabled)\n"); tracecmd_put_tracing_file(path); }