Merge tag 'pull-la-20220704' of https://gitlab.com/rth7680/qemu into staging
[qemu.git] / scripts / tracetool / backend / ust.py
1 # -*- coding: utf-8 -*-
2
3 """
4 LTTng User Space Tracing backend.
5 """
6
7 __author__ = "Lluís Vilanova <vilanova@ac.upc.edu>"
8 __copyright__ = "Copyright 2012-2017, Lluís Vilanova <vilanova@ac.upc.edu>"
9 __license__ = "GPL version 2 or (at your option) any later version"
10
11 __maintainer__ = "Stefan Hajnoczi"
12 __email__ = "stefanha@redhat.com"
13
14
15 from tracetool import out
16
17
18 PUBLIC = True
19
20
21 def generate_h_begin(events, group):
22 header = 'trace-ust-' + group + '.h'
23 out('#include <lttng/tracepoint.h>',
24 '#include "%s"' % header,
25 '',
26 '/* tracepoint_enabled() was introduced in LTTng UST 2.7 */',
27 '#ifndef tracepoint_enabled',
28 '#define tracepoint_enabled(a, b) true',
29 '#endif',
30 '')
31
32
33 def generate_h(event, group):
34 argnames = ", ".join(event.args.names())
35 if len(event.args) > 0:
36 argnames = ", " + argnames
37
38 out(' tracepoint(qemu, %(name)s%(tp_args)s);',
39 name=event.name,
40 tp_args=argnames)
41
42
43 def generate_h_backend_dstate(event, group):
44 out(' tracepoint_enabled(qemu, %(name)s) || \\',
45 name=event.name)