summaryrefslogtreecommitdiff
path: root/ANRdaemon
diff options
context:
space:
mode:
authorZhengyin Qian <qianzy@google.com>2016-06-29 18:02:02 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-06-29 18:02:02 +0000
commit853a0885bce745174eccca9cf1f71c38bf04730e (patch)
tree08f4e6969514f7dfcc3c782fc4bb7a2aaa8c5182 /ANRdaemon
parentcbc909b401de7ca01bc92ff42fffd485ec7b49a6 (diff)
parent4d3f3e3451a69d55032eb0f1a54aa4e0837214c4 (diff)
downloadextras-853a0885bce745174eccca9cf1f71c38bf04730e.tar.gz
ANRdaemon: move trace result from /sdcard to /data am: d93aa41807 am: adfc967454 am: 20e3c1bc94 am: bcbe37b0ee
am: 4d3f3e3451 Change-Id: I3f5580e17fccb6dfb62c01f1b20f555fd9b23a59
Diffstat (limited to 'ANRdaemon')
-rw-r--r--ANRdaemon/ANRdaemon.cpp23
-rwxr-xr-xANRdaemon/ANRdaemon_get_trace.sh6
2 files changed, 11 insertions, 18 deletions
diff --git a/ANRdaemon/ANRdaemon.cpp b/ANRdaemon/ANRdaemon.cpp
index 58153c19..50aa04e1 100644
--- a/ANRdaemon/ANRdaemon.cpp
+++ b/ANRdaemon/ANRdaemon.cpp
@@ -67,6 +67,8 @@ static const int min_buffer_size = 16;
static const int max_buffer_size = 2048;
static const char *min_buffer_size_str = "16";
static const char *max_buffer_size_str = "2048";
+static const int time_buf_size = 20;
+static const int path_buf_size = 60;
typedef struct cpu_stat {
unsigned long utime, ntime, stime, itime;
@@ -337,28 +339,17 @@ static void dump_trace()
}
/*
- * Create /sdcard/ANRdaemon/ if it doesn't exist
- */
- struct stat st;
- if (stat("/sdcard/ANRdaemon", &st) == -1) {
- ALOGI("Creating /sdcard/ANRdaemon/");
- int err = mkdir("/sdcard/ANRdaemon", 0700);
- if (err != 0)
- ALOGI("Creating /sdcard/ANRdaemon/ failed with %s", strerror(err));
- }
-
- /*
- * Create a dump file "dump_of_anrdaemon.<current_time>" under /sdcard/ANRdaemon/
+ * Create a dump file "dump_of_anrdaemon.<current_time>" under /data/misc/anrd
*/
time_t now = time(0);
struct tm tstruct;
- char time_buf[80];
- char path_buf[200];
+ char time_buf[time_buf_size];
+ char path_buf[path_buf_size];
const char* header = " done\nTRACE:\n";
ssize_t header_len = strlen(header);
tstruct = *localtime(&now);
- strftime(time_buf, sizeof(time_buf), "%Y-%m-%d.%X", &tstruct);
- sprintf(path_buf, "/sdcard/ANRdaemon/dump_of_anrdaemon.%s", time_buf);
+ strftime(time_buf, time_buf_size, "%Y-%m-%d.%X", &tstruct);
+ snprintf(path_buf, path_buf_size, "/data/misc/anrd/dump_of_anrdaemon.%s", time_buf);
int output_fd = creat(path_buf, S_IRWXU);
if (output_fd == -1) {
ALOGE("Failed to create %s. Dump aborted.", path_buf);
diff --git a/ANRdaemon/ANRdaemon_get_trace.sh b/ANRdaemon/ANRdaemon_get_trace.sh
index be4062c7..afe3120b 100755
--- a/ANRdaemon/ANRdaemon_get_trace.sh
+++ b/ANRdaemon/ANRdaemon_get_trace.sh
@@ -1,6 +1,7 @@
#!/bin/bash
-TRACE_DIR=/sdcard/ANRdaemon
+TRACE_DIR=/data/misc/anrd
+TRACE_FILE_PATTEN=dump_of_anrdaemon
if [ $# -eq 1 ]; then
DEVICE=$(echo "-s $1")
@@ -18,7 +19,8 @@ fi
PID=$(echo "$PID" | awk '{ print $2 }')
adb $DEVICE shell "kill -s SIGUSR1 $PID"
-TRACE_FILE=$(adb $DEVICE shell "ls $TRACE_DIR | tail -n1" | tr -d '\r')
+TRACE_FILE=$(adb $DEVICE shell "ls $TRACE_DIR \
+ grep $TRACE_FILE_PATTEN | tail -n1" | tr -d '\r')
# Wiat the trace file generation to complete
adb $DEVICE shell "lsof $PID" | grep $TRACE_FILE > /dev/null