View Source TelemetryUI.Backend protocol (telemetry_ui v5.0.0)

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)