Added a top level Timer to the interpreter execute command. Also added an option to pass the depth to "log timer enable". That allows you to time just command execution with:

log timer enable 1
<command>
log timer dump

llvm-svn: 118266
This commit is contained in:
Jim Ingham 2010-11-04 23:08:26 +00:00
parent c1fa8c5644
commit 932725fa11
1 changed files with 19 additions and 1 deletions

View File

@ -413,7 +413,7 @@ public:
CommandObject (interpreter,
"log timers",
"Enable, disable, dump, and reset LLDB internal performance timers.",
"log timers < enable | disable | dump | reset >")
"log timers < enable <depth> | disable | dump | reset >")
{
}
@ -456,6 +456,24 @@ public:
}
}
else if (argc == 2)
{
const char *sub_command = args.GetArgumentAtIndex(0);
if (strcasecmp(sub_command, "enable") == 0)
{
bool success;
uint32_t depth = Args::StringToUInt32(args.GetArgumentAtIndex(1), 0, 0, &success);
if (success)
{
Timer::SetDisplayDepth (depth);
result.SetStatus(eReturnStatusSuccessFinishNoResult);
}
else
result.AppendError("Could not convert enable depth to an unsigned integer.");
}
}
if (!result.Succeeded())
{
result.AppendError("Missing subcommand");