Membrane.Telemetry.TimescaleDB.Reporter (Membrane Telemetry TimescaleDB v0.1.0) View Source
A worker responsible for persisting events/measurements to the TimescaleDB database.
Receives measurements via send_measurement/3 then, based on event names, eventually persists them to TimescaleDB database.
Link to this section Summary
Functions
Returns a specification to start this module under a supervisor.
Flushes cached measurements to the database.
Returns cached measurements.
Returns list of metrics registered by GenServer.
Resets cached measurements.
Sends measurement to GenServer which, based on event name, will eventually persist it to database.
Link to this section Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
Specs
flush(GenServer.server()) :: :ok
Flushes cached measurements to the database.
Specs
get_cached_measurements(GenServer.server()) :: [map()]
Returns cached measurements.
Specs
get_metrics(GenServer.server()) :: map()
Returns list of metrics registered by GenServer.
Specs
registry() :: atom()
Specs
reset(GenServer.server()) :: :ok
Resets cached measurements.
send_measurement(reporter, event_name, measurement, metadata \\ %{})
View SourceSpecs
send_measurement(GenServer.server(), [atom()], map(), map()) :: :ok
Sends measurement to GenServer which, based on event name, will eventually persist it to database.
Logs warning on invalid/unsupported measurement event name or format.
Supported events
[:membrane, :metric, :value]- caches measurements to a certain threshold and flushes them to the database viaMembrane.Telemetry.TimescaleDB.Model.add_all_measurements/1.[:membrane, :link, :new]- instantly passes measurement toMembrane.Telemetry.TimescaleDB.Model.add_link/1.[:membrane, :pipeline | :bin | :element, :init | :terminate]- instantly persists information about component being initialized or terminated
Specs
start(any()) :: GenServer.on_start()
Specs
start_link(any()) :: GenServer.on_start()