Add basic ros2tracee
This commit is contained in:
commit
9eb99e7d9d
11 changed files with 204 additions and 0 deletions
0
ros2trace/__init__.py
Normal file
0
ros2trace/__init__.py
Normal file
42
ros2trace/api/__init__.py
Normal file
42
ros2trace/api/__init__.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
import os
|
||||
|
||||
from tracetools_trace.tools import args
|
||||
from tracetools_trace.tools import lttng
|
||||
|
||||
|
||||
def add_trace_arguments(parser):
|
||||
args.add_arguments(parser)
|
||||
|
||||
|
||||
def init(args):
|
||||
session_name = args.session_name
|
||||
base_path = args.path
|
||||
full_path = os.path.join(base_path, session_name)
|
||||
ros_events = args.events_ust
|
||||
kernel_events = args.events_kernel
|
||||
|
||||
ust_enabled = len(ros_events) > 0
|
||||
kernel_enabled = len(kernel_events) > 0
|
||||
if ust_enabled:
|
||||
print(f'UST tracing enabled ({len(ros_events)} events)')
|
||||
if args.list:
|
||||
print(f'\tevents: {ros_events}')
|
||||
else:
|
||||
print('UST tracing disabled')
|
||||
if kernel_enabled:
|
||||
print(f'kernel tracing enabled ({len(kernel_events)} events)')
|
||||
if args.list:
|
||||
print(f'\tevents: {kernel_events}')
|
||||
else:
|
||||
print('kernel tracing disabled')
|
||||
|
||||
print(f'writting tracing session to: {full_path}')
|
||||
input('press enter to start...')
|
||||
lttng.lttng_init(session_name, full_path, ros_events=ros_events, kernel_events=kernel_events)
|
||||
|
||||
|
||||
def fini(args):
|
||||
session_name = args.session_name
|
||||
input('press enter to stop...')
|
||||
print('stopping & destroying tracing session')
|
||||
lttng.lttng_fini(session_name)
|
0
ros2trace/command/__init__.py
Normal file
0
ros2trace/command/__init__.py
Normal file
16
ros2trace/command/trace.py
Normal file
16
ros2trace/command/trace.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
from ros2cli.command import CommandExtension
|
||||
from ros2trace.api import add_trace_arguments
|
||||
from ros2trace.api import init
|
||||
from ros2trace.api import fini
|
||||
|
||||
|
||||
class TraceCommand(CommandExtension):
|
||||
"""Trace ROS."""
|
||||
|
||||
def add_arguments(self, parser, cli_name):
|
||||
add_trace_arguments(parser)
|
||||
|
||||
def main(self, *, parser, args):
|
||||
init(args)
|
||||
fini(args)
|
||||
return 0
|
Loading…
Add table
Add a link
Reference in a new issue