fix(monitoring): drop unbound LADDER_RANGES in GOA ladder

This commit is contained in:
Hernâni Marques 2026-07-16 19:40:45 +02:00
parent 01900bab9a
commit 66815f81c2
No known key found for this signature in database
3 changed files with 34 additions and 14 deletions

View file

@ -164,29 +164,26 @@ Blockers keep the same ID prefix: `[BLOCKER] e2e-0NN step: message`.
| ladder-… | Settle coins; **stop on first hard failure** |
| report | TSV + JSON with **ms_mint / ms_accept / ms_confirm / ms_settle / ms_total** |
Default path:
Default path (`build_ladder`, strictly increasing):
```text
[fixed] GOA:0
[low] random pick in each LADDER_RANGES band (atomic … ~2e6)
[high] LADDER_HIGH_RUNGS random *ranges* log-uniform in [HIGH_FROM, max)
(range bounds drawn randomly each run — not fixed 1e7/1e8/…)
[random] (LADDER_STEPS 2) log-uniform amounts in (ε, max)
[fixed] GOA:4503599627370496 (LADDER_MAX_AMOUNT)
```
TSV column `range`: `pin:0` | `random` | `pin:max` (no legacy `LADDER_RANGES`).
| Env | Default | Meaning |
|-----|---------|---------|
| `LADDER_INCLUDE_ZERO` | `1` | first rung **0** (fixed) |
| `LADDER_INCLUDE_MAX` | `1` | last rung **max** (fixed) |
| `LADDER_MAX_AMOUNT` | `4503599627370496` | absolute pin |
| `LADDER_HIGH_FROM` | `1000000` | high random zone starts |
| `LADDER_HIGH_RUNGS` | `12` | # random high ranges |
| `LADDER_STEPS` | `23` | total rungs (0 + mids + max) |
| `LADDER_MAX_AMOUNT` | `4503599627370496` | absolute last pin |
| `LADDER_TIMEOUT_S` | `3600` | large rungs need time |
| `LADDER_MAX_RUNGS` | `99` | cap list length after build |
```bash
./taler-monitoring.sh ladder
LADDER_HIGH_RUNGS=20 ./taler-monitoring.sh ladder
LADDER_INCLUDE_ZERO=0 LADDER_INCLUDE_MAX=0 ./taler-monitoring.sh ladder
LADDER_STEPS=10 ./taler-monitoring.sh ladder
LADDER_REPORT_DIR=/tmp/my-ladder ./taler-monitoring.sh ladder
```

View file

@ -207,8 +207,10 @@ LADDER_LIST=$(build_ladder)
# shellcheck disable=SC2086
set -- $LADDER_LIST
if [ "$#" -gt "$LADDER_MAX_RUNGS" ]; then
# shellcheck disable=SC2046
set -- $(printf '%s\n' "$@" | head -n "$LADDER_MAX_RUNGS")
fi
LADDER_N=$#
info "ladder plan" "$*"
printf '%s\n' "$@" >"$SCRATCH/ladder-plan.txt"
@ -229,7 +231,14 @@ for AMT in "$@"; do
section "ladder · rung $rung $AMT"
tag=$(printf '%s' "$AMT" | tr '.:' '__')
range_note=$(printf '%s' "$LADDER_RANGES" | awk -v n="$rung" '{print $n}')
# TSV "range" column: fixed pins at ends, random mids (no legacy LADDER_RANGES)
if [ "$rung" -eq 1 ]; then
range_note="pin:0"
elif [ "$rung" -eq "$LADDER_N" ]; then
range_note="pin:max"
else
range_note="random"
fi
t_rung=$(now_ms)
ms_mint=0 ms_accept=0 ms_confirm=0 ms_settle=0
note=""

View file

@ -134,10 +134,24 @@ export EXPECT_CURRENCY SKIP_SSH LOCAL_STACK TALER_DOMAIN_PROBE
export WITHDRAW_AMT PAY_AMT CREDIT_AMT MERCHANT_INSTANCE
export E2E_FAKE_INCOMING E2E_REMOTE E2E_VARIABLE E2E_ATM_MAX
export E2E_WITHDRAW_VALUES E2E_PAY_VALUES
export LADDER_RANGES LADDER_MAX_RUNGS LADDER_TIMEOUT_S LADDER_REPORT_DIR
# Ladder: 0 + random mids + max (see check_goa_ladder.sh build_ladder). No LADDER_RANGES.
# Defaults so set -u export is safe when vars were never set by caller.
: "${LADDER_STEPS:=23}"
: "${LADDER_MAX_RUNGS:=99}"
: "${LADDER_TIMEOUT_S:=3600}"
: "${LADDER_REPORT_DIR:=}"
: "${LADDER_SETTLE_ROUNDS:=18}"
: "${LADDER_SETTLE_SLEEP:=2}"
: "${LADDER_MAX_AMOUNT:=4503599627370496}"
: "${LADDER_INCLUDE_ZERO:=1}"
: "${LADDER_INCLUDE_MAX:=1}"
: "${LADDER_HIGH_FROM:=1000000}"
: "${LADDER_HIGH_RUNGS:=12}"
: "${LADDER_LOAD:=1}"
export LADDER_STEPS LADDER_MAX_RUNGS LADDER_TIMEOUT_S LADDER_REPORT_DIR
export LADDER_SETTLE_ROUNDS LADDER_SETTLE_SLEEP EXP_PW_FILE EXP_USER
export LADDER_MAX_AMOUNT LADDER_INCLUDE_ZERO LADDER_INCLUDE_MAX
export LADDER_HIGH_FROM LADDER_HIGH_RUNGS
export LADDER_HIGH_FROM LADDER_HIGH_RUNGS LADDER_LOAD
export TALER_DOMAIN_APPLIED=1
# Default phases