View Source Beeline.HealthChecker.Logger (Beeline v1.1.6)
A Task to attach a logger exporter for health-checker telemetry
Attaches a telemetry handler which writes out how far a producer is behind the head of the stream to the logger.
This task can be started in a supervision tree such as an app's application supervision tree:
def start(_type, _args) do
children = [
Beeline.HealthChecker.Logger,
MyApp.MyBeelineTopology
]
opts = [strategy: :one_for_one, name: MyApp.Supervisor]
Supervisor.start_link(children, opts)
endThe log messages are 'debug' level in a format of the producer name
concatenated with "is up-to-date." if the producer's current stream position
matches the latest available stream position (within acceptable_behind_by).
When producer is falling behind and falling behind more then in a previous check,
it is logged in warn level with "is behind: n events." and "is behind more: n events"
with n being the number of events producer is behind head of stream.
Once producer is behind the stream less then in a previous check and when it catches up with it,
it is logged in info level as is behind but catching up: n events and is caught up. respectively.
The log messages also include metadata fields
:event_listener - the name of the producer - and delta: the number
of events by which the producer is behind.
Summary
Functions
Returns a specification to start this module under a supervisor.
Functions
Returns a specification to start this module under a supervisor.
arg is passed as the argument to Task.start_link/1 in the :start field
of the spec.
For more information, see the Supervisor module,
the Supervisor.child_spec/2 function and the Supervisor.child_spec/0 type.