WardrikCore.Event (wardrik_core v0.1.0-rc.3)

Copy Markdown

Something that happened to an agent.

Each event goes to :telemetry and to the agent's WardrikCore.Events module. See WardrikCore.Telemetry for core's events. Packages emit their own:

WardrikCore.Event.emit(context, [:my_package, :refused], %{}, %{call: call})

Summary

Functions

Emits an event to telemetry, and to the events module of source.

Types

t()

@type t() :: %WardrikCore.Event{
  measurements: map(),
  metadata: map(),
  name: [atom()],
  time: DateTime.t()
}

Functions

emit(source, name, measurements \\ %{}, metadata)

@spec emit(
  WardrikCore.Context.t() | WardrikCore.Context.entry() | nil,
  [atom()],
  map(),
  map()
) :: :ok

Emits an event to telemetry, and to the events module of source.

source is a WardrikCore.Context, an events module as module or {module, opts}, or nil for telemetry only.