Esempio n. 1
0
def generate(fevents, format, backend,
             binary = None, probe_prefix = None):
    """Generate the output for the given (format, backend) pair.

    Parameters
    ----------
    fevents : file
        Event description file.
    format : str
        Output format name.
    backend : str
        Output backend name.
    binary : str or None
        See tracetool.backend.dtrace.BINARY.
    probe_prefix : str or None
        See tracetool.backend.dtrace.PROBEPREFIX.
    """
    # fix strange python error (UnboundLocalError tracetool)
    import tracetool

    format = str(format)
    if len(format) is 0:
        raise TracetoolError("format not set")
    mformat = format.replace("-", "_")
    if not tracetool.format.exists(mformat):
        raise TracetoolError("unknown format: %s" % format)

    backend = str(backend)
    if len(backend) is 0:
        raise TracetoolError("backend not set")
    mbackend = backend.replace("-", "_")
    if not tracetool.backend.exists(mbackend):
        raise TracetoolError("unknown backend: %s" % backend)

    if not tracetool.backend.compatible(mbackend, mformat):
        raise TracetoolError("backend '%s' not compatible with format '%s'" %
                             (backend, format))

    import tracetool.backend.dtrace
    tracetool.backend.dtrace.BINARY = binary
    tracetool.backend.dtrace.PROBEPREFIX = probe_prefix

    events = _read_events(fevents)

    if backend == "nop":
        ( e.properies.add("disable") for e in events )

    tracetool.format.generate_begin(mformat, events)
    tracetool.backend.generate("nop", format,
                               [ e
                                 for e in events
                                 if "disable" in e.properties ])
    tracetool.backend.generate(backend, format,
                               [ e
                                 for e in events
                                 if "disable" not in e.properties ])
    tracetool.format.generate_end(mformat, events)
Esempio n. 2
0
def generate(fevents, format, backend, binary=None, probe_prefix=None):
    """Generate the output for the given (format, backend) pair.

    Parameters
    ----------
    fevents : file
        Event description file.
    format : str
        Output format name.
    backend : str
        Output backend name.
    binary : str or None
        See tracetool.backend.dtrace.BINARY.
    probe_prefix : str or None
        See tracetool.backend.dtrace.PROBEPREFIX.
    """
    # fix strange python error (UnboundLocalError tracetool)
    import tracetool

    format = str(format)
    if len(format) is 0:
        raise TracetoolError("format not set")
    mformat = format.replace("-", "_")
    if not tracetool.format.exists(mformat):
        raise TracetoolError("unknown format: %s" % format)

    backend = str(backend)
    if len(backend) is 0:
        raise TracetoolError("backend not set")
    mbackend = backend.replace("-", "_")
    if not tracetool.backend.exists(mbackend):
        raise TracetoolError("unknown backend: %s" % backend)

    if not tracetool.backend.compatible(mbackend, mformat):
        raise TracetoolError("backend '%s' not compatible with format '%s'" %
                             (backend, format))

    import tracetool.backend.dtrace
    tracetool.backend.dtrace.BINARY = binary
    tracetool.backend.dtrace.PROBEPREFIX = probe_prefix

    events = _read_events(fevents)

    if backend == "nop":
        (e.properies.add("disable") for e in events)

    tracetool.format.generate_begin(mformat, events)
    tracetool.backend.generate(
        "nop", format, [e for e in events if "disable" in e.properties])
    tracetool.backend.generate(
        backend, format, [e for e in events if "disable" not in e.properties])
    tracetool.format.generate_end(mformat, events)
Esempio n. 3
0
def generate(fevents, format, backend,
             binary=None, probe_prefix=None):
    """Generate the output for the given (format, backend) pair.

    Parameters
    ----------
    fevents : file
        Event description file.
    format : str
        Output format name.
    backend : str
        Output backend name.
    binary : str or None
        See tracetool.backend.dtrace.BINARY.
    probe_prefix : str or None
        See tracetool.backend.dtrace.PROBEPREFIX.
    """
    # fix strange python error (UnboundLocalError tracetool)
    import tracetool

    format = str(format)
    if len(format) is 0:
        raise TracetoolError("format not set")
    if not tracetool.format.exists(format):
        raise TracetoolError("unknown format: %s" % format)
    format = format.replace("-", "_")

    backend = str(backend)
    if len(backend) is 0:
        raise TracetoolError("backend not set")
    if not tracetool.backend.exists(backend):
        raise TracetoolError("unknown backend: %s" % backend)
    backend = backend.replace("-", "_")
    backend = tracetool.backend.Wrapper(backend, format)

    import tracetool.backend.dtrace
    tracetool.backend.dtrace.BINARY = binary
    tracetool.backend.dtrace.PROBEPREFIX = probe_prefix

    events = _read_events(fevents)

    tracetool.format.generate(events, format, backend)
Esempio n. 4
0
def generate(fevents, format, backend, binary=None, probe_prefix=None):
    """Generate the output for the given (format, backend) pair.

    Parameters
    ----------
    fevents : file
        Event description file.
    format : str
        Output format name.
    backend : str
        Output backend name.
    binary : str or None
        See tracetool.backend.dtrace.BINARY.
    probe_prefix : str or None
        See tracetool.backend.dtrace.PROBEPREFIX.
    """
    # fix strange python error (UnboundLocalError tracetool)
    import tracetool

    format = str(format)
    if len(format) is 0:
        raise TracetoolError("format not set")
    if not tracetool.format.exists(format):
        raise TracetoolError("unknown format: %s" % format)
    format = format.replace("-", "_")

    backend = str(backend)
    if len(backend) is 0:
        raise TracetoolError("backend not set")
    if not tracetool.backend.exists(backend):
        raise TracetoolError("unknown backend: %s" % backend)
    backend = backend.replace("-", "_")
    backend = tracetool.backend.Wrapper(backend, format)

    import tracetool.backend.dtrace
    tracetool.backend.dtrace.BINARY = binary
    tracetool.backend.dtrace.PROBEPREFIX = probe_prefix

    events = _read_events(fevents)

    tracetool.format.generate(events, format, backend)