1fbc54b94SLluís Vilanova#!/usr/bin/env python 2fbc54b94SLluís Vilanova# -*- coding: utf-8 -*- 3fbc54b94SLluís Vilanova 4fbc54b94SLluís Vilanova""" 5fbc54b94SLluís VilanovaLTTng User Space Tracing backend. 6fbc54b94SLluís Vilanova""" 7fbc54b94SLluís Vilanova 8fbc54b94SLluís Vilanova__author__ = "Lluís Vilanova <vilanova@ac.upc.edu>" 91ff7b531SLluís Vilanova__copyright__ = "Copyright 2012-2017, Lluís Vilanova <vilanova@ac.upc.edu>" 10fbc54b94SLluís Vilanova__license__ = "GPL version 2 or (at your option) any later version" 11fbc54b94SLluís Vilanova 12fbc54b94SLluís Vilanova__maintainer__ = "Stefan Hajnoczi" 13fbc54b94SLluís Vilanova__email__ = "stefanha@linux.vnet.ibm.com" 14fbc54b94SLluís Vilanova 15fbc54b94SLluís Vilanova 16fbc54b94SLluís Vilanovafrom tracetool import out 17fbc54b94SLluís Vilanova 18fbc54b94SLluís Vilanova 1993fba161SLluís VilanovaPUBLIC = True 2093fba161SLluís Vilanova 21fbc54b94SLluís Vilanova 2280dd5c49SDaniel P. Berrangedef generate_h_begin(events, group): 230ab8ed18SDaniel P. Berrange if group == "root": 240ab8ed18SDaniel P. Berrange header = "trace-ust-root.h" 250ab8ed18SDaniel P. Berrange else: 260ab8ed18SDaniel P. Berrange header = "trace-ust.h" 270ab8ed18SDaniel P. Berrange 289530570fSMohamad Gebai out('#include <lttng/tracepoint.h>', 290ab8ed18SDaniel P. Berrange '#include "%s"' % header, 30*3932ef3fSStefan Hajnoczi '', 31*3932ef3fSStefan Hajnoczi '/* tracepoint_enabled() was introduced in LTTng UST 2.7 */', 32*3932ef3fSStefan Hajnoczi '#ifndef tracepoint_enabled', 33*3932ef3fSStefan Hajnoczi '#define tracepoint_enabled(a, b) true', 34*3932ef3fSStefan Hajnoczi '#endif', 359530570fSMohamad Gebai '') 361dad2ce9SLluís Vilanova 371dad2ce9SLluís Vilanova 3880dd5c49SDaniel P. Berrangedef generate_h(event, group): 391dad2ce9SLluís Vilanova argnames = ", ".join(event.args.names()) 401dad2ce9SLluís Vilanova if len(event.args) > 0: 419530570fSMohamad Gebai argnames = ", " + argnames 429530570fSMohamad Gebai 431dad2ce9SLluís Vilanova out(' tracepoint(qemu, %(name)s%(tp_args)s);', 441dad2ce9SLluís Vilanova name=event.name, 451dad2ce9SLluís Vilanova tp_args=argnames) 46*3932ef3fSStefan Hajnoczi 47*3932ef3fSStefan Hajnoczi 48*3932ef3fSStefan Hajnoczidef generate_h_backend_dstate(event, group): 49*3932ef3fSStefan Hajnoczi out(' tracepoint_enabled(qemu, %(name)s) || \\', 50*3932ef3fSStefan Hajnoczi name=event.name) 51