in idb/cli/commands/instruments.py [0:0]
def add_parser_arguments(self, parser: ArgumentParser) -> None:
parser.add_argument(
"--template",
help="Template to run (see Apple for possible values)",
required=True,
type=str,
)
parser.add_argument(
"--app-bundle-id", help="App to run instruments on", type=str
)
parser.add_argument(
"--app-args",
nargs="*",
default=[],
help="Arguments to be passed to the app being profiled",
)
parser.add_argument(
"--app-env",
nargs=1,
default={},
action=KeyValueDictAppendAction,
metavar="KEY=VALUE",
help="Environment key/value pairs for the app being profiled",
)
parser.add_argument(
"--output",
help="Output path / base name where the trace file will be saved",
type=str,
)
parser.add_argument(
"--post-args",
nargs="*",
default=[],
help="Post processing arguments to process the Instruments trace",
)
parser.add_argument(
"--operation-duration",
help=(
"The maximum running time for Instruments. Instruments will "
+ "terminate automatically afterwards"
),
type=float,
)
parser.add_argument(
"--terminate-timeout",
help="The maximum time to terminate Instruments",
type=float,
)
parser.add_argument(
"--launch-retry-timeout",
help=(
"If Instruments fails to start, IDB will try to launch it "
+ "again. This is the total time for the entire retry process"
),
type=float,
)
parser.add_argument(
"--launch-error-timeout",
help=(
"The wait time for the Instruments error message to occur. "
+ "If it did not appear during this timeout, IDB will assume "
+ "that Instruments started properly"
),
type=float,
)
super().add_parser_arguments(parser)