Browse Source

trace: [tracetool] Explicitly identify public backends

Public backends are those printed by "--list-backends" and thus considered valid
by the configure script.

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
stable-1.5
Lluís Vilanova 13 years ago
committed by Stefan Hajnoczi
parent
commit
93fba1618d
  1. 4
      scripts/tracetool.py
  2. 16
      scripts/tracetool/backend/__init__.py
  3. 3
      scripts/tracetool/backend/dtrace.py
  4. 4
      scripts/tracetool/backend/simple.py
  5. 3
      scripts/tracetool/backend/stderr.py
  6. 3
      scripts/tracetool/backend/ust.py

4
scripts/tracetool.py

@ -90,8 +90,8 @@ def main(args):
arg_format = arg
elif opt == "--list-backends":
backends = tracetool.backend.get_list()
out(", ".join([ b for b,_ in backends ]))
public_backends = tracetool.backend.get_list(only_public = True)
out(", ".join([ b for b,_ in public_backends ]))
sys.exit(0)
elif opt == "--check-backend":
check_backend = True

16
scripts/tracetool/backend/__init__.py

@ -17,6 +17,16 @@ considered its short description.
All backends must generate their contents through the 'tracetool.out' routine.
Backend attributes
------------------
========= ====================================================================
Attribute Description
========= ====================================================================
PUBLIC If exists and is set to 'True', the backend is considered "public".
========= ====================================================================
Backend functions
-----------------
@ -42,7 +52,7 @@ import os
import tracetool
def get_list():
def get_list(only_public = False):
"""Get a list of (name, description) pairs."""
res = [("nop", "Tracing disabled.")]
modnames = []
@ -57,6 +67,10 @@ def get_list():
continue
module = module[1]
public = getattr(module, "PUBLIC", False)
if only_public and not public:
continue
doc = module.__doc__
if doc is None:
doc = ""

3
scripts/tracetool/backend/dtrace.py

@ -16,6 +16,9 @@ __email__ = "stefanha@linux.vnet.ibm.com"
from tracetool import out
PUBLIC = True
PROBEPREFIX = None
def _probeprefix():

4
scripts/tracetool/backend/simple.py

@ -15,6 +15,10 @@ __email__ = "stefanha@linux.vnet.ibm.com"
from tracetool import out
PUBLIC = True
def is_string(arg):
strtype = ('const char*', 'char*', 'const char *', 'char *')
if arg.lstrip().startswith(strtype):

3
scripts/tracetool/backend/stderr.py

@ -16,6 +16,9 @@ __email__ = "stefanha@linux.vnet.ibm.com"
from tracetool import out
PUBLIC = True
def c(events):
out('#include "trace.h"',
'',

3
scripts/tracetool/backend/ust.py

@ -16,6 +16,9 @@ __email__ = "stefanha@linux.vnet.ibm.com"
from tracetool import out
PUBLIC = True
def c(events):
out('#include <ust/marker.h>',
'#undef mutex_lock',

Loading…
Cancel
Save