27
27
}
28
28
29
29
analyse () {
30
- local filters=() aws= sargs=() unfiltered=
30
+ local filters=() aws= sargs=() unfiltered= perf_omit_hosts=()
31
31
local dump_logobjects= dump_machviews= dump_chain_raw= dump_chain= dump_slots_raw= dump_slots=
32
32
while test $# -gt 0
33
33
do case " $1 " in
@@ -37,6 +37,7 @@ do case "$1" in
37
37
--dump-chain | -c ) sargs+=($1 ); dump_chain=' true' ;;
38
38
--dump-slots-raw | -sr ) sargs+=($1 ); dump_slots_raw=' true' ;;
39
39
--dump-slots | -s ) sargs+=($1 ); dump_slots=' true' ;;
40
+ --perf-omit-host ) sargs+=($1 $2 ); perf_omit_hosts+=($2 ); shift ;;
40
41
--filters ) sargs+=($1 $2 ); analysis_set_filters " base,$2 " ; shift ;;
41
42
--no-filters | --unfiltered | -u )
42
43
sargs+=($1 ); analysis_set_filters " " ; unfiltered=' true' ;;
@@ -213,9 +214,13 @@ case "$op" in
213
214
local adir=$dir /analysis
214
215
test -n " $dir " -a -d " $adir " || fail " malformed run: $name "
215
216
216
- local logfiles=($( if test -z " $host "
217
- then ls " $adir " /logs-* .flt.json
218
- else ls " $adir " /logs-$host .flt.json; fi) )
217
+ local logfiles=(
218
+ $( if test -z " $host "
219
+ then ls " $adir " /logs-* .flt.json
220
+ else ls " $adir " /logs-$host .flt.json; fi) )
221
+ local minus_logfiles=(
222
+ $( for host in ${perf_omit_hosts[*]}
223
+ do ls " $adir " /logs-$host .flt.json; done) )
219
224
220
225
if test -z " ${filters[*]} " -a -z " $unfiltered "
221
226
then local filter_names=$( jq ' .analysis.filters
@@ -231,23 +236,24 @@ case "$op" in
231
236
--shelley-genesis " $dir " / genesis-shelley.json } )
232
237
v3=(${v2[*]/# dump-chain-raw/ ' dump-chain-raw' --chain " $adir " / chain-raw.json} )
233
238
v4=(${v3[*]/# chain-timeline-raw/ ' timeline-chain-raw' --timeline " $adir " / chain-raw.txt} )
234
- v5=(${v4[*]/# filter-chain/ ' filter-chain' ${filters[*]} } )
239
+ v5=(${v4[*]/# filter-chain/ ' filter-chain' ${filters[*]} } )
235
240
v6=(${v5[*]/# dump-chain/ ' dump-chain' --chain " $adir " / chain.json} )
236
241
v7=(${v6[*]/# chain-timeline/ ' timeline-chain' --timeline " $adir " / chain.txt} )
237
- v8=(${v7[*]/# filter-slots/ ' filter-slots' ${filters[*]} } )
238
- v9=(${v8[*]/# propagation-json/ ' render-propagation' --json " $adir " / blockprop.json --full} )
239
- va=(${v9[*]/# propagation-org/ ' render-propagation' --org " $adir " / blockprop.org --full} )
240
- vb=(${va[*]/# propagation-forger/ ' render-propagation' --report " $adir " / blockprop.forger.org --forger} )
241
- vc=(${vb[*]/# propagation-peers/ ' render-propagation' --report " $adir " / blockprop.peers.org --peers } )
242
- vd=(${vc[*]/# propagation-endtoend/ ' render-propagation' --report " $adir " / blockprop.endtoend.org --end-to-end} )
243
- ve=(${vd[*]/# propagation-gnuplot/ ' render-propagation' --gnuplot " $adir " /% s.cdf --full} )
244
- vf=(${ve[*]/# propagation-full/ ' render-propagation' --pretty " $adir " / blockprop-full.txt --full} )
245
- vg=(${vf[*]/# clusterperf-json/ ' render-clusterperf' --json " $adir " / clusterperf.json --full } )
246
- vh=(${vg[*]/# clusterperf-org/ ' render-clusterperf' --org " $adir " / clusterperf.org --full } )
247
- vi=(${vh[*]/# clusterperf-report/ ' render-clusterperf' --report " $adir " / clusterperf.report.org --summary } )
248
- vj=(${vi[*]/# clusterperf-gnuplot/ ' render-clusterperf' --gnuplot " $adir " /% s.cdf --full } )
249
- vk=(${vj[*]/# clusterperf-full/ ' render-clusterperf' --pretty " $adir " / clusterperf-full.txt --full } )
250
- local ops_final=(${vk[*]} )
242
+ v8=(${v7[*]/# collect-slots/ ' collect-slots' ${minus_logfiles[*]/#/ --ignore-log } } )
243
+ v9=(${v8[*]/# filter-slots/ ' filter-slots' ${filters[*]} } )
244
+ va=(${v9[*]/# propagation-json/ ' render-propagation' --json " $adir " / blockprop.json --full} )
245
+ vb=(${va[*]/# propagation-org/ ' render-propagation' --org " $adir " / blockprop.org --full} )
246
+ vc=(${vb[*]/# propagation-forger/ ' render-propagation' --report " $adir " / blockprop.forger.org --forger} )
247
+ vd=(${vc[*]/# propagation-peers/ ' render-propagation' --report " $adir " / blockprop.peers.org --peers } )
248
+ ve=(${vd[*]/# propagation-endtoend/ ' render-propagation' --report " $adir " / blockprop.endtoend.org --end-to-end} )
249
+ vf=(${ve[*]/# propagation-gnuplot/ ' render-propagation' --gnuplot " $adir " /% s.cdf --full} )
250
+ vg=(${vf[*]/# propagation-full/ ' render-propagation' --pretty " $adir " / blockprop-full.txt --full} )
251
+ vh=(${vg[*]/# clusterperf-json/ ' render-clusterperf' --json " $adir " / clusterperf.json --full } )
252
+ vi=(${vh[*]/# clusterperf-org/ ' render-clusterperf' --org " $adir " / clusterperf.org --full } )
253
+ vj=(${vi[*]/# clusterperf-report/ ' render-clusterperf' --report " $adir " / clusterperf.report.org --summary } )
254
+ vk=(${vj[*]/# clusterperf-gnuplot/ ' render-clusterperf' --gnuplot " $adir " /% s.cdf --full } )
255
+ vl=(${vk[*]/# clusterperf-full/ ' render-clusterperf' --pretty " $adir " / clusterperf-full.txt --full } )
256
+ local ops_final=(${vl[*]} )
251
257
252
258
progress " analysis | locli" " $( with_color reset ${locli_rts_args[@]} ) $( colorise " ${ops_final[@]} " ) "
253
259
time locli " ${locli_rts_args[@]} " " ${ops_final[@]} "
0 commit comments