#!/usr/bin/env bash # CI helper: check cardinality of a given label field over the last 24h using logcli # Usage: ./check_cardinality.sh event 5000 FIELD=${1:-event} THRESHOLD=${2:-5000} if ! command -v logcli >/dev/null 2>&1; then echo "logcli not found in PATH" exit 2 fi echo "Checking cardinality for label: $FIELD" RESULT=$(logcli query '{env="prod"}' --since=24h | jq -r ".[].${FIELD}" | sort | uniq -c | awk -v t=$THRESHOLD '$1>t{print $2, $1}') if [ -n "$RESULT" ]; then echo "High cardinality detected for field '$FIELD':" echo "$RESULT" exit 1 else echo "Cardinality OK" exit 0 fi