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)
end
This 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.