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)
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)
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)