TelemetryUI.Backend protocol (telemetry_ui v5.1.0)

View Source

Inserting, fetching and pruning of metrics.

Inserting

Inserting is called by the internal WriteBuffer. It can be grouped depending on the buffer configuration inside the backend struct:

  • flush_interval_ms: Time interval before the write buffer calls the backend
  • max_buffer_size: Maximum count of events before the write buffer calls the backend

Fetching

Fetching is called when rendering metrics in the view. The filters argument is a struct with predefined fields: to, from, event_name and compare.

Pruning

Pruning is implemented to keep the datastore clean. Keeping data forever will increase the size of the storage and affect performance.

  • pruner_threshold: Example: [months: -1]. Delete events older than a month.
  • pruner_interval_ms: Example: 84_000. Time interval for the pruner process to run. The process simply calls #prune_events!/2.

Summary

Types

t()

All the types that implement this protocol.

Types

t()

@type t() :: term()

All the types that implement this protocol.

Functions

insert_event(backend, value, date, event_name, tags \\ %{}, count \\ 1)

metric_data(backend, metric, filters)

prune_events!(backend, datetime)