#!/usr/bin/env bash # The single most useful number in this repository: how long a naive Kafka health check blocks. set -uo pipefail cd "$(dirname "$0")/.." OUT=docs/output/09-kafka-timeout.txt MODE="${1:-tuned}" B=http://localhost:8080/actuator/health/kafka { echo "### Kafka health check against an unreachable broker -- ${MODE}" echo echo "\$ time curl -s $B" s=$(date +%s.%N) body=$(curl -s -u ops:ops-password --max-time 180 "$B") e=$(date +%s.%N) echo "$body" | python3 -m json.tool 2>/dev/null || echo "$body" echo printf 'wall clock: %.1f s\n' "$(echo "$e - $s" | bc)" } > "$OUT.$MODE" 2>&1 echo "wrote $OUT.$MODE"