print out error msg only if ttrace is running on debug mode
Change-Id: Ic1ee96dbb3a619cdf92187f2f5490b50b3781464
+// 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()
// Set all the kernel tracing settings to the desired state for this trace
// capture.
static bool setUpTrace()
#endif
ok &= setPrintTgidEnableIfPresent(true);
#endif
ok &= setPrintTgidEnableIfPresent(true);
// Set up the tags property.
uint64_t tags = 0;
#ifdef DEVICE_TYPE_TIZEN
// Set up the tags property.
uint64_t tags = 0;
#ifdef DEVICE_TYPE_TIZEN
#ifdef DEVICE_TYPE_TIZEN
if (tags == 0) tags |= TTRACE_TAG_ALWAYS;
}
#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);
#endif
ok &= setTagsProperty(tags);
ok &= setAppCmdlineProperty(g_debugAppCmdLine);
disableKernelTraceEvents();
// Reset the system properties.
disableKernelTraceEvents();
// Reset the system properties.
+#ifndef DEVICE_TYPE_TIZEN
setAppCmdlineProperty("");
pokeBinderServices();
setAppCmdlineProperty("");
pokeBinderServices();
setKernelTraceFuncs(NULL);
}
setKernelTraceFuncs(NULL);
}
-
-// Enable tracing in the kernel.
-static bool startTrace()
-{
- return setTracingEnabled(true);
-}
-
// Disable tracing in the kernel.
static void stopTrace()
{
// Disable tracing in the kernel.
static void stopTrace()
{
+#ifdef DEVICE_TYPE_TIZEN
+ setTagsProperty(0);
+#endif
setTracingEnabled(false);
}
setTracingEnabled(false);
}
#ifdef DEVICE_TYPE_TIZEN
if(traceStart && g_backup_trace) {
//before start tracing by atrace, backup existig traces
#ifdef DEVICE_TYPE_TIZEN
if(traceStart && g_backup_trace) {
//before start tracing by atrace, backup existig traces
dumpTrace(true);
}
#endif
if (!(async && !g_traceOverwrite)) {
ok &= setUpTrace();
}
dumpTrace(true);
}
#endif
if (!(async && !g_traceOverwrite)) {
ok &= setUpTrace();
}
+#ifndef DEVICE_TYPE_TIZEN
// printf("capturing trace...");
//
fflush(stdout);
// 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.
// 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.
+#ifndef DEVICE_TYPE_TIZEN
+ if(!g_append_trace) {
// For debug
// printf("\nclear the trace\n");
//
ok = clearTrace();
// For debug
// printf("\nclear the trace\n");
//
ok = clearTrace();
if (ok && !async) {
// Sleep to allow the trace to be captured.
struct timespec timeLeft;
if (ok && !async) {
// Sleep to allow the trace to be captured.
struct timespec timeLeft;
printf(" done\nTRACE:\n");
fflush(stdout);
#ifdef DEVICE_TYPE_TIZEN
printf(" done\nTRACE:\n");
fflush(stdout);
#ifdef DEVICE_TYPE_TIZEN
#else
dumpTrace();
#endif
#else
dumpTrace();
#endif
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceBegin.\n", len, ret, errno);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceBegin.\n", len, ret, errno);
}
#ifdef TTRACE_DEBUG
else {
}
#ifdef TTRACE_DEBUG
else {
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write("E", 1);
else ret = write(g_trace_handle_fd, &end, 1);
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write("E", 1);
else ret = write(g_trace_handle_fd, &end, 1);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceEnd.\n", 1, ret, errno);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceEnd.\n", 1, ret, errno);
}
#ifdef TTRACE_DEBUG
else
}
#ifdef TTRACE_DEBUG
else
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceAsyncBegin.\n", len, ret, errno);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceAsyncBegin.\n", len, ret, errno);
}
#ifdef TTRACE_DEBUG
else
}
#ifdef TTRACE_DEBUG
else
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceAsyncEnd.\n", len, ret, errno);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceAsyncEnd.\n", len, ret, errno);
}
#ifdef TTRACE_DEBUG
else
}
#ifdef TTRACE_DEBUG
else
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceMark.\n", len, ret, errno);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceMark.\n", len, ret, errno);
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write("E", 1);
else ret = write(g_trace_handle_fd, &end, 1);
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write("E", 1);
else ret = write(g_trace_handle_fd, &end, 1);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceMark.\n", 1, ret, errno);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceMark.\n", 1, ret, errno);
}
#ifdef TTRACE_DEBUG
else
}
#ifdef TTRACE_DEBUG
else
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (g_extension_state == EXT_ACTIVATED) ttrace_extension_write(buf, len);
else ret = write(g_trace_handle_fd, buf, len);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceCounter.\n", len, ret, errno);
if (ret < 0)
fprintf(stderr, "error writing, len: %d, ret: %d, errno: %d at traceCounter.\n", len, ret, errno);
}
#ifdef TTRACE_DEBUG
else
}
#ifdef TTRACE_DEBUG
else