BeamConsoleWeb.Console.ChartPresenter (beam_console v0.2.0)

Copy Markdown View Source

Builds capped, JSON-safe chart payloads from compact recorder frames.

Summary

Functions

Wraps one or more series in a revisioned browser chart payload.

Builds one chronologically ordered, gap-aware, downsampled chart series.

Types

chart_definition()

@type chart_definition() :: %{
  :id => String.t(),
  :title => String.t(),
  :unit => String.t(),
  optional(:min) => number(),
  optional(:max) => number()
}

getter()

@type getter() :: (BeamConsole.Recorder.Frame.t() -> number() | nil)

series_definition()

@type series_definition() :: %{
  key: atom(),
  label: String.t(),
  unit: String.t(),
  point_limit: pos_integer()
}

Functions

chart(definition, series, revision)

@spec chart(chart_definition(), [map()], non_neg_integer()) :: map()

Wraps one or more series in a revisioned browser chart payload.

series(frames, definition, getter)

Builds one chronologically ordered, gap-aware, downsampled chart series.