blob: 76729ce840e90d1f2ff6b5b36c788917b652b64c [file]
#
# Copyright (C) 2025 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
from .base import Command, ValidationError
from .open_ui_utils import open_trace, WEB_UI_ADDRESS
from .utils import path_exists
def add_open_parser(subparsers):
open_parser = subparsers.add_parser(
'open',
help=('The open subcommand is used '
'to open trace files in the '
'perfetto ui.'))
open_parser.add_argument('file_path', help='Path to trace file.')
open_parser.add_argument(
'--use_trace_processor',
default=False,
action='store_true',
help=('Enables using trace_processor to open '
'the trace regardless of its size.'))
def verify_open_args(args):
if not path_exists(args.file_path):
return None, ValidationError(
"Command is invalid because %s is an invalid file path." %
args.file_path, "Make sure your file exists.")
return args, None
def execute_open_command(args, device):
return open_trace(args.file_path, WEB_UI_ADDRESS, args.use_trace_processor)