return ok;
}
+// Enable tracing in the kernel.
+static bool startTrace()
+{
+ return setTracingEnabled(true);
+}
+
// Set all the kernel tracing settings to the desired state for this trace
// capture.
static bool setUpTrace()
#endif
ok &= setPrintTgidEnableIfPresent(true);
-
// Set up the tags property.
uint64_t tags = 0;
#ifdef DEVICE_TYPE_TIZEN
#ifdef DEVICE_TYPE_TIZEN
if (tags == 0) tags |= TTRACE_TAG_ALWAYS;
}
+ ok &= startTrace();
+ if(!g_append_trace) {
+ // For debug
+ // printf("\nclear the trace\n");
+ //
+ ok &= clearTrace();
+ }
#endif
ok &= setTagsProperty(tags);
ok &= setAppCmdlineProperty(g_debugAppCmdLine);
disableKernelTraceEvents();
// Reset the system properties.
+#ifndef DEVICE_TYPE_TIZEN
setTagsProperty(0);
+#endif
setAppCmdlineProperty("");
pokeBinderServices();
setKernelTraceFuncs(NULL);
}
-
-// Enable tracing in the kernel.
-static bool startTrace()
-{
- return setTracingEnabled(true);
-}
-
// Disable tracing in the kernel.
static void stopTrace()
{
+#ifdef DEVICE_TYPE_TIZEN
+ setTagsProperty(0);
+#endif
setTracingEnabled(false);
}
#ifdef DEVICE_TYPE_TIZEN
if(traceStart && g_backup_trace) {
//before start tracing by atrace, backup existig traces
- stopTrace();
+ stopTrace();
dumpTrace(true);
}
#endif
if (!(async && !g_traceOverwrite)) {
ok &= setUpTrace();
}
+#ifndef DEVICE_TYPE_TIZEN
ok &= startTrace();
-
+#endif
if (ok && traceStart) {
- // For debug
+ // For debug
// printf("capturing trace...");
//
fflush(stdout);
// contain entries from only one CPU can cause "begin" entries without a
// matching "end" entry to show up if a task gets migrated from one CPU to
// another.
- if(!g_append_trace) {
+#ifndef DEVICE_TYPE_TIZEN
+ if(!g_append_trace) {
// For debug
// printf("\nclear the trace\n");
//
ok = clearTrace();
- }
-
+ }
+#endif
if (ok && !async) {
// Sleep to allow the trace to be captured.
struct timespec timeLeft;
printf(" done\nTRACE:\n");
fflush(stdout);
#ifdef DEVICE_TYPE_TIZEN
- dumpTrace(false);
+ dumpTrace(false);
#else
dumpTrace();
#endif
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
-
+#ifdef TTRACE_DEBUG
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceBegin.\n", len, ret, errno);
+#endif
}
#ifdef TTRACE_DEBUG
else {
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write("E", 1);
else ret = write(g_trace_handle_fd, &end, 1);
-
+#ifdef TTRACE_DEBUG
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceEnd.\n", 1, ret, errno);
+#endif
}
#ifdef TTRACE_DEBUG
else
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
-
+#ifdef TTRACE_DEBUG
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceAsyncBegin.\n", len, ret, errno);
+#endif
}
#ifdef TTRACE_DEBUG
else
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
-
+#ifdef TTRACE_DEBUG
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceAsyncEnd.\n", len, ret, errno);
+#endif
}
#ifdef TTRACE_DEBUG
else
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
-
+
+#ifdef TTRACE_DEBUG
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceMark.\n", len, ret, errno);
+#endif
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write("E", 1);
else ret = write(g_trace_handle_fd, &end, 1);
-
+#ifdef TTRACE_DEBUG
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceMark.\n", 1, ret, errno);
+#endif
}
#ifdef TTRACE_DEBUG
else
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
-
+#ifdef TTRACE_DEBUG
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceCounter.\n", len, ret, errno);
+#endif
}
#ifdef TTRACE_DEBUG
else