trait CheckedBuilder extends BaseBuilder
The mixin trait for creating a class which creates health checks.
- Alphabetic
- By Inheritance
- CheckedBuilder
- BaseBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
val
registry: HealthCheckRegistry
The com.codahale.metrics.health.HealthCheckRegistry where created metrics are registered.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
healthCheck[T](name: String, unhealthyMessage: String = "Health check failed")(checker: ⇒ T)(implicit toMagnet: (ByName[T]) ⇒ HealthCheckMagnet): HealthCheck
Converts a code block to a com.codahale.metrics.health.HealthCheck and registers it.
Converts a code block to a com.codahale.metrics.health.HealthCheck and registers it.
Use it as follows:
object Application { // The application wide health check registry. val healthCheckRegistry = new com.codahale.metrics.health.HealthCheckRegistry() } trait Checked extends CheckedBuilder { val registry = Application.healthCheckRegistry } class ExampleWorker extends Checked { healthCheck("alive") { workerThreadIsActive() } }
The code block must have a result of type
Boolean,Try,Either,Future, com.codahale.metrics.health.HealthCheck.Result, or simplyUnit.- A check result of
trueindicates healthy,falseindicates unhealthy. - A check result of type Success indicates healthy, Failure indicates
unhealthy. The embedded value (after applying
.toString) or throwable is used as (un)healthy message. - A check result of type Future will have 3 seconds to execute (by default). The result of the execution will be treated as Success or Failure.
- A check result of type Right indicates healthy, Left
[Any]or Left[Throwable]indicates unhealthy. The embedded value (after applying.toString) or throwable is used as (un)healthy message. - If the check result is of type com.codahale.metrics.health.HealthCheck.Result, the result is passed unchanged.
- A check result of type Unit indicates healthy.
- If a checker throws an exception, the result is considered unhealthy with the throwable as unhealthy message.
It is also possible to override the health check base name. For example:
class ExampleWorker extends Checked { override lazy val metricBaseName = MetricName("Overridden.Base.Name") healthCheck("alive") { workerThreadIsActive() } }
To change the timeout for Future execution, set an implicit duration:
class ExampleWorker extends Checked { implicit private val timeout = 10.seconds healthCheck("alive")(Future { workerThreadIsActive() }) }
- name
the name of the health check
- unhealthyMessage
the unhealthy message for checkers that return
false, defaults to"Health check failed"- checker
the code block that does the health check
- A check result of
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
lazy val
metricBaseName: MetricName
The base name for all metrics created from this builder.
The base name for all metrics created from this builder.
- Definition Classes
- BaseBuilder
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )