summaryrefslogtreecommitdiffstats
path: root/cmds
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2015-03-26 15:31:35 -0700
committerJohn Reck <jreck@google.com>2015-03-26 16:57:30 -0700
commit469a194051f1657b3f77ff2f5d84a60f7521faba (patch)
tree7f51339c3009376c272f91bacd408ef574d44e00 /cmds
parentbc5aceb1f0a68e96dced1d843278b3bf14504f2c (diff)
downloadframeworks_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.cpp13
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);
}