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


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118266 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectLog.cpp b/source/Commands/CommandObjectLog.cpp
index e065518..2060b1e 100644
--- a/source/Commands/CommandObjectLog.cpp
+++ b/source/Commands/CommandObjectLog.cpp
@@ -413,7 +413,7 @@
         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 @@
             }
 
         }
+        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");