summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-05-23 21:45:03 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-05-23 21:45:03 +0000
commit56f68366f006d5b17dca9f53f34da511c0b3c85b (patch)
tree9001543a00a43ce63a52454da476f3f59701cbad
parent62994a4795188c0d7761d58f313bb6182f119ae2 (diff)
parent65ecfbba620e4710331b26db4ebf087ca6d92a2b (diff)
downloadnative-56f68366f006d5b17dca9f53f34da511c0b3c85b.tar.gz
Merge "Atrace: Add the debug.atrace.user_initiated property." into pi-dev
-rw-r--r--cmds/atrace/atrace.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/cmds/atrace/atrace.cpp b/cmds/atrace/atrace.cpp
index 90609379ff..fe9dd568fc 100644
--- a/cmds/atrace/atrace.cpp
+++ b/cmds/atrace/atrace.cpp
@@ -58,6 +58,7 @@ using std::string;
#define MAX_SYS_FILES 10
const char* k_traceTagsProperty = "debug.atrace.tags.enableflags";
+const char* k_userInitiatedTraceProperty = "debug.atrace.user_initiated";
const char* k_traceAppsNumberProperty = "debug.atrace.app_number";
const char* k_traceAppsPropertyTemplate = "debug.atrace.app_%d";
@@ -447,6 +448,16 @@ static bool setTraceOverwriteEnable(bool enable)
return setKernelOptionEnable(k_tracingOverwriteEnablePath, enable);
}
+// Set the user initiated trace property
+static bool setUserInitiatedTraceProperty(bool enable)
+{
+ if (!android::base::SetProperty(k_userInitiatedTraceProperty, enable ? "1" : "")) {
+ fprintf(stderr, "error setting user initiated strace system property\n");
+ return false;
+ }
+ return true;
+}
+
// Enable or disable kernel tracing.
static bool setTracingEnabled(bool enable)
{
@@ -840,6 +851,8 @@ static bool setUpKernelTracing()
{
bool ok = true;
+ ok &= setUserInitiatedTraceProperty(true);
+
// Set up the tracing options.
ok &= setCategoriesEnableFromFile(g_categoriesFile);
ok &= setTraceOverwriteEnable(g_traceOverwrite);
@@ -887,6 +900,7 @@ static void cleanUpKernelTracing()
setTraceBufferSizeKB(1);
setPrintTgidEnableIfPresent(false);
setKernelTraceFuncs(NULL);
+ setUserInitiatedTraceProperty(false);
}
// Enable tracing in the kernel.