Raxol.Adaptive.BehaviorTracker
(Raxol v2.3.0)
View Source
Records pilot interactions as time-series events.
Captures pane focus dwell times, command frequency, alert response latency, and layout overrides. Computes windowed aggregates and notifies subscribers for downstream recommendation.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type behavior_event() :: %{timestamp: integer(), type: event_type(), data: map()}
@type event_type() ::
:pane_focus
| :pane_dwell
| :command_issued
| :alert_response
| :scroll_pattern
| :takeover_start
| :takeover_end
| :layout_override
@type t() :: %Raxol.Adaptive.BehaviorTracker{ aggregate_ref: reference() | nil, aggregates: %{required(integer()) => aggregate()}, buffer_size: pos_integer(), events: CircularBuffer.t(), session_id: binary() | nil, subscribers: MapSet.t(pid()), tracking_enabled: boolean(), window_size_ms: pos_integer() }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec disable(GenServer.server()) :: :ok
@spec enable(GenServer.server()) :: :ok
@spec get_aggregates(GenServer.server(), pos_integer()) :: [aggregate()]
@spec get_recent_events(GenServer.server(), pos_integer()) :: [behavior_event()]
@spec record(GenServer.server(), event_type(), map()) :: :ok
@spec start_link(keyword()) :: GenServer.on_start()
@spec subscribe(GenServer.server()) :: :ok