Trace payload for {:trace, %__MODULE__{}} - emitted with
compute_entry_set's result, before any state is entered
(docs/observability.md constraint 2's "entry set" row). indexes are
the states to be entered (constraint 3, integer indexes), in entry order.
configuration is the full configuration (ADR-0005, ancestors included)
as it stands after every state in indexes has been added, including
the parallel entry ordering enter_states/2 performs, so a consumer can
render the configuration per microstep without folding deltas.
It is deliberately the only field taken from the post-entry state;
macrostep/microstep/round are stamped from the state as it stood at
the phase boundary the payload names, which is what keeps this payload an
"entry set" marker rather than an after-the-fact report.
Built with new/2, never a struct literal, so macrostep/microstep/
round are always stamped from the Statifier.MachineState at hand.
Summary
Functions
Stamps macrostep/microstep/round from machine_state and sets
fields (:indexes, :configuration).
Types
@type t() :: %Statifier.Effect.Trace.EntrySet{ configuration: MapSet.t(non_neg_integer()), indexes: [non_neg_integer()], macrostep: non_neg_integer(), microstep: non_neg_integer(), round: non_neg_integer() }
Functions
@spec new(machine_state :: Statifier.MachineState.t(), fields :: keyword()) :: t()
Stamps macrostep/microstep/round from machine_state and sets
fields (:indexes, :configuration).