base-org/pessimism

More Granular Health Checking

Closed this issue · 0 comments

Problem

The existing health checking /health endpoint performs no real health assessment. It fails to consider dependency health (Ie. layer-1 node, layer-2 node, slack), meaning that Pessimism will render Healthy=true in the event of upstream node/dependency failures.

Problem Solution

The health check /health endpoint should be extended to support health checking assessments for critical application dependencies. Starting out, the health check struct itself should look something like:

type HealthCheck {
      IsL1Healthy bool
      IsL2Healthy bool
}

From there, the yielded Healthy value in the client response should return:

 true if IsL1Healthy == true && IsL2Healthy == true
 false if IsL1Healthy != true || IsL2Healthy != true