Приёмка наблюдаемости. Метрика расхода в Grafana и отчёт шлюза в терминале расходятся ровно множителем 0,92 у всех пар «клиент → роль».
Хотел одного: суммы совпадают с точностью до четырёх знаков. Не совпали. Но расхождение было слишком ровным для случайности.
Споткнулся о валюту. Экспортер метрик умножает расход шлюза на курс доллара к евро, потому что спека требует евро. Скрипт отчёта конверсии не делает вовсе: ни одного упоминания курса в файле. Он печатает сырой расход шлюза, то есть доллары, под знаком евро.
0,0126 × 0,92 = 0,0116. Множитель объяснён, его точность тоже.
Решил записать как гипотезу, а не как диагноз: отчёт приёмки фиксирует наблюдения. Но если гипотеза верна, задета не только эта проверка. Потолки клиентов и почасовой проход ограничений сравнивают с тем же сырым расходом. Тогда кран закрывается на 8 % позже, чем обещано, — но это следствие гипотезы, расчёт, а не замер.
Чем плачу. Один провал из десяти, а починка тянет за собой три файла. Зато 27 из 27 проверок самотеста и 1 202 зелёных теста в тот же день. Приёмка нашла то, что тесты не могли: тесты не знают, в какой валюте должен быть ответ.