diff options
author | John Reck <jreck@google.com> | 2015-03-26 15:31:35 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2015-03-26 16:57:30 -0700 |
commit | 469a194051f1657b3f77ff2f5d84a60f7521faba (patch) | |
tree | 7f51339c3009376c272f91bacd408ef574d44e00 /cmds | |
parent | bc5aceb1f0a68e96dced1d843278b3bf14504f2c (diff) | |
download | frameworks_native-469a194051f1657b3f77ff2f5d84a60f7521faba.zip frameworks_native-469a194051f1657b3f77ff2f5d84a60f7521faba.tar.gz frameworks_native-469a194051f1657b3f77ff2f5d84a60f7521faba.tar.bz2 |
Add trace_event_clock_sync to atrace
Change-Id: I8adce15210d82df09ff3a39ddd8df617aeb16a42
Diffstat (limited to 'cmds')
-rw-r--r-- | cmds/atrace/atrace.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/cmds/atrace/atrace.cpp b/cmds/atrace/atrace.cpp index 8fd80cc..515d761 100644 --- a/cmds/atrace/atrace.cpp +++ b/cmds/atrace/atrace.cpp @@ -35,6 +35,7 @@ #include <cutils/properties.h> #include <utils/String8.h> +#include <utils/Timers.h> #include <utils/Trace.h> using namespace android; @@ -192,6 +193,9 @@ static const char* k_tracingOnPath = static const char* k_tracePath = "/sys/kernel/debug/tracing/trace"; +static const char* k_traceMarkerPath = + "/sys/kernel/debug/tracing/trace_marker"; + // Check whether a file exists. static bool fileExists(const char* filename) { return access(filename, F_OK) != -1; @@ -254,6 +258,14 @@ static bool appendStr(const char* filename, const char* str) return _writeStr(filename, str, O_APPEND|O_WRONLY); } +static void writeClockSyncMarker() +{ + char buffer[128]; + float now_in_seconds = systemTime(CLOCK_MONOTONIC) / 1000000000.0f; + snprintf(buffer, 128, "trace_event_clock_sync: parent_ts=%f\n", now_in_seconds); + writeStr(k_traceMarkerPath, buffer); +} + // Enable or disable a kernel option by writing a "1" or a "0" into a /sys // file. static bool setKernelOptionEnable(const char* filename, bool enable) @@ -631,6 +643,7 @@ static bool startTrace() // Disable tracing in the kernel. static void stopTrace() { + writeClockSyncMarker(); setTracingEnabled(false); } |