Packages

package health

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package admin

Type Members

  1. trait AtomicHealthComponent extends AtomicHealthElement with HealthComponent

    An AtomicHealthElement whose state is a ComponentHealthState

  2. trait AtomicHealthElement extends HealthElement

    Trait for HealthElement at the leaves of the health dependency tree.

    Trait for HealthElement at the leaves of the health dependency tree. Maintains its own state instead of aggregating other components.

    See also

    CompositeHealthElement for the aggregating counterpart

  3. trait CloseableAtomicHealthComponent extends CloseableHealthComponent with AtomicHealthComponent
  4. trait CloseableHealthComponent extends CloseableHealthQuasiComponent with HealthComponent

    Fixes the state of a CloseableHealthQuasiComponent to ComponentHealthState

  5. trait CloseableHealthElement extends FlagCloseable with HealthElement

    A HealthElement that is its own com.digitalasset.canton.lifecycle.FlagCloseable.

    A HealthElement that is its own com.digitalasset.canton.lifecycle.FlagCloseable. Use this when the health reporting shall use inheritance over composition.

    When combining different HealthElement traits, mix in this one first so that the com.digitalasset.canton.lifecycle.FlagCloseable gets initialized first.

  6. trait CloseableHealthQuasiComponent extends CloseableHealthElement with HealthQuasiComponent

    Refines the state of a CloseableHealthElement to something convertible to a ComponentHealthState

  7. sealed trait ComponentHealthState extends ToComponentHealthState with PrettyPrinting

    Generic State implementation of a component This can be used as a base health state for most component.

    Generic State implementation of a component This can be used as a base health state for most component. However ComponentHealth (below) does not enforce the use of this class and a custom State class can be used instead

  8. final case class ComponentStatus(name: String, state: ComponentHealthState) extends PrettyPrinting with Product with Serializable

    Simple representation of the health state of a component, easily (de)serializable (from)to protobuf or JSON

  9. trait CompositeHealthComponent[ID, HE <: HealthElement] extends CompositeHealthElement[ID, HE] with HealthComponent
  10. trait CompositeHealthElement[ID, HE <: HealthElement] extends HealthElement

    Defines a HealthElement that merely aggregates the state of other (dependent) HealthElements.

    Defines a HealthElement that merely aggregates the state of other (dependent) HealthElements. The dependencies need not be reported anywhere.

    If you need to manage a state separately for this component, add a dedicated dependency on AtomicHealthElement.

    ID

    The identifier type for the dependent health elements.

  11. final class DelegatingMutableHealthComponent[Id] extends DelegatingMutableHealthQuasiComponent[Id, HealthComponent] with CloseableHealthComponent
  12. abstract class DelegatingMutableHealthQuasiComponent[Id, H <: HealthQuasiComponent] extends CloseableHealthQuasiComponent with CompositeHealthElement[Id, H] with NamedLogging

    A health component that aggregates the health state of multiple mutable dependencies using reduceState into a single health state.

  13. class GrpcHealthReporter extends NamedLogging with NoTracing

    This class updates gRPC health service with updates coming from Canton's ServiceHealth instances.

    This class updates gRPC health service with updates coming from Canton's ServiceHealth instances. See https://github.com/grpc/grpc/blob/master/doc/health-checking.md This class will update the health manager when new health state are being reported by the services, which will in turn be available to external clients through the gRPC Health service.

  14. class GrpcHealthServer extends NamedLogging with FlagCloseable
  15. trait HealthCheck extends AutoCloseable

    Check to determine a health check response

  16. sealed trait HealthCheckResult extends AnyRef

    Result of a health check

  17. trait HealthComponent extends HealthQuasiComponent

    Refines the state of a HealthElement to ComponentHealthState

  18. trait HealthElement extends AnyRef

    A HealthElement maintains a health state and notifies HealthListeners whenever the state has changed.

    A HealthElement maintains a health state and notifies HealthListeners whenever the state has changed.

    HealthElements are refined in three dimensions - They can be atomic maintaining their own state (AtomicHealthElement) or composite (CompositeHealthElement) aggregating the states of their dependencies - The state can be refined to ToComponentHealthState with HealthQuasiComponent and further to ComponentHealthState with HealthComponent. - Whether they need to be closed on their own (CloseableHealthElement).

    The traits from each dimension can be mixed together to create the appropriate combination. Do not mix several traits from the same dimension!

  19. trait HealthListener extends AnyRef

    A listener on the state of a HealthElement

  20. trait HealthQuasiComponent extends HealthElement

    Refines the state of a HealthElement to ToComponentHealthState

  21. class HealthServer extends FlagCloseableAsync with NamedLogging
  22. final class HealthService extends CloseableHealthElement with CompositeHealthElement[String, HealthQuasiComponent]

    A HealthService aggregates CloseableHealthComponents under critical and soft dependencies.

    A HealthService aggregates CloseableHealthComponents under critical and soft dependencies. Services are queryable through their name in the gRPC Health Check service. Both critical and soft dependencies are reported under their names too.

    The state of the HealthService is io.grpc.health.v1.HealthCheckResponse.ServingStatus.SERVING if and only if none of the critical dependencies have failed. Soft dependencies are merely reported as dependencies, but do not influence the status of the HealthService itself.

  23. class IsActiveCheck extends HealthCheck

    For components that simply flag whether they are active or not, just return that.

  24. final class MutableHealthComponent extends MutableHealthQuasiComponent[HealthComponent] with HealthComponent

    Refines a MutableHealthQuasiComponent state to ComponentHealthState

  25. class MutableHealthQuasiComponent[H <: HealthQuasiComponent] extends CloseableHealthQuasiComponent with CompositeHealthElement[Unit, H] with NamedLogging

    A CloseableHealthQuasiComponent that derives its state from an optional mutable HealthQuasiComponent.

    A CloseableHealthQuasiComponent that derives its state from an optional mutable HealthQuasiComponent. Use when the health component is not instantiated at bootstrap time and/or changes during the lifetime.

    Must be closed separately.

  26. class PeriodicCheck extends HealthCheck with NamedLogging

    Rather than executing a check for every isHealthy call periodically run the check and cache the result, and return this cached value for isHealthy.

  27. class PingHealthCheck extends HealthCheck with NamedLogging

    Pings the supplied participant to determine health.

    Pings the supplied participant to determine health. Will be considered unhealthy if unable to resolve the ping service for the participant alias (likely due to startup and initialization). Ping success considered healthy, ping failure considered unhealthy. If the ping future fails (rather than completing successfully with a failure), it will be converted to a unhealthy response and the exception will be logged at DEBUG level.

  28. final case class ServiceHealthStatusManager(name: String, manager: HealthStatusManager, services: Set[HealthService]) extends Product with Serializable

    Combines a io.grpc.protobuf.services.HealthStatusManager (exposed as a gRPC health service) with the set of HealthServices it needs to report on.

  29. final case class StaticHealthCheck(result: HealthCheckResult) extends HealthCheck with Product with Serializable

    Constant response for a health check (used by the always-healthy configuration)

  30. trait ToComponentHealthState extends AnyRef

    Interface that provides conversion from a State type to ComponentHealthState

  31. final case class Unhealthy(message: String) extends HealthCheckResult with Product with Serializable

    The check deems something unhealthy

    The check deems something unhealthy

    message

    User printable message describing why a unhealthy result was given

Value Members

  1. object ComponentHealthState extends ShowUtil
  2. object ComponentStatus extends Serializable
  3. object EnterpriseHealthCheck
  4. object HealthCheck
  5. object HealthComponent
  6. object HealthElement
  7. object HealthListener
  8. object HealthServer
  9. object HealthService
  10. object Healthy extends HealthCheckResult

    Everything that the check checks is healthy

  11. object MutableHealthComponent

Ungrouped