View Source Beeline.Appsignal (BeelineAppsignal v1.0.2)
an Appsignal exporter for Beeline telemetry
This exporter works by attaching a telemetry handler. This means that the code to set the gauge runs in the process of the HealthChecker.
Attach this exporter by adding this task to a supervision tree, for example
the application supervision tree defined in the lib/my_app/application.ex
file:
def start(_type, _args) do
children = [
{Beeline.Appsignal, []},
MyApp.MyBeelineTopology
]
opts = [strategy: :one_for_one, name: MyApp.Supervisor]
Supervisor.start_link(children, opts)
endThis exporter sets an Appsignal gauge measuring the difference between
the latest available event number and the current position given by the
Beeline's :get_stream_position function option. This gauge is tagged
with the name of the producer under the key :module and the hostname
on which the producer is running under the key :hostname.
options
Options
The start_link/1 function takes a keyword list of options. These can also
be specified by passing the keyword as the second element of a tuple given
to a Supervisor.start_link/2 list of children.
:gauge_name(string, default:"event_listener_lag") - the gauge name to which the delta should be published
Link to this section Summary
Functions
Returns a specification to start this module under a supervisor.
Link to this section 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.