def lttng_stop(): ret = lttng.stop(session_name) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret)) ret = lttng.destroy(session_name) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret))
def __init__(self, sess_type, **kwargs): self.name = 'untitled_'+sess_type if kwargs.get('name')==None else kwargs.get('name') self.path = '/lttng-traces/'+self.name if kwargs.get('path')==None else kwargs.get('path')+'/'+self.name # Making sure session does not already exist lttng.destroy(self.name) #Creating LTTng session domain self.domain = lttng.Domain() if sess_type=='kernel': self.domain.type = lttng.DOMAIN_KERNEL elif sess_type=='ust': self.domain.type = lttng.DOMAIN_UST else: print("invalid tracing session type '%r', session not created" %(sess_type)) #Enabling channel self.channel = lttng.Channel() self.channel.name="channel_1" self.channel.attr.overwrite = 0 self.channel.attr.subbuf_size = 4096 self.channel.attr.num_subbuf = 8 self.channel.attr.switch_timer_interval = 0 self.channel.attr.read_timer_interval = 200 self.channel.attr.output = lttng.EVENT_MMAP #creating handle self.handle = None self.handle = lttng.Handle(self.name, self.domain) if self.handle is None: raise LTTngError("Handle not created") #creating session ret = lttng.create(self.name,self.path) if ret < 0: raise LTTngError(lttng.strerror(ret)) #enabling channel on handle lttng.enable_channel(self.handle, self.channel) # Enabling all events self.event = lttng.Event() self.event.type = lttng.EVENT_ALL self.event.loglevel_type = lttng.EVENT_LOGLEVEL_ALL print ret = lttng.enable_event(self.handle, self.event, self.channel.name) if ret < 0: raise LTTngError(lttng.strerror(ret))
def lttng_start(events=["*"], domain_type=lttng.DOMAIN_UST): if lttng.session_daemon_alive() == 0: daemon_cmd = "lttng-sessiond --background" daemon_cmd += " --pidfile " + sessiond_pidfile subprocess.check_call(daemon_cmd, shell=True, stdout=sessiond_logfile, stderr=sessiond_logfile) lttng.destroy(session_name) ret = lttng.create_snapshot(session_name, trace_path) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret)) domain = lttng.Domain() domain.type = domain_type channel = lttng.Channel() channel.name = "channel0" lttng.channel_set_default_attr(domain, channel.attr) han = lttng.Handle(session_name, domain) if han is None: raise RuntimeError("LTTng: failed to create handle") ret = lttng.enable_channel(han, channel) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret)) for name in events: event = lttng.Event() event.name = name event.type = lttng.EVENT_TRACEPOINT event.loglevel = lttng.EVENT_LOGLEVEL_ALL ret = lttng.enable_event(han, event, channel.name) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret)) ret = lttng.start(session_name) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret))
def lttng_start(events = ["*"], domain_type = lttng.DOMAIN_UST): if lttng.session_daemon_alive() == 0: daemon_cmd = "lttng-sessiond --daemonize --quiet" daemon_cmd += " --pidfile " + sessiond_pidfile subprocess.check_call(daemon_cmd, shell=True) lttng.destroy(session_name) ret = lttng.create_snapshot(session_name, trace_path) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret)) domain = lttng.Domain() domain.type = domain_type channel = lttng.Channel() channel.name = "channel0" lttng.channel_set_default_attr(domain, channel.attr) han = lttng.Handle(session_name, domain) if han is None: raise RuntimeError("LTTng: failed to create handle") ret = lttng.enable_channel(han, channel) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret)) for name in events: event = lttng.Event() event.name = name event.type = lttng.EVENT_TRACEPOINT event.loglevel = lttng.EVENT_LOGLEVEL_ALL ret = lttng.enable_event(han, event, channel.name) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret)) ret = lttng.start(session_name) if ret < 0: raise RuntimeError("LTTng: " + lttng.strerror(ret))
pass class BabeltraceError(Exception): pass # LTTNG-TOOLS # Making sure session does not already exist lttng.destroy(ses_name) # Creating a new session and handle ret = lttng.create(ses_name, trace_path) if ret < 0: raise LTTngError(lttng.strerror(ret)) domain = lttng.Domain() domain.type = lttng.DOMAIN_KERNEL han = None han = lttng.Handle(ses_name, domain) if han is None: raise LTTngError("Handle not created") # Enabling all events event = lttng.Event() event.type = lttng.EVENT_ALL event.loglevel_type = lttng.EVENT_LOGLEVEL_ALL ret = lttng.enable_event(han, event, None) if ret < 0:
pass class BabeltraceError(Exception): pass # LTTNG-TOOLS # Making sure session does not already exist lttng.destroy(ses_name) # Creating a new session and handle ret = lttng.create(ses_name, trace_path) if ret < 0: raise LTTngError(lttng.strerror(ret)) domain = lttng.Domain() domain.type = lttng.DOMAIN_KERNEL han = None han = lttng.Handle(ses_name, domain) if han is None: raise LTTngError("Handle not created") # Enabling all events event = lttng.Event() event.type = lttng.EVENT_ALL event.loglevel_type = lttng.EVENT_LOGLEVEL_ALL ret = lttng.enable_event(han, event, None)
def destroy(self): ret = lttng.destroy(self.name) if ret < 0: raise LTTngError(lttng.strerror(ret))
def stop(self): ret = lttng.stop(self.name) if ret < 0: raise LTTngError(lttng.strerror(ret))