Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/tools/diff-metrics.sh

44 lines
1.1 KiB

#!/usr/bin/env bash
# To use this script
# * run the script, it will spin up 2 loki instances and print the local port 3100 is bound to
# * in another terminal, curl the two instances /metrics endpoints, and save to a file
# * diff the files
# * press enter to kill the servers
set -eo pipefail
current_dir="$(cd "$(dirname "${0}")" && pwd)"
loki_dir="$(cd "${current_dir}/../cmd/loki" && pwd)"
root_dir="$(cd "${current_dir}/.." && pwd)"
export OLD_LOKI=${OLD_VERSION:-2.7.5}
export NEW_LOKI=${NEW_VERSION:-$("${current_dir}/image-tag")}
export CONFIG_FILE="loki-local-config.yaml"
function start_loki() {
local version=${1}
docker run --rm -t -d -v "${loki_dir}:/config" \
-p 3100 \
"grafana/loki:${version}" \
-config.file="/config/${CONFIG_FILE}"
}
make -C "${root_dir}" loki-image
loki1="$(start_loki "${OLD_LOKI}")"
loki2="$(start_loki "${NEW_LOKI}")"
echo "Loki 1: ${loki1}"
echo "Loki 2: ${loki2}"
docker port "${loki1}"
docker port "${loki2}"
echo "Curl instances on ports above to get metrics."
read -r -n 1 -p "Press enter to kill loki instances..."
docker kill "${loki1}" "${loki2}"