mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Build: Collect frontend build time metric (#20254)
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
|
|
||||||
|
# shellcheck source=./scripts/helpers/exit-if-fail.sh
|
||||||
|
source "$(dirname "$0")/../helpers/exit-if-fail.sh"
|
||||||
#
|
#
|
||||||
# This script is executed from within the container.
|
# This script is executed from within the container.
|
||||||
#
|
#
|
||||||
@@ -24,6 +26,16 @@ CCX64_MUSL=/tmp/x86_64-linux-musl-cross/bin/x86_64-linux-musl-gcc
|
|||||||
cd /go/src/github.com/grafana/grafana
|
cd /go/src/github.com/grafana/grafana
|
||||||
echo "current dir: $(pwd)"
|
echo "current dir: $(pwd)"
|
||||||
|
|
||||||
|
function reportFrontEndBuildTime() {
|
||||||
|
if echo "$EXTRA_OPTS" | grep -vq enterprise ; then
|
||||||
|
# Only report for build job
|
||||||
|
# build-enterprise happens right after build on master
|
||||||
|
# so there is no need for reporting the same metric again
|
||||||
|
exit_if_fail ./scripts/ci-metrics-publisher.sh "grafana.ci-performance.frontend-build=$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if [ "$CIRCLE_TAG" != "" ]; then
|
if [ "$CIRCLE_TAG" != "" ]; then
|
||||||
echo "Building releases from tag $CIRCLE_TAG"
|
echo "Building releases from tag $CIRCLE_TAG"
|
||||||
OPT="-includeBuildId=false ${EXTRA_OPTS}"
|
OPT="-includeBuildId=false ${EXTRA_OPTS}"
|
||||||
@@ -60,7 +72,11 @@ else
|
|||||||
echo "Building frontend and packaging incremental build for $CIRCLE_BRANCH"
|
echo "Building frontend and packaging incremental build for $CIRCLE_BRANCH"
|
||||||
fi
|
fi
|
||||||
echo "Building frontend"
|
echo "Building frontend"
|
||||||
|
start=$(date +%s%N)
|
||||||
go run build.go ${OPT} build-frontend
|
go run build.go ${OPT} build-frontend
|
||||||
|
runtime=$((($(date +%s%N) - start)/1000000))
|
||||||
|
echo "Frontent build took $runtime"
|
||||||
|
reportFrontEndBuildTime $runtime
|
||||||
|
|
||||||
if [ -d "dist" ]; then
|
if [ -d "dist" ]; then
|
||||||
rm -rf dist
|
rm -rf dist
|
||||||
|
@@ -98,7 +98,11 @@ function build_frontend() {
|
|||||||
fi
|
fi
|
||||||
yarn install --pure-lockfile --no-progress
|
yarn install --pure-lockfile --no-progress
|
||||||
echo "Building frontend"
|
echo "Building frontend"
|
||||||
|
|
||||||
|
start=$(date +%s%N)
|
||||||
go run build.go ${OPT} build-frontend
|
go run build.go ${OPT} build-frontend
|
||||||
|
runtime=$((($(date +%s%N) - start)/1000000))
|
||||||
|
echo "Frontent build took: $runtime ms"
|
||||||
echo "FRONTEND: finished"
|
echo "FRONTEND: finished"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -6,13 +6,23 @@ data=""
|
|||||||
|
|
||||||
for ((i = 1; i <= $#; i++ )); do
|
for ((i = 1; i <= $#; i++ )); do
|
||||||
remainder="${!i}"
|
remainder="${!i}"
|
||||||
first="${remainder%%=*}"; remainder="${remainder#*=}"
|
# Find everything until last = character (= is included in the result)
|
||||||
|
# This allows to add tags to metric names
|
||||||
|
metricName=$(grep -o "\(.*\)=" <<< $remainder)
|
||||||
|
# Get the metric value
|
||||||
|
value=${remainder#"$metricName"}
|
||||||
|
# Remove remaining = character from metric name
|
||||||
|
metricName=${metricName%?};
|
||||||
|
|
||||||
|
|
||||||
if [ -n "$data" ]; then
|
if [ -n "$data" ]; then
|
||||||
data="$data,"
|
data="$data,"
|
||||||
fi
|
fi
|
||||||
data=''$data'{"name": "'${first}'", "value": '${remainder}', "interval": 60, "mtype": "gauge", "time": '$(date +%s)'}'
|
data=''$data'{"name": "'${metricName}'", "value": '${value}', "interval": 60, "mtype": "gauge", "time": '$(date +%s)'}'
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo "Publishing metrics:"
|
||||||
|
echo "$data"
|
||||||
curl "https://6371:$GRAFANA_MISC_STATS_API_KEY@graphite-us-central1.grafana.net/metrics" \
|
curl "https://6371:$GRAFANA_MISC_STATS_API_KEY@graphite-us-central1.grafana.net/metrics" \
|
||||||
-H 'Content-type: application/json' \
|
-H 'Content-type: application/json' \
|
||||||
-d "[$data]"
|
-d "[$data]"
|
||||||
|
Reference in New Issue
Block a user