Honeybadger.EventsWorker (Honeybadger v0.24.1)

View Source

A GenServer that batches and sends events with retry and throttling logic.

It accumulates events in a queue, forms batches when the batch size is reached or when a flush timeout expires, and then sends these batches to a backend module. If a batch fails to send, it will be retried (up to a configurable maximum) or dropped. In case of throttling (e.g. receiving a 429), the flush delay is increased.

Summary

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

push(event, server \\ __MODULE__)

@spec push(event :: map(), GenServer.server()) :: :ok

start_link(opts \\ [])

@spec start_link(Keyword.t()) :: GenServer.on_start()

state(server \\ __MODULE__)