summary refs log tree commit diff
path: root/bin/tw-kestrel-active-queues
diff options
context:
space:
mode:
authorFranck Cuny <franck.cuny@gmail.com>2017-02-16 13:38:39 -0800
committerFranck Cuny <franck.cuny@gmail.com>2017-02-16 13:38:39 -0800
commitedfd0f5bcc591dc20023a6f48c35f887fcb3555f (patch)
treebaf4a573de7307233040ca38646d48edab305263 /bin/tw-kestrel-active-queues
parent[notes] up (diff)
downloademacs.d-edfd0f5bcc591dc20023a6f48c35f887fcb3555f.tar.gz
[bin] prefix twitter's scripts with 'tw'.
Diffstat (limited to 'bin/tw-kestrel-active-queues')
-rwxr-xr-xbin/tw-kestrel-active-queues25
1 files changed, 25 insertions, 0 deletions
diff --git a/bin/tw-kestrel-active-queues b/bin/tw-kestrel-active-queues
new file mode 100755
index 0000000..9cf85ce
--- /dev/null
+++ b/bin/tw-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