forked from NasdaqGodzilla/BugreportAnalyzer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbugreportanalyzer
More file actions
executable file
·154 lines (122 loc) · 3.72 KB
/
bugreportanalyzer
File metadata and controls
executable file
·154 lines (122 loc) · 3.72 KB
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#!/bin/bash
export ANALYZER_PATH_BUGREPORT=
export ANALYZER_PATH_DUMPFILE=
export ANALYZER_PATH_OUTPUT=output
export ANALYZER_PATH_TESTCASE='reporter/default.testcase'
export ANALYZER_DUMP_ALARM=
export ANALYZER_DUMP_BATTERY_DISCHARGED=
export ANALYZER_DUMP_BATTERY_STAT=
export ANALYZER_DUMP_BATTERY_TOTALWAKE=
export ANALYZER_DUMP_PACKAGE=
source alarm/*
source battery/battery_analyzer.sh
source battery/batterystats_parser.sh
source package/*
source reporter/reporter.sh
source utils/time_utils.sh
source utils/zip_utils.sh
ANALYZER_PATH_BUGREPORT="$1"
shift
trap analyzer_exit SIGHUP SIGINT SIGTERM EXIT
function analyzer_info() {
printf "* %.0s" {1..50}
echo
printf "%-32s%-2s%s\n" ANALYZER_PATH_BUGREPORT = "$ANALYZER_PATH_BUGREPORT"
printf "%-32s%-2s%s\n" ANALYZER_PATH_DUMPFILE = "$ANALYZER_PATH_DUMPFILE"
printf "* %.0s" {1..50}
echo
}
function analyzer_exit() {
local exitcode="$1"
[ "$exitcode" == "" ] && exitcode=0
printf "x %.0s" {1..50}
echo
trap - SIGHUP SIGINT SIGTERM EXIT
echo "analyzer_exit"
[ "$ANALYZER_PATH_DUMPFILE" != "" ] && { \
echo "Unlinking $ANALYZER_PATH_DUMPFILE"
unlink "$ANALYZER_PATH_DUMPFILE"
}
unset ANALYZER_PATH_BUGREPORT
unset ANALYZER_PATH_DUMPFILE
unset ANALYZER_DUMP_ALARM
unset ANALYZER_DUMP_BATTERY_DISCHARGED
unset ANALYZER_DUMP_BATTERY_STAT
unset ANALYZER_DUMP_BATTERY_TOTALWAKE
unset ANALYZER_DUMP_PACKAGE
printf "x %.0s" {1..50}
echo
wait
exit "$exitcode"
}
function analyzer_alarm() {
ANALYZER_DUMP_ALARM=`alarm_getdump "$ANALYZER_PATH_DUMPFILE"`
: << debugprint
printf "<ALARM>\t\t\t%.0s" {1..4}
echo
echo -e "$ANALYZER_DUMP_ALARM"
printf "<ALARM>\t\t\t%.0s" {1..4}
echo
debugprint
ANALYZER_DUMP_ALARM=
}
function analyzer_battery() {
ANALYZER_DUMP_BATTERY_DISCHARGED=`batterystats_get_powerdischargedump "$ANALYZER_PATH_DUMPFILE"`
: << debugprint
printf "<BATTERY_DISCHARGED>\t\t\t%.0s" {1..4}
echo
echo -e "$ANALYZER_DUMP_BATTERY_DISCHARGED"
printf "<BATTERY_DISCHARGED>\t\t\t%.0s" {1..4}
echo
debugprint
ANALYZER_DUMP_BATTERY_STAT=`batterystats_get_statisticsdump "$ANALYZER_PATH_DUMPFILE"`
: << debugprint
printf "<BATTERY_STAT>\t\t\t%.0s" {1..4}
echo
echo -e "$ANALYZER_DUMP_BATTERY_STAT"
printf "<BATTERY_STAT>\t\t\t%.0s" {1..4}
echo
debugprint
ANALYZER_DUMP_BATTERY_TOTALWAKE=`batterystats_parse_get_totalwake_actualpartial_dump "$ANALYZER_PATH_DUMPFILE"`
: << debugprint
printf "<BATTERY_TOTALWAKE>\t\t\t%.0s" {1..4}
echo
echo -e "$ANALYZER_DUMP_BATTERY_TOTALWAKE"
printf "<BATTERY_TOTALWAKE>\t\t\t%.0s" {1..4}
echo
debugprint
battery_analyze
unset ANALYZER_DUMP_BATTERY_DISCHARGED
unset ANALYZER_DUMP_BATTERY_STAT
unset ANALYZER_DUMP_BATTERY_TOTALWAKE
}
function analyzer_package() {
local package_dump_full=`package_getdump "$ANALYZER_PATH_DUMPFILE"`
ANALYZER_DUMP_PACKAGE=`package_get_pkgsummary "$package_dump_full"`
unset package_dump_full
: << debugprint
printf "<PACKAGE>\t\t\t%.0s" {1..4}
echo
echo -e "$ANALYZER_DUMP_PACKAGE"
printf "<PACKAGE>\t\t\t%.0s" {1..4}
echo
debugprint
# unset ANALYZER_DUMP_PACKAGE
}
[ "$ANALYZER_PATH_BUGREPORT" == "" ] && { \
echo "Empty bugreport file"
analyzer_exit 127
}
ANALYZER_PATH_DUMPFILE=`zip_bugreport_extract "$ANALYZER_PATH_BUGREPORT" "$ANALYZER_PATH_OUTPUT"`
[ "$ANALYZER_PATH_DUMPFILE" == "" ] && { \
echo "Failed to parse bugreport"
analyzer_exit 126
}
analyzer_info
analyzer_package
analyzer_alarm
analyzer_battery
reporter_get_result_full
alarm_analyze_summary "$ANALYZER_PATH_DUMPFILE" "$ANALYZER_DUMP_PACKAGE"
battery_analyze_summary "$ANALYZER_PATH_DUMPFILE"
analyzer_exit