* Log Memory.Footprint test output * On CI, only run Memory.Footprint test with libjemalloc
40 lines
1.0 KiB
Bash
Executable File
40 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -o pipefail
|
|
set -u
|
|
|
|
# Logs metrics on memory usage to CloudWatch
|
|
|
|
GTEST_OUTPUT=$1
|
|
DIMENSIONS=$2
|
|
|
|
if [ -z "${DIMENSIONS}" ]; then
|
|
echo "* No dimensions specified for memory benchmarks"
|
|
exit 1
|
|
fi
|
|
|
|
function reportAttributeValue {
|
|
ATTR_NAME=$1
|
|
ATTR_UNITS=$2
|
|
ATTR_VALUE=$(cat $GTEST_OUTPUT | grep -o "$ATTR_NAME=\"[^\"]*" | sed "s/$ATTR_NAME=\"//")
|
|
if [ ${CLOUDWATCH:-} ]; then
|
|
echo "* Reporting $ATTR_NAME = $ATTR_VALUE $ATTR_UNITS for '${DIMENSIONS}'"
|
|
aws --region us-east-1 cloudwatch put-metric-data \
|
|
--namespace "Mapbox/GL" \
|
|
--metric-name "$ATTR_NAME" \
|
|
--unit "$ATTR_UNITS" \
|
|
--value ${ATTR_VALUE} \
|
|
--dimensions "${DIMENSIONS}"
|
|
else
|
|
echo "* Measured $ATTR_NAME = $ATTR_VALUE $ATTR_UNITS for '${DIMENSIONS}'"
|
|
fi
|
|
}
|
|
|
|
if [ -f "${GTEST_OUTPUT}" ]; then
|
|
reportAttributeValue vectorFootprint Bytes
|
|
reportAttributeValue rasterFootprint Bytes
|
|
else
|
|
echo "* File '${GTEST_OUTPUT}' does not exist"
|
|
fi
|