Skip to content

観測性とヘルスチェック

ヘルスチェック

Endpoint用途
/health/liveprocessが応答できるか
/health/readyDB、queue、追加依存が利用可能か

readinessへ独自依存を追加できます。

ts
const assetDependency = {
    name: 'assets',
    async ready() {
        await assetClient.headBucket()
    },
}

ログ、メトリクス、トレース

observabilityにはvendor固有SDKを直接要求せず、adapter契約を渡します。

ts
const sonolus = new Honolus({
    observability: {
        logger: new JsonConsoleLogger(),
        metrics,
        tracer,
    },
})

HTTPメトリクスのroute labelには実際のitem名ではなく登録route patternが使われ、時系列の高カーディナリティ化を避けます。ログにはrequest ID、method、route、status、処理時間が含まれます。

DBではPostgresExecutorへ同じmetricsを渡すとquery件数とdurationを記録できます。

Released under the ISC License.