summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xbin/kestrel-active-queues25
1 files changed, 25 insertions, 0 deletions
diff --git a/bin/kestrel-active-queues b/bin/kestrel-active-queues
new file mode 100755
index 0000000..9cf85ce
--- /dev/null
+++ b/bin/kestrel-active-queues
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+CLUSTER="${1:-kestrel.prod.low_sla}"
+
+for zone in atla smf1; do
+  echo "querying $zone/$CLUSTER"
+
+  tmpfile=$(mktemp "/tmp/${CLUSTER}-${zone}.XXXXXX")
+  csvout="$(dirname $0)/${CLUSTER}-${zone}.csv"
+
+  # first filter the metrics we want
+  cql -z "${zone}" k "${CLUSTER}" "sd.${CLUSTER}" | grep -e 'get_items_hit' > "${tmpfile}"
+
+  # remove the csv output file if it exists
+  [ -e "${csvout}" ] && rm "${csvout}"
+
+  # then we build the csv
+  for queue in $(cat "${tmpfile}"); do
+    total_hits=$(cql -z "${zone}" q -d 86400 "sum(default(0, rate(ts(sum, ${CLUSTER}, members(sd.${CLUSTER}), ${queue}))))"|awk '{sum+=$8} END{print sum}')
+    queue_name=$(echo ${queue} | sed -e 's/^q\/\(.*\)\/.*$/\1/')
+    echo "${queue_name};${total_hits}" >> "${csvout}"
+  done
+
+  rm "${tmpfile}"
+done