- род метрики выводится сверкой минутного слоя с часовым: часовое значение сходится с суммой минутных — накопительная, со средним — мгновенная, иначе `unknown` и свёртка не предлагается вовсе. На живом архиве (123 доставки, 31 метрика) 7 накопительных, 9 мгновенных, противоречащих часов ноль - `GET /api/v1/metrics` под токеном чтения отдаёт единицы, слои с границами и род вместе с основанием измерения; род нигде не хранится — он функция витрины, а витрина функция журнала, устаревать в нём нечему - миграция 00009: покрывающий индекс, чтобы каталог отвечал по учётным колонкам, не разжимая содержимое объектов
34 lines
1.9 KiB
TOML
34 lines
1.9 KiB
TOML
# Конфигурация локального запуска в контейнере (`task up`).
|
|
#
|
|
# ВНИМАНИЕ: этот файл коммитится. Токенов в нём быть не должно.
|
|
# Сейчас проверка токенов выключена сознательно — сервис работает только в
|
|
# доверенной локальной сети, телефон шлёт на IP хоста. Перед выездом на
|
|
# rivendell токены переезжают в отдельный несохраняемый файл, см. задачу
|
|
# беклога «Управление секретами и токенами».
|
|
|
|
[server]
|
|
addr = ":8080"
|
|
read_timeout = "5m" # экспорт истории — десятки мегабайт, бывает медленно
|
|
write_timeout = "30s" # прочих маршрутов; приём держит свой бюджет, см. config.example.toml
|
|
|
|
[auth]
|
|
write_tokens = [] # ПУСТО = проверка выключена, см. предупреждение выше
|
|
# Чтение открыто так же, как приём, но цена другая: это выгрузка истории
|
|
# здоровья. Годится только для доверенной локальной сети.
|
|
read_tokens = []
|
|
|
|
[storage]
|
|
# Пути внутри контейнера. Снаружи это каталог ./data, смонтированный в /data
|
|
# (см. docker-compose.yml): база и сырой архив переживают пересборку образа.
|
|
db_path = "/data/healthlog.db"
|
|
archive_dir = "/data/raw"
|
|
|
|
[ingest]
|
|
# Ретроактивен: тем же пределом пересборка читает тела из архива, см.
|
|
# config.example.toml.
|
|
max_body_mb = 64
|
|
|
|
[log]
|
|
level = "info"
|
|
format = "json"
|