forked from 64kramsystem/qemu-pinning
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
trace: Provide a detailed event control interface
This interface decouples event obtaining from interaction. Events can be obtained through three different methods: * identifier * name * simple wildcard pattern Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
- Loading branch information
1 parent
45be2f5
commit b1bae81
Showing
4 changed files
with
349 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
/* | ||
* Interface for configuring and controlling the state of tracing events. | ||
* | ||
* Copyright (C) 2011-2012 Lluís Vilanova <vilanova@ac.upc.edu> | ||
* | ||
* This work is licensed under the terms of the GNU GPL, version 2 or later. | ||
* See the COPYING file in the top-level directory. | ||
*/ | ||
|
||
#ifndef TRACE__CONTROL_INTERNAL_H | ||
#define TRACE__CONTROL_INTERNAL_H | ||
|
||
#include <string.h> | ||
|
||
|
||
extern TraceEvent trace_events[]; | ||
|
||
|
||
static inline TraceEvent *trace_event_id(TraceEventID id) | ||
{ | ||
assert(id < trace_event_count()); | ||
return &trace_events[id]; | ||
} | ||
|
||
static inline TraceEventID trace_event_count(void) | ||
{ | ||
return TRACE_EVENT_COUNT; | ||
} | ||
|
||
static inline bool trace_event_is_pattern(const char *str) | ||
{ | ||
assert(str != NULL); | ||
return strchr(str, '*') != NULL; | ||
} | ||
|
||
static inline TraceEventID trace_event_get_id(TraceEvent *ev) | ||
{ | ||
assert(ev != NULL); | ||
return ev->id; | ||
} | ||
|
||
static inline const char * trace_event_get_name(TraceEvent *ev) | ||
{ | ||
assert(ev != NULL); | ||
return ev->name; | ||
} | ||
|
||
static inline bool trace_event_get_state_static(TraceEvent *ev) | ||
{ | ||
assert(ev != NULL); | ||
return ev->sstate; | ||
} | ||
|
||
static inline bool trace_event_get_state_dynamic(TraceEvent *ev) | ||
{ | ||
assert(ev != NULL); | ||
return ev->dstate; | ||
} | ||
|
||
static inline void trace_event_set_state_dynamic(TraceEvent *ev, bool state) | ||
{ | ||
assert(ev != NULL); | ||
assert(trace_event_get_state_static(ev)); | ||
return trace_event_set_state_dynamic_backend(ev, state); | ||
} | ||
|
||
#endif /* TRACE__CONTROL_INTERNAL_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.