Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F121195923
time_distribution.sh
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Jul 9, 06:28
Size
1 KB
Mime Type
text/x-shellscript
Expires
Fri, Jul 11, 06:28 (2 d)
Engine
blob
Format
Raw Data
Handle
27206460
Attached To
R3704 elastic-yarn
time_distribution.sh
View Options
#!/bin/bash
if
[
$#
!
=
1
]
;
then
echo
"Usage: $0 <exp_dir>"
exit
1
fi
TIME_BUCKETS
=(
0 0 0 0 0 0 0 0 0 0
)
EXP_DIR
=
$1
cd
$EXP_DIR
# Find a regular run
RUN_FOLDER
=
$(
find . -type d -name
\*
regular
\*
| head -n 1
)
# Some of the runs get empty realtimetrack files, for some reason
FOUND
=
0
for
folder in
$(
find . -type d -name
\*
regular
\*
)
;
do
RTT_SIZE
=
$(
du
$folder
/realtimetrack.json | cut -f1
)
if
[
$RTT_SIZE
-gt 10
]
;
then
RUN_FOLDER
=
$folder
FOUND
=
1
break
fi
done
TRACE_FILE
=
$(
find
$RUN_FOLDER
-name
\*
.trace
)
TRACE_ID
=
$(
basename
$TRACE_FILE
)
TRACE_ID
=
${
TRACE_ID
##*-
}
TRACE_ID
=
${
TRACE_ID
%.*
}
echo
-n
"$TRACE_ID "
if
[
$FOUND
!
=
1
]
;
then
# echo "No valid realtimetrack.json file found"
echo
"0"
exit
1
fi
START_TIME_MS
=
$(
head -n 1
$RUN_FOLDER
/realtimetrack.json | cut -d
','
-f1 | cut -d
':'
-f2
)
END_TIME_MS
=
$(
tail -n 2
$RUN_FOLDER
/realtimetrack.json | head -n 1 | cut -d
','
-f2 | cut -d
':'
-f2
)
RUN_TIME_MS
=
$((
END_TIME_MS-START_TIME_MS
))
JOB_START_TIMES
=
$(
grep job.start.ms
$TRACE_FILE
| cut -d
':'
-f2 | tr -d
" ,"
| sort -n
)
JOB_COUNT
=
$(
echo
$JOB_START_TIMES
| tr -s
' '
'\n'
| wc -l
)
#echo "$(basename $TRACE_FILE): $JOB_COUNT jobs, $RUN_TIME_MS regular RT"
sum
=
0
for
((
i
=
0 ; i < 10 ; i++
))
;
do
LIMIT
=
$((
RUN_TIME_MS
*
(
i
+
1
)
/
10
))
for
TIME in
$JOB_START_TIMES
;
do
if
[
$TIME
-lt
$LIMIT
]
;
then
((
TIME_BUCKETS
[
$i
]
++
))
fi
done
((
TIME_BUCKETS
[
$i
]
-
=
sum
))
((
sum +
=
TIME_BUCKETS
[
$i
]))
echo
-n
"$((i * 10))-$(((i+1)*10)): $(tput bold) ${TIME_BUCKETS[i]} $(tput sgr0) "
done
| column -t
cd
- &>/dev/null
Event Timeline
Log In to Comment