Lines Matching +full:- +full:- +full:enable +full:- +full:trace +full:- +full:backend
4 * Copyright (C) 2011-2016 Lluís Vilanova <vilanova@ac.upc.edu>
7 * See the COPYING file in the top-level directory.
11 #include "trace/control.h"
15 #include "trace/simple.h"
18 #include "trace/ftrace.h"
27 #include "qemu/error-report.h"
28 #include "qemu/config-file.h"
45 .name = "trace",
46 .implied_opt_name = "enable",
50 .name = "enable",
69 events[i]->id = next_id++; in trace_event_register_group()
76 st_init_group(nevent_groups - 1); in trace_event_register_group()
98 iter->event = 0; in trace_event_iter_init_all()
99 iter->group = 0; in trace_event_iter_init_all()
100 iter->group_id = -1; in trace_event_iter_init_all()
101 iter->pattern = NULL; in trace_event_iter_init_all()
107 iter->pattern = pattern; in trace_event_iter_init_pattern()
113 iter->group_id = group_id; in trace_event_iter_init_group()
118 while (iter->group < nevent_groups && in trace_event_iter_next()
119 event_groups[iter->group].events[iter->event] != NULL) { in trace_event_iter_next()
120 TraceEvent *ev = event_groups[iter->group].events[iter->event]; in trace_event_iter_next()
121 size_t group = iter->group; in trace_event_iter_next()
122 iter->event++; in trace_event_iter_next()
123 if (event_groups[iter->group].events[iter->event] == NULL) { in trace_event_iter_next()
124 iter->event = 0; in trace_event_iter_next()
125 iter->group++; in trace_event_iter_next()
127 if (iter->pattern && in trace_event_iter_next()
128 !g_pattern_match_simple(iter->pattern, trace_event_get_name(ev))) { in trace_event_iter_next()
131 if (iter->group_id != -1 && in trace_event_iter_next()
132 iter->group_id != group) { in trace_event_iter_next()
150 fprintf(f, "This list of names of trace points may be incomplete " in trace_list_events()
152 "Run 'qemu-trace-stap list %s' to print the full list.\n", in trace_list_events()
159 const bool enable = ('-' != line_buf[0]); in do_trace_enable_events() local
160 const char *line_ptr = enable ? line_buf : line_buf + 1; in do_trace_enable_events()
169 warn_report("trace event '%s' is not traceable", in do_trace_enable_events()
177 trace_event_set_state_dynamic(ev, enable); in do_trace_enable_events()
184 warn_report("trace event '%s' does not exist", in do_trace_enable_events()
223 line_buf[len - 1] = '\0'; in trace_init_events()
247 * If both the simple and the log backends are enabled, "--trace file" in trace_init_file()
248 * only applies to the simple backend; use "-D" for the log in trace_init_file()
249 * backend. However we should only override -D if we actually have in trace_init_file()
257 fprintf(stderr, "error: --trace file=...: " in trace_init_file()
268 fprintf(stderr, "failed to initialize simple tracing backend.\n"); in trace_init_backends()
275 fprintf(stderr, "failed to initialize ftrace backend.\n"); in trace_init_backends()
289 QemuOpts *opts = qemu_opts_parse_noisily(qemu_find_opts("trace"), in trace_opt_parse()
294 if (qemu_opt_get(opts, "enable")) { in trace_opt_parse()
295 trace_enable_events(qemu_opt_get(opts, "enable")); in trace_opt_parse()