mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
qapi/commands: Optionally generate trace for QMP commands
Add trace generation disabled by default and new option --gen-trace to enable it. The next commit will enable it for qapi/, but not for qga/ and tests/. Making it work for the latter two would involve some Meson hackery to ensure we generate the trace-events files before trace-tool uses them. Since we don't actually support tracing there, we'll bypass that problem. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20220126161130.3240892-4-vsementsov@virtuozzo.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> [Superfluous #include dropped] Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
167d913f34
commit
bd2017bc41
2 changed files with 90 additions and 14 deletions
|
@ -32,7 +32,8 @@ def generate(schema_file: str,
|
|||
output_dir: str,
|
||||
prefix: str,
|
||||
unmask: bool = False,
|
||||
builtins: bool = False) -> None:
|
||||
builtins: bool = False,
|
||||
gen_tracing: bool = False) -> None:
|
||||
"""
|
||||
Generate C code for the given schema into the target directory.
|
||||
|
||||
|
@ -49,7 +50,7 @@ def generate(schema_file: str,
|
|||
schema = QAPISchema(schema_file)
|
||||
gen_types(schema, output_dir, prefix, builtins)
|
||||
gen_visit(schema, output_dir, prefix, builtins)
|
||||
gen_commands(schema, output_dir, prefix)
|
||||
gen_commands(schema, output_dir, prefix, gen_tracing)
|
||||
gen_events(schema, output_dir, prefix)
|
||||
gen_introspect(schema, output_dir, prefix, unmask)
|
||||
|
||||
|
@ -74,6 +75,12 @@ def main() -> int:
|
|||
parser.add_argument('-u', '--unmask-non-abi-names', action='store_true',
|
||||
dest='unmask',
|
||||
help="expose non-ABI names in introspection")
|
||||
|
||||
# Option --gen-trace exists so we can avoid solving build system
|
||||
# problems. TODO Drop it when we no longer need it.
|
||||
parser.add_argument('--gen-trace', action='store_true',
|
||||
help="add trace events to qmp marshals")
|
||||
|
||||
parser.add_argument('schema', action='store')
|
||||
args = parser.parse_args()
|
||||
|
||||
|
@ -88,7 +95,8 @@ def main() -> int:
|
|||
output_dir=args.output_dir,
|
||||
prefix=args.prefix,
|
||||
unmask=args.unmask,
|
||||
builtins=args.builtins)
|
||||
builtins=args.builtins,
|
||||
gen_tracing=args.gen_trace)
|
||||
except QAPIError as err:
|
||||
print(f"{sys.argv[0]}: {str(err)}", file=sys.stderr)
|
||||
return 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue