Commit 7d08f0da authored by Lluís Vilanova's avatar Lluís Vilanova Committed by Stefan Hajnoczi
Browse files

trace: [tracetool] Add method 'Event.api' to build event names



Makes it easier to ensure proper naming across the different frontends and backends.

Signed-off-by: default avatarLluís Vilanova <vilanova@ac.upc.edu>
Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
parent 98983704
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ Machinery for generating tracing-related intermediate files.
"""

__author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012, Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012-2014, Lluís Vilanova <vilanova@ac.upc.edu>"
__license__    = "GPL version 2 or (at your option) any later version"

__maintainer__ = "Stefan Hajnoczi"
@@ -173,6 +173,14 @@ class Event(object):
                                          self.args,
                                          self.fmt)

    QEMU_TRACE               = "trace_%(name)s"

    def api(self, fmt=None):
        if fmt is None:
            fmt = Event.QEMU_TRACE
        return fmt % {"name": self.name}


def _read_events(fobj):
    res = []
    for line in fobj:
+3 −3
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ DTrace/SystemTAP backend.
"""

__author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012, Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012-2014, Lluís Vilanova <vilanova@ac.upc.edu>"
__license__    = "GPL version 2 or (at your option) any later version"

__maintainer__ = "Stefan Hajnoczi"
@@ -44,10 +44,10 @@ def h(events):
        '')

    for e in events:
        out('static inline void trace_%(name)s(%(args)s) {',
        out('static inline void %(api)s(%(args)s) {',
            '    QEMU_%(uppername)s(%(argnames)s);',
            '}',
            name = e.name,
            api = e.api(),
            args = e.args,
            uppername = e.name.upper(),
            argnames = ", ".join(e.args.names()),
+5 −5
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ Simple built-in backend.
"""

__author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012, Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012-2014, Lluís Vilanova <vilanova@ac.upc.edu>"
__license__    = "GPL version 2 or (at your option) any later version"

__maintainer__ = "Stefan Hajnoczi"
@@ -34,10 +34,10 @@ def c(events):
        )

    for num, event in enumerate(events):
        out('void trace_%(name)s(%(args)s)',
        out('void %(api)s(%(args)s)',
            '{',
            '    TraceBufferRecord rec;',
            name = event.name,
            api = event.api(),
            args = event.args,
            )
        sizes = []
@@ -95,7 +95,7 @@ def c(events):

def h(events):
    for event in events:
        out('void trace_%(name)s(%(args)s);',
            name = event.name,
        out('void %(api)s(%(args)s);',
            api = event.api(),
            args = event.args,
            )
+3 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ Stderr built-in backend.
"""

__author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012, Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012-2014, Lluís Vilanova <vilanova@ac.upc.edu>"
__license__    = "GPL version 2 or (at your option) any later version"

__maintainer__ = "Stefan Hajnoczi"
@@ -33,13 +33,14 @@ def h(events):
        if len(e.args) > 0:
            argnames = ", " + argnames

        out('static inline void trace_%(name)s(%(args)s)',
        out('static inline void %(api)s(%(args)s)',
            '{',
            '    bool _state = trace_event_get_state(%(event_id)s);',
            '    if (_state) {',
            '        fprintf(stderr, "%(name)s " %(fmt)s "\\n" %(argnames)s);',
            '    }',
            '}',
            api = e.api(),
            name = e.name,
            args = e.args,
            event_id = "TRACE_" + e.name.upper(),
+4 −3
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ LTTng User Space Tracing backend.
"""

__author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012, Lluís Vilanova <vilanova@ac.upc.edu>"
__copyright__  = "Copyright 2012-2014, Lluís Vilanova <vilanova@ac.upc.edu>"
__license__    = "GPL version 2 or (at your option) any later version"

__maintainer__ = "Stefan Hajnoczi"
@@ -31,11 +31,12 @@ def h(events):
        if len(e.args) > 0:
            argnames = ", " + argnames

        out('static inline void trace_%(name)s(%(args)s)',
        out('static inline void %(api)s(%(args)s)',
            '{',
            '    tracepoint(qemu, %(name)s%(tp_args)s);',
            '}',
            '',
            api = e.api()
            name = e.name,
            args = e.args,
            tp_args = argnames,
Loading