summaryrefslogtreecommitdiff
path: root/tools/timestamp.sh
blob: 8d94aad4692403335089b72750bab7e3f3265a99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash

if [[ -z $1 ]] || [[ -z $2 ]]
then
	echo "[!] Execute [./performance_test.sh]"
	exit 0
fi

LOG_FILE=$1
RESULT_FILE=$2

IS_START=false
echo -e "T(ms)\tAPP ID" | tee -a $RESULT_FILE
while inotifywait -qqre modify "$LOG_FILE"; do
    GET_LOG="$(tail -1 $LOG_FILE)"
    GET_LOG=$(echo $GET_LOG | sed "s/(/ /g" | sed "s/)/ /g")
    if [[ $GET_LOG == *"app_request_to_launchpad_for_uid"* ]];
    then
        GET_LOG=$(echo $GET_LOG | tr -d '\r')
        if [[ $GET_LOG == *target_uid* ]];
        then
            APP_NAME=$(echo "$GET_LOG" | grep app_request_to_launchpad_for_uid | awk '{print $15}')
        else
            APP_NAME=$(echo "$GET_LOG" | grep app_request_to_launchpad_for_uid | awk '{print $14}')
        fi

        IS_DIGIT=$(echo $APP_NAME | sed "s/[^0-9]*//g")

        if [[ $IS_DIGIT != $APP_NAME ]];
        then
            START_T=$(echo "$GET_LOG" | grep app_request_to_launchpad_for_uid | awk '{print $2}')
            START_T=${START_T%%+0900}
            START_T=$(echo $START_T | sed "s/:/./g")
            IS_START=true
        fi
    fi

    if [[ $GET_LOG == *APP_CORE* ]] && [ "$IS_START" = true ]
    then
        END_T=$(echo "$GET_LOG" | grep SHOW | awk '{print $2}')
        END_T=${END_T%%+0900}
        END_T=$(echo $END_T | sed "s/:/./g")

        IFS=. read -ra START_ARR <<<"$START_T"
        START_MS=0
        : $[ START_MS = 10#$START_MS + 10#${START_ARR[0]} * 3600 * 1000 ]
        : $[ START_MS = 10#$START_MS + 10#${START_ARR[1]} * 60 * 1000 ]
        : $[ START_MS = 10#$START_MS + 10#${START_ARR[2]} * 1000 ]
        : $[ START_MS = 10#$START_MS + 10#${START_ARR[3]} ]

        IFS=. read -ra END_ARR <<<"$END_T"
        END_MS=0
        : $[ END_MS = 10#$END_MS + 10#${END_ARR[0]} * 3600 * 1000 ]
        : $[ END_MS = 10#$END_MS + 10#${END_ARR[1]} * 60 * 1000 ]
        : $[ END_MS = 10#$END_MS + 10#${END_ARR[2]} * 1000 ]
        : $[ END_MS = 10#$END_MS + 10#${END_ARR[3]} ]

        : $[ DIFF_MS = $END_MS - $START_MS ]
        echo -e "$DIFF_MS\t$APP_NAME" | tee -a $RESULT_FILE
        IS_START=false
    fi
done