Pull request
-----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmXwpoYACgkQnKSrs4Gr c8gE0wf/c0hNDKoV01N8IwfJdmIBySNeCYRQiwcR84iiPoGGAwYdKuLa7wHaQKiO iM0EV/ltJiiOGCHxlffVqLBzJurJHsHG6m429KBLRBXWc6gVzhCN9TjD8DwHxiTU qzczoev8NJ2y5mrxzPPPjMxSSJEe3Ynas6ngeHeYBUtu0PRNp79zceWdtS0sPzia sCI8EH/oCZQgVcwI/UkIOXjzbKK1lZWa2805//KIqvG27i9zHzLJ0l5eeLtbpZpy LnFGRyQGGf+jEKAJuT6598q6T+jCkLCMN6zpyKWGvcYleNvBnlw6+N8Il8zV7KSc TE5BNk+C7I9aimrRyaz3WrFCZW5DbQ== =q9Im -----END PGP SIGNATURE----- Merge tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu into staging Pull request # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmXwpoYACgkQnKSrs4Gr # c8gE0wf/c0hNDKoV01N8IwfJdmIBySNeCYRQiwcR84iiPoGGAwYdKuLa7wHaQKiO # iM0EV/ltJiiOGCHxlffVqLBzJurJHsHG6m429KBLRBXWc6gVzhCN9TjD8DwHxiTU # qzczoev8NJ2y5mrxzPPPjMxSSJEe3Ynas6ngeHeYBUtu0PRNp79zceWdtS0sPzia # sCI8EH/oCZQgVcwI/UkIOXjzbKK1lZWa2805//KIqvG27i9zHzLJ0l5eeLtbpZpy # LnFGRyQGGf+jEKAJuT6598q6T+jCkLCMN6zpyKWGvcYleNvBnlw6+N8Il8zV7KSc # TE5BNk+C7I9aimrRyaz3WrFCZW5DbQ== # =q9Im # -----END PGP SIGNATURE----- # gpg: Signature made Tue 12 Mar 2024 19:01:26 GMT # gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full] # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" [full] # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu: meson: generate .stp files for tools too tracetool: remove redundant --target-type / --target-name args Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
bab9dabe7d
@ -357,8 +357,7 @@ probes::
|
||||
|
||||
scripts/tracetool.py --backends=dtrace --format=stap \
|
||||
--binary path/to/qemu-binary \
|
||||
--target-type system \
|
||||
--target-name x86_64 \
|
||||
--probe-prefix qemu.system.x86_64 \
|
||||
--group=all \
|
||||
trace-events-all \
|
||||
qemu.stp
|
||||
|
63
meson.build
63
meson.build
@ -3812,6 +3812,7 @@ if host_os == 'darwin'
|
||||
entitlement = find_program('scripts/entitlement.sh')
|
||||
endif
|
||||
|
||||
traceable = []
|
||||
emulators = {}
|
||||
foreach target : target_dirs
|
||||
config_target = config_target_mak[target]
|
||||
@ -3980,29 +3981,11 @@ foreach target : target_dirs
|
||||
emulators += {exe['name']: emulator}
|
||||
endif
|
||||
|
||||
if stap.found()
|
||||
foreach stp: [
|
||||
{'ext': '.stp-build', 'fmt': 'stap', 'bin': meson.current_build_dir() / exe['name'], 'install': false},
|
||||
{'ext': '.stp', 'fmt': 'stap', 'bin': get_option('prefix') / get_option('bindir') / exe['name'], 'install': true},
|
||||
{'ext': '-simpletrace.stp', 'fmt': 'simpletrace-stap', 'bin': '', 'install': true},
|
||||
{'ext': '-log.stp', 'fmt': 'log-stap', 'bin': '', 'install': true},
|
||||
]
|
||||
custom_target(exe['name'] + stp['ext'],
|
||||
input: trace_events_all,
|
||||
output: exe['name'] + stp['ext'],
|
||||
install: stp['install'],
|
||||
install_dir: get_option('datadir') / 'systemtap/tapset',
|
||||
command: [
|
||||
tracetool, '--group=all', '--format=' + stp['fmt'],
|
||||
'--binary=' + stp['bin'],
|
||||
'--target-name=' + target_name,
|
||||
'--target-type=' + target_type,
|
||||
'--probe-prefix=qemu.' + target_type + '.' + target_name,
|
||||
'@INPUT@', '@OUTPUT@'
|
||||
],
|
||||
depend_files: tracetool_depends)
|
||||
endforeach
|
||||
endif
|
||||
traceable += [{
|
||||
'exe': exe['name'],
|
||||
'probe-prefix': 'qemu.' + target_type + '.' + target_name,
|
||||
}]
|
||||
|
||||
endforeach
|
||||
endforeach
|
||||
|
||||
@ -4037,6 +4020,14 @@ if have_tools
|
||||
install: true)
|
||||
|
||||
subdir('storage-daemon')
|
||||
|
||||
foreach exe: [ 'qemu-img', 'qemu-io', 'qemu-nbd', 'qemu-storage-daemon']
|
||||
traceable += [{
|
||||
'exe': exe,
|
||||
'probe-prefix': 'qemu.' + exe.substring(5).replace('-', '_')
|
||||
}]
|
||||
endforeach
|
||||
|
||||
subdir('contrib/rdmacm-mux')
|
||||
subdir('contrib/elf2dmp')
|
||||
|
||||
@ -4069,6 +4060,32 @@ if have_tools
|
||||
endif
|
||||
endif
|
||||
|
||||
if stap.found()
|
||||
foreach t: traceable
|
||||
foreach stp: [
|
||||
{'ext': '.stp-build', 'fmt': 'stap', 'bin': meson.current_build_dir() / t['exe'], 'install': false},
|
||||
{'ext': '.stp', 'fmt': 'stap', 'bin': get_option('prefix') / get_option('bindir') / t['exe'], 'install': true},
|
||||
{'ext': '-simpletrace.stp', 'fmt': 'simpletrace-stap', 'bin': '', 'install': true},
|
||||
{'ext': '-log.stp', 'fmt': 'log-stap', 'bin': '', 'install': true},
|
||||
]
|
||||
cmd = [
|
||||
tracetool, '--group=all', '--format=' + stp['fmt'],
|
||||
'--binary=' + stp['bin'],
|
||||
'--probe-prefix=' + t['probe-prefix'],
|
||||
'@INPUT@', '@OUTPUT@'
|
||||
]
|
||||
|
||||
custom_target(t['exe'] + stp['ext'],
|
||||
input: trace_events_all,
|
||||
output: t['exe'] + stp['ext'],
|
||||
install: stp['install'],
|
||||
install_dir: get_option('datadir') / 'systemtap/tapset',
|
||||
command: cmd,
|
||||
depend_files: tracetool_depends)
|
||||
endforeach
|
||||
endforeach
|
||||
endif
|
||||
|
||||
subdir('scripts')
|
||||
subdir('tools')
|
||||
subdir('pc-bios')
|
||||
|
@ -44,12 +44,9 @@ Options:
|
||||
--help This help message.
|
||||
--list-backends Print list of available backends.
|
||||
--check-backends Check if the given backend is valid.
|
||||
--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>).\
|
||||
--binary <path> Full path to QEMU binary (required for 'stap' backend).
|
||||
--group <name> Name of the event group.
|
||||
--probe-prefix <prefix> Prefix for dtrace probe names (required for 'stap' backend).
|
||||
""" % {
|
||||
"script" : _SCRIPT,
|
||||
"backends" : backend_descr,
|
||||
@ -67,7 +64,7 @@ def main(args):
|
||||
|
||||
long_opts = ["backends=", "format=", "help", "list-backends",
|
||||
"check-backends", "group="]
|
||||
long_opts += ["binary=", "target-type=", "target-name=", "probe-prefix="]
|
||||
long_opts += ["binary=", "probe-prefix="]
|
||||
|
||||
try:
|
||||
opts, args = getopt.getopt(args[1:], "", long_opts)
|
||||
@ -79,8 +76,6 @@ def main(args):
|
||||
arg_format = ""
|
||||
arg_group = None
|
||||
binary = None
|
||||
target_type = None
|
||||
target_name = None
|
||||
probe_prefix = None
|
||||
for opt, arg in opts:
|
||||
if opt == "--help":
|
||||
@ -102,10 +97,6 @@ def main(args):
|
||||
|
||||
elif opt == "--binary":
|
||||
binary = arg
|
||||
elif opt == '--target-type':
|
||||
target_type = arg
|
||||
elif opt == '--target-name':
|
||||
target_name = arg
|
||||
elif opt == '--probe-prefix':
|
||||
probe_prefix = arg
|
||||
|
||||
@ -127,13 +118,8 @@ def main(args):
|
||||
if arg_format == "stap":
|
||||
if binary is None:
|
||||
error_opt("--binary is required for SystemTAP tapset generator")
|
||||
if probe_prefix is None and target_type is None:
|
||||
error_opt("--target-type is required for SystemTAP tapset generator")
|
||||
if probe_prefix is None and target_name is None:
|
||||
error_opt("--target-name is required for SystemTAP tapset generator")
|
||||
|
||||
if probe_prefix is None:
|
||||
probe_prefix = ".".join(["qemu", target_type, target_name])
|
||||
error_opt("--probe-prefix is required for SystemTAP tapset generator")
|
||||
|
||||
if len(args) < 2:
|
||||
error_opt("missing trace-events and output filepaths")
|
||||
|
Loading…
Reference in New Issue
Block a user