2019-06-06 09:28:25 +02:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
# Entrypoint/script to setup and start an LTTng tracing session
|
|
|
|
|
|
|
|
import sys
|
|
|
|
import time
|
2019-06-06 09:29:23 +02:00
|
|
|
import argparse
|
2019-06-06 09:28:25 +02:00
|
|
|
from tracetools_trace.tools.lttng import (
|
|
|
|
lttng_setup,
|
|
|
|
lttng_start,
|
|
|
|
lttng_stop,
|
|
|
|
lttng_destroy,
|
|
|
|
)
|
2019-06-06 09:30:04 +02:00
|
|
|
from tracetools_trace.tools.names import (
|
|
|
|
DEFAULT_EVENTS_ROS,
|
|
|
|
DEFAULT_EVENTS_KERNEL,
|
|
|
|
)
|
2019-06-06 09:28:25 +02:00
|
|
|
|
2019-06-06 09:29:23 +02:00
|
|
|
def main():
|
|
|
|
parser = argparse.ArgumentParser(description='Setup and launch an LTTng tracing session.')
|
|
|
|
parser.add_argument('--session-name', '-s', dest='session_name',
|
|
|
|
default=f'session-{time.strftime("%Y%m%d%H%M%S")}',
|
|
|
|
help='the name of the tracing session (default: session-YYYYMMDDHHMMSS)')
|
|
|
|
parser.add_argument('--path', '-p', dest='path',
|
|
|
|
default='/tmp',
|
|
|
|
help='path of the base directory for trace data (default: %(default)s)')
|
2019-06-06 09:30:04 +02:00
|
|
|
parser.add_argument('--ust', '-u', nargs='*', dest='events_ust', default=DEFAULT_EVENTS_ROS,
|
|
|
|
help='the ROS UST events to enable (default: all events) [to disable all UST events, provide this flag without any event name]')
|
|
|
|
parser.add_argument('--kernel', '-k', nargs='*', dest='events_kernel', default=DEFAULT_EVENTS_KERNEL,
|
|
|
|
help='the kernel events to enable (default: all events) [to disable all UST events, provide this flag without any event name]')
|
2019-06-06 09:29:23 +02:00
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
|
|
session_name = args.session_name
|
|
|
|
base_path = args.path
|
|
|
|
path = base_path + '/' + session_name
|
2019-06-06 09:30:04 +02:00
|
|
|
ros_events = args.events_ust
|
|
|
|
kernel_events = args.events_kernel
|
2019-06-06 09:28:25 +02:00
|
|
|
|
2019-06-06 09:30:04 +02:00
|
|
|
lttng_setup(session_name, path, ros_events=ros_events, kernel_events=kernel_events)
|
2019-06-06 09:29:38 +02:00
|
|
|
print(f'writting tracing session to: {path}')
|
|
|
|
|
|
|
|
input('press enter to start...')
|
2019-06-06 09:28:25 +02:00
|
|
|
lttng_start(session_name)
|
|
|
|
input('press enter to stop...')
|
|
|
|
|
|
|
|
print('stopping & destroying tracing session')
|
|
|
|
lttng_stop(session_name)
|
|
|
|
lttng_destroy(session_name)
|