Updates to tracer to log events.

The tracer can now generates traces for ddms or output to a logfile.
Also includes bugfixes to allow stack walking to work properly when
tracing.

Change-Id: I8894272d9a678eeb1d376734f7822daf2ab298e4
diff --git a/src/utils.h b/src/utils.h
index 5b3a036..b402b46 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -211,9 +211,15 @@
 // Returns the current time in milliseconds (using the POSIX CLOCK_MONOTONIC).
 uint64_t MilliTime();
 
+// Returns the current time in microseconds (using the POSIX CLOCK_MONOTONIC).
+uint64_t MicroTime();
+
 // Returns the current time in nanoseconds (using the POSIX CLOCK_MONOTONIC).
 uint64_t NanoTime();
 
+// Returns the current time in microseconds (using the POSIX CLOCK_THREAD_CPUTIME_ID).
+uint64_t ThreadCpuMicroTime();
+
 // Splits a string using the given delimiter character into a vector of
 // strings. Empty strings will be omitted.
 void Split(const std::string& s, char delim, std::vector<std::string>& result);