change the logic of start/stop to prevent T-trace from writing to the locked buffer 41/78441/3 master accepted/tizen/common/20160707.171122 accepted/tizen/ivi/20160706.082804 accepted/tizen/mobile/20160706.082718 accepted/tizen/tv/20160706.082707 accepted/tizen/wearable/20160706.082716 submit/tizen/20160706.042922
authorEunji, Lee <eunjieji.lee@samsung.com>
Tue, 5 Jul 2016 12:16:06 +0000 (21:16 +0900)
committerEunji, Lee <eunjieji.lee@samsung.com>
Tue, 5 Jul 2016 13:12:34 +0000 (22:12 +0900)
print out error msg only if ttrace is running on debug mode

Change-Id: Ic1ee96dbb3a619cdf92187f2f5490b50b3781464

src/atrace/atrace.cpp
src/ttrace.c

index c80cf06e48f67c6c0e589121e72c5cb792aa62b4..dad1fa640c7200132f4e791db95eb17500ed4b95 100755 (executable)
@@ -758,6 +758,12 @@ static bool setKernelTraceFuncs(const char* funcs)
     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()
@@ -779,7 +785,6 @@ static bool setUpTrace()
 #endif
     ok &= setPrintTgidEnableIfPresent(true);
 
-
     // Set up the tags property.
     uint64_t tags = 0;
 #ifdef DEVICE_TYPE_TIZEN
@@ -795,6 +800,13 @@ static bool setUpTrace()
 #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);
@@ -833,7 +845,9 @@ static void cleanUpTrace()
     disableKernelTraceEvents();
 
     // Reset the system properties.
+#ifndef DEVICE_TYPE_TIZEN
     setTagsProperty(0);
+#endif
     setAppCmdlineProperty("");
     pokeBinderServices();
 
@@ -845,16 +859,12 @@ static void cleanUpTrace()
     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);
 }
 
@@ -1234,17 +1244,18 @@ int main(int argc, char **argv)
 #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);
@@ -1254,13 +1265,14 @@ int main(int argc, char **argv)
         // 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;
@@ -1283,7 +1295,7 @@ int main(int argc, char **argv)
             printf(" done\nTRACE:\n");
             fflush(stdout);
 #ifdef DEVICE_TYPE_TIZEN
-           dumpTrace(false);
+               dumpTrace(false);
 #else
             dumpTrace();
 #endif
index c255194cf91f49096f3ee4ab0944dc2df4e2b619..18da8485d371bcda54019ea1658418b19c6b9c62 100755 (executable)
@@ -150,9 +150,10 @@ void traceBegin(uint64_t tag, const char *name, ...)
 
                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 {
@@ -170,9 +171,10 @@ void traceEnd(uint64_t tag)
 
                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
@@ -211,9 +213,10 @@ void traceAsyncBegin(uint64_t tag, int32_t cookie, const char *name, ...)
 
                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
@@ -246,9 +249,10 @@ void traceAsyncEnd(uint64_t tag, int32_t cookie, const char *name, ...)
 
                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
@@ -280,15 +284,18 @@ void traceMark(uint64_t tag, const char *name, ...)
 
                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
@@ -327,9 +334,10 @@ void traceCounter(uint64_t tag, int32_t value, const char *name, ...)
 
                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