[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/2] trace: fix trace_event_get_state() for SystemTa
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH 0/2] trace: fix trace_event_get_state() for SystemTap and LTTng UST |
Date: |
Fri, 28 Jul 2017 10:20:51 +0100 |
Trace events that compute their arguments can affect performance. The
following idom can be used to avoid computing arguments when the trace event is
disabled:
if (trace_event_get_state(TRACE_MY_EVENT)) {
char *str = g_strdup_printf("Expensive string ...", ...);
trace_my_event(str);
g_free(str);
}
Unfortunately this breaks the trace event for SystemTap and LTTng UST since
those tracers manage their own enabled/disabled state.
These patches add per-backend dstate to trace_event_get_state() so that the
trace event fires as expected when enabled via SystemTap or LTTng UST.
Stefan Hajnoczi (2):
trace: add TRACE_<event>_BACKEND_DSTATE()
trace: check backend dstate in trace_event_get_state()
trace/control.h | 20 ++++++++++++++++++--
scripts/tracetool/__init__.py | 1 +
scripts/tracetool/backend/__init__.py | 3 +++
scripts/tracetool/backend/dtrace.py | 12 ++++++++++++
scripts/tracetool/backend/ftrace.py | 2 +-
scripts/tracetool/backend/log.py | 3 ++-
scripts/tracetool/backend/simple.py | 2 +-
scripts/tracetool/backend/syslog.py | 3 ++-
scripts/tracetool/backend/ust.py | 5 +++++
scripts/tracetool/format/h.py | 10 ++++++++++
10 files changed, 55 insertions(+), 6 deletions(-)
--
2.13.3