diff --git a/rootfs/etc/s6-overlay/s6-rc.d/generate-prom/run b/rootfs/etc/s6-overlay/s6-rc.d/generate-prom/run new file mode 100755 index 0000000..1c72f10 --- /dev/null +++ b/rootfs/etc/s6-overlay/s6-rc.d/generate-prom/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec /scripts/generate-prom.sh diff --git a/rootfs/etc/s6-overlay/s6-rc.d/generate-prom/type b/rootfs/etc/s6-overlay/s6-rc.d/generate-prom/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/rootfs/etc/s6-overlay/s6-rc.d/generate-prom/type @@ -0,0 +1 @@ +longrun diff --git a/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/generate-prom b/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/generate-prom new file mode 100644 index 0000000..e69de29 diff --git a/rootfs/scripts/generate-prom.sh b/rootfs/scripts/generate-prom.sh new file mode 100755 index 0000000..3136902 --- /dev/null +++ b/rootfs/scripts/generate-prom.sh @@ -0,0 +1,25 @@ +#!/command/with-contenv bash +# shellcheck shell=bash + +# generate prom file for consumption by for example docker-telegraf-adsb +# currently this only has autogain as the other metrics can be generated in docker-telegraf-adsb + +OUT=/run/skyaware978/stats.prom +TMP=/run/skyaware978/stats.prom.tmp + +function generate() { + if [[ -f "$AUTOGAIN_CURRENT_VALUE_FILE" ]]; then + echo "autogain_current_value=$(cat "$AUTOGAIN_CURRENT_VALUE_FILE")" + echo "autogain_max_value=$(cat "$AUTOGAIN_MAX_GAIN_VALUE_FILE")" + echo "autogain_min_value=$(cat "$AUTOGAIN_MIN_GAIN_VALUE_FILE")" + echo "autogain_pct_strong_messages_max=$AUTOGAIN_PERCENT_STRONG_MESSAGES_MAX" + echo "autogain_pct_strong_messages_min=$AUTOGAIN_PERCENT_STRONG_MESSAGES_MIN" + fi +} + +while sleep 60; do + generate > "$TMP" + mv -f "$TMP" "$OUT" +done + +