Adding upstream version 1:10.0.2+ds.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
bf2768bd0f
commit
ea34ddeea6
37998 changed files with 9510514 additions and 0 deletions
72
scripts/tracetool/backend/dtrace.py
Normal file
72
scripts/tracetool/backend/dtrace.py
Normal file
|
@ -0,0 +1,72 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
DTrace/SystemTAP backend.
|
||||
"""
|
||||
|
||||
__author__ = "Lluís Vilanova <vilanova@ac.upc.edu>"
|
||||
__copyright__ = "Copyright 2012-2017, Lluís Vilanova <vilanova@ac.upc.edu>"
|
||||
__license__ = "GPL version 2 or (at your option) any later version"
|
||||
|
||||
__maintainer__ = "Stefan Hajnoczi"
|
||||
__email__ = "stefanha@redhat.com"
|
||||
|
||||
|
||||
from tracetool import out
|
||||
|
||||
|
||||
PUBLIC = True
|
||||
|
||||
|
||||
PROBEPREFIX = None
|
||||
|
||||
def probeprefix():
|
||||
if PROBEPREFIX is None:
|
||||
raise ValueError("you must set PROBEPREFIX")
|
||||
return PROBEPREFIX
|
||||
|
||||
|
||||
BINARY = None
|
||||
|
||||
def binary():
|
||||
if BINARY is None:
|
||||
raise ValueError("you must set BINARY")
|
||||
return BINARY
|
||||
|
||||
|
||||
def generate_h_begin(events, group):
|
||||
if group == "root":
|
||||
header = "trace-dtrace-root.h"
|
||||
else:
|
||||
header = "trace-dtrace-%s.h" % group
|
||||
|
||||
# Workaround for ust backend, which also includes <sys/sdt.h> and may
|
||||
# require SDT_USE_VARIADIC to be defined. If dtrace includes <sys/sdt.h>
|
||||
# first without defining SDT_USE_VARIADIC then ust breaks because the
|
||||
# STAP_PROBEV() macro is not defined.
|
||||
out('#ifndef SDT_USE_VARIADIC')
|
||||
out('#define SDT_USE_VARIADIC 1')
|
||||
out('#endif')
|
||||
|
||||
out('#include "%s"' % header,
|
||||
'')
|
||||
|
||||
out('#undef SDT_USE_VARIADIC')
|
||||
|
||||
# SystemTap defines <provider>_<name>_ENABLED() but other DTrace
|
||||
# implementations might not.
|
||||
for e in events:
|
||||
out('#ifndef QEMU_%(uppername)s_ENABLED',
|
||||
'#define QEMU_%(uppername)s_ENABLED() true',
|
||||
'#endif',
|
||||
uppername=e.name.upper())
|
||||
|
||||
def generate_h(event, group):
|
||||
out(' QEMU_%(uppername)s(%(argnames)s);',
|
||||
uppername=event.name.upper(),
|
||||
argnames=", ".join(event.args.names()))
|
||||
|
||||
|
||||
def generate_h_backend_dstate(event, group):
|
||||
out(' QEMU_%(uppername)s_ENABLED() || \\',
|
||||
uppername=event.name.upper())
|
Loading…
Add table
Add a link
Reference in a new issue