grafana/scripts/ci-metrics-publisher.sh
2019-11-08 12:48:32 +01:00

29 lines
776 B
Bash
Executable File

#!/bin/bash
echo "Publishing CI Metrics"
data=""
for ((i = 1; i <= $#; i++ )); do
remainder="${!i}"
# 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
data="$data,"
fi
data=''$data'{"name": "'${metricName}'", "value": '${value}', "interval": 60, "mtype": "gauge", "time": '$(date +%s)'}'
done
echo "Publishing metrics:"
echo "$data"
curl "https://6371:$GRAFANA_MISC_STATS_API_KEY@graphite-us-central1.grafana.net/metrics" \
-H 'Content-type: application/json' \
-d "[$data]"