diff options
Diffstat (limited to 'scripts/tracetool.py')
-rwxr-xr-x | scripts/tracetool.py | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/scripts/tracetool.py b/scripts/tracetool.py index c9e47371d3..0c9d992fd8 100755 --- a/scripts/tracetool.py +++ b/scripts/tracetool.py @@ -49,6 +49,7 @@ Options: --binary <path> Full path to QEMU binary. --target-type <type> QEMU emulator target type ('system' or 'user'). --target-name <name> QEMU emulator target name. + --group <name> Name of the event group --probe-prefix <prefix> Prefix for dtrace probe names (default: qemu-<target-type>-<target-name>).\ """ % { @@ -62,22 +63,12 @@ Options: else: sys.exit(1) -def make_group_name(filename): - dirname = os.path.realpath(os.path.dirname(filename)) - basedir = os.path.join(os.path.dirname(__file__), os.pardir) - basedir = os.path.realpath(os.path.abspath(basedir)) - dirname = dirname[len(basedir) + 1:] - - if dirname == "": - return "common" - return "_" + re.sub(r"[^A-Za-z0-9]", "_", dirname) - def main(args): global _SCRIPT _SCRIPT = args[0] long_opts = ["backends=", "format=", "help", "list-backends", - "check-backends"] + "check-backends", "group="] long_opts += ["binary=", "target-type=", "target-name=", "probe-prefix="] try: @@ -88,6 +79,7 @@ def main(args): check_backends = False arg_backends = [] arg_format = "" + arg_group = None binary = None target_type = None target_name = None @@ -98,6 +90,8 @@ def main(args): elif opt == "--backends": arg_backends = arg.split(",") + elif opt == "--group": + arg_group = arg elif opt == "--format": arg_format = arg @@ -129,6 +123,9 @@ def main(args): sys.exit(1) sys.exit(0) + if arg_group is None: + error_opt("group name is required") + if arg_format == "stap": if binary is None: error_opt("--binary is required for SystemTAP tapset generator") @@ -145,10 +142,8 @@ def main(args): with open(args[0], "r") as fh: events = tracetool.read_events(fh) - group = make_group_name(args[0]) - try: - tracetool.generate(events, group, arg_format, arg_backends, + tracetool.generate(events, arg_group, arg_format, arg_backends, binary=binary, probe_prefix=probe_prefix) except tracetool.TracetoolError as e: error_opt(str(e)) |