Extract args parsing method
This commit is contained in:
parent
1868258871
commit
a8fe961bb0
2 changed files with 42 additions and 36 deletions
34
tracetools_trace/tools/args.py
Normal file
34
tracetools_trace/tools/args.py
Normal file
|
@ -0,0 +1,34 @@
|
|||
import argparse
|
||||
import time
|
||||
|
||||
from . import names
|
||||
|
||||
|
||||
def parse_args():
|
||||
"""
|
||||
Parse args for tracing.
|
||||
"""
|
||||
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)')
|
||||
parser.add_argument(
|
||||
'--ust', '-u', nargs='*', dest='events_ust', default=names.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=names.DEFAULT_EVENTS_KERNEL,
|
||||
help='the kernel events to enable (default: all events) '
|
||||
'[to disable all UST events, '
|
||||
'provide this flag without any event name]')
|
||||
parser.add_argument(
|
||||
'--list', '-l', dest='list', action='store_true',
|
||||
help='display lists of enabled events (default: %(default)s)')
|
||||
return parser.parse_args()
|
|
@ -1,61 +1,33 @@
|
|||
#!/usr/bin/env python3
|
||||
# Entrypoint/script to setup and start an LTTng tracing session
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import time
|
||||
|
||||
from tracetools_trace.tools import args
|
||||
from tracetools_trace.tools import lttng
|
||||
from tracetools_trace.tools import names
|
||||
|
||||
|
||||
def parse_args():
|
||||
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)')
|
||||
parser.add_argument(
|
||||
'--ust', '-u', nargs='*', dest='events_ust', default=names.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=names.DEFAULT_EVENTS_KERNEL,
|
||||
help='the kernel events to enable (default: all events) '
|
||||
'[to disable all UST events, '
|
||||
'provide this flag without any event name]')
|
||||
parser.add_argument(
|
||||
'--list', '-l', dest='list', action='store_true',
|
||||
help='display lists of enabled events (default: %(default)s)')
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main():
|
||||
args = parse_args()
|
||||
params = args.parse_args()
|
||||
|
||||
session_name = args.session_name
|
||||
base_path = args.path
|
||||
session_name = params.session_name
|
||||
base_path = params.path
|
||||
full_path = os.path.join(base_path, session_name)
|
||||
ros_events = args.events_ust
|
||||
kernel_events = args.events_kernel
|
||||
ros_events = params.events_ust
|
||||
kernel_events = params.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:
|
||||
if params.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:
|
||||
if params.list:
|
||||
print(f'\tevents: {kernel_events}')
|
||||
else:
|
||||
print('kernel tracing disabled')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue