qmp.c (95a9457fd44ad97c518858a4e1586a5498f9773c) | qmp.c (54aa3de72ea2aaa2e903e7e879a4f3dda515a00e) |
---|---|
1/* 2 * QMP commands for tracing events. 3 * 4 * Copyright (C) 2014-2016 Lluís Vilanova <vilanova@ac.upc.edu> 5 * 6 * This work is licensed under the terms of the GNU GPL, version 2 or later. 7 * See the COPYING file in the top-level directory. 8 */ --- 78 unchanged lines hidden (view full) --- 87 /* Check events */ 88 if (!check_events(has_vcpu, true, is_pattern, name, errp)) { 89 return NULL; 90 } 91 92 /* Get states (all errors checked above) */ 93 trace_event_iter_init(&iter, name); 94 while ((ev = trace_event_iter_next(&iter)) != NULL) { | 1/* 2 * QMP commands for tracing events. 3 * 4 * Copyright (C) 2014-2016 Lluís Vilanova <vilanova@ac.upc.edu> 5 * 6 * This work is licensed under the terms of the GNU GPL, version 2 or later. 7 * See the COPYING file in the top-level directory. 8 */ --- 78 unchanged lines hidden (view full) --- 87 /* Check events */ 88 if (!check_events(has_vcpu, true, is_pattern, name, errp)) { 89 return NULL; 90 } 91 92 /* Get states (all errors checked above) */ 93 trace_event_iter_init(&iter, name); 94 while ((ev = trace_event_iter_next(&iter)) != NULL) { |
95 TraceEventInfoList *elem; | 95 TraceEventInfo *value; |
96 bool is_vcpu = trace_event_is_vcpu(ev); 97 if (has_vcpu && !is_vcpu) { 98 continue; 99 } 100 | 96 bool is_vcpu = trace_event_is_vcpu(ev); 97 if (has_vcpu && !is_vcpu) { 98 continue; 99 } 100 |
101 elem = g_new(TraceEventInfoList, 1); 102 elem->value = g_new(TraceEventInfo, 1); 103 elem->value->vcpu = is_vcpu; 104 elem->value->name = g_strdup(trace_event_get_name(ev)); | 101 value = g_new(TraceEventInfo, 1); 102 value->vcpu = is_vcpu; 103 value->name = g_strdup(trace_event_get_name(ev)); |
105 106 if (!trace_event_get_state_static(ev)) { | 104 105 if (!trace_event_get_state_static(ev)) { |
107 elem->value->state = TRACE_EVENT_STATE_UNAVAILABLE; | 106 value->state = TRACE_EVENT_STATE_UNAVAILABLE; |
108 } else { 109 if (has_vcpu) { 110 if (is_vcpu) { 111 if (trace_event_get_vcpu_state_dynamic(cpu, ev)) { | 107 } else { 108 if (has_vcpu) { 109 if (is_vcpu) { 110 if (trace_event_get_vcpu_state_dynamic(cpu, ev)) { |
112 elem->value->state = TRACE_EVENT_STATE_ENABLED; | 111 value->state = TRACE_EVENT_STATE_ENABLED; |
113 } else { | 112 } else { |
114 elem->value->state = TRACE_EVENT_STATE_DISABLED; | 113 value->state = TRACE_EVENT_STATE_DISABLED; |
115 } 116 } 117 /* else: already skipped above */ 118 } else { 119 if (trace_event_get_state_dynamic(ev)) { | 114 } 115 } 116 /* else: already skipped above */ 117 } else { 118 if (trace_event_get_state_dynamic(ev)) { |
120 elem->value->state = TRACE_EVENT_STATE_ENABLED; | 119 value->state = TRACE_EVENT_STATE_ENABLED; |
121 } else { | 120 } else { |
122 elem->value->state = TRACE_EVENT_STATE_DISABLED; | 121 value->state = TRACE_EVENT_STATE_DISABLED; |
123 } 124 } 125 } | 122 } 123 } 124 } |
126 elem->next = events; 127 events = elem; | 125 QAPI_LIST_PREPEND(events, value); |
128 } 129 130 return events; 131} 132 133void qmp_trace_event_set_state(const char *name, bool enable, 134 bool has_ignore_unavailable, bool ignore_unavailable, 135 bool has_vcpu, int64_t vcpu, --- 35 unchanged lines hidden --- | 126 } 127 128 return events; 129} 130 131void qmp_trace_event_set_state(const char *name, bool enable, 132 bool has_ignore_unavailable, bool ignore_unavailable, 133 bool has_vcpu, int64_t vcpu, --- 35 unchanged lines hidden --- |