Documentation
¶
Overview ¶
Package diagnostics — живость и готовность пода на диагностической поверхности службы.
Endpoints:
GET /healthz — liveness probe: жив ли процесс; от зависимостей не зависит.
GET /readyz — readiness probe: готов ли обслуживать (база, версия схемы,
обработчик операций); 503 с именами упавших зависимостей.
Скрейп (`/metrics`) на тот же мультиплексор кладёт композиционный корень: он один знает, какой реестр величин скребут.
Почему живость и готовность здесь, а не на слушателе вебхуков (kaname#360) ¶
Они жили на слушателе вебхуков поставщика личности, и из-за этого слушатель нельзя было снять под посадкой `own`, где поставщика нет: пробы пода шли в его порт. Эта поверхность поднимается при ЛЮБОЙ посадке — поэтому на ней. Тело готовности называет только ИМЕНА зависимостей и их состояние, без текста ошибок: это та же внутренняя кардинальность, что уже зеркалится величиной готовности в скрейп (kacho#2494).
Живость и готовность строит ОБЪЯВЛЕННЫЙ носитель, а не этот пакет (kacho#1752) ¶
Носитель `corelib/observability/health` уже решил срок на чекер, различение «носитель не провязан»/«носитель ответил», перевод в 503 на гашении и зеркало результата. ЧТО проверяется, знает композиционный корень; этот пакет только монтирует.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Handlers ¶
type Handlers struct {
// Health — объявленный носитель разведённых живости и готовности. nil
// означает «корень не провязал» и даёт fail-closed готовность, а не
// молчаливые 200 (см. errHealthCarrierNotWired).
Health *health.Aggregator
}
Handlers — то, что монтирует диагностическая поверхность.