2026-03-10 20:54:14 -07:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
# Pretty-print Plano MODEL_RESOLUTION lines from docker logs
|
2026-04-15 16:41:42 -07:00
|
|
|
# - hides Plano-Orchestrator
|
2026-03-10 20:54:14 -07:00
|
|
|
# - prints timestamp
|
|
|
|
|
# - colors MODEL_RESOLUTION red
|
|
|
|
|
# - colors req_model cyan
|
|
|
|
|
# - colors resolved_model magenta
|
|
|
|
|
# - removes provider and streaming
|
|
|
|
|
|
|
|
|
|
docker logs -f plano 2>&1 \
|
|
|
|
|
| awk '
|
2026-04-15 16:41:42 -07:00
|
|
|
/MODEL_RESOLUTION:/ && $0 !~ /Plano-Orchestrator/ {
|
2026-03-10 20:54:14 -07:00
|
|
|
# extract timestamp between first [ and ]
|
|
|
|
|
ts=""
|
|
|
|
|
if (match($0, /\[[0-9-]+ [0-9:.]+\]/)) {
|
|
|
|
|
ts=substr($0, RSTART+1, RLENGTH-2)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# split out after MODEL_RESOLUTION:
|
|
|
|
|
n = split($0, parts, /MODEL_RESOLUTION: */)
|
|
|
|
|
line = parts[2]
|
|
|
|
|
|
|
|
|
|
# remove provider and streaming fields
|
|
|
|
|
sub(/ *provider='\''[^'\'']+'\''/, "", line)
|
|
|
|
|
sub(/ *streaming=(true|false)/, "", line)
|
|
|
|
|
|
|
|
|
|
# highlight fields
|
|
|
|
|
gsub(/req_model='\''[^'\'']+'\''/, "\033[36m&\033[0m", line)
|
|
|
|
|
gsub(/resolved_model='\''[^'\'']+'\''/, "\033[35m&\033[0m", line)
|
|
|
|
|
|
|
|
|
|
# print timestamp + MODEL_RESOLUTION
|
|
|
|
|
printf "\033[90m[%s]\033[0m \033[31mMODEL_RESOLUTION\033[0m: %s\n", ts, line
|
|
|
|
|
}'
|