43 lines
1011 B
Bash
Executable File
43 lines
1011 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -o pipefail
|
|
set -u
|
|
|
|
# Logs metrics on binary size to CloudWatch
|
|
|
|
FILE=$1
|
|
DIMENSIONS=$2
|
|
|
|
if [ -z "${DIMENSIONS}" ]; then
|
|
echo "* No dimensions specified for '${FILE}'"
|
|
exit 1
|
|
fi
|
|
|
|
function filesize {
|
|
if [ `uname -s` = 'Darwin' ]; then
|
|
stat -f%z $1
|
|
else
|
|
stat --printf=%s $1
|
|
fi
|
|
}
|
|
|
|
if [ -f "${FILE}" ]; then
|
|
SIZE=`filesize ${FILE}`
|
|
if [ ${CLOUDWATCH:-} ]; then
|
|
echo "* Reporting `LC_NUMERIC=en_US printf "%'10.f\n" ${SIZE}` bytes for '${DIMENSIONS}' (${FILE})"
|
|
aws --region us-east-1 cloudwatch put-metric-data \
|
|
--namespace "Mapbox/GL" \
|
|
--metric-name "BinarySize" \
|
|
--unit "Bytes" \
|
|
--value ${SIZE} \
|
|
--dimensions "${DIMENSIONS}"
|
|
|
|
./scripts/publish_binary_size.sh "${DIMENSIONS}"
|
|
else
|
|
echo "* Measured `LC_NUMERIC=en_US printf "%'10.f\n" ${SIZE}` bytes for '${DIMENSIONS}' (${FILE})"
|
|
fi
|
|
else
|
|
echo "* File '${FILE}' does not exist"
|
|
fi
|