beamtrace/diagnostics

Types

pub type Finding {
  Finding(
    kind: FindingKind,
    summary: String,
    evidence: types.Evidence,
    event_ids: List(String),
    value: Int,
  )
}

Constructors

pub type FindingKind {
  HotSender
  FanIn
  QueueWait
  DanglingCall
  ReplyTimeout
  CrashChain
  SpawnChurn
  CriticalPath
}

Constructors

  • HotSender
  • FanIn
  • QueueWait
  • DanglingCall
  • ReplyTimeout
  • CrashChain
  • SpawnChurn
  • CriticalPath

Values

pub fn dangling_calls(
  events: List(types.TraceEvent),
  now_ns now_ns: Int,
  timeout_ns timeout_ns: Int,
) -> List(Finding)
pub fn fan_in(
  events: List(types.TraceEvent),
  minimum_senders minimum_senders: Int,
) -> List(Finding)
pub fn hot_senders(
  events: List(types.TraceEvent),
  minimum_messages minimum_messages: Int,
) -> List(Finding)
pub fn queue_waits(
  events: List(types.TraceEvent),
  minimum_ns minimum_ns: Int,
) -> List(Finding)
pub fn restart_chains(
  events: List(types.TraceEvent),
  maximum_gap_ns maximum_gap_ns: Int,
) -> List(Finding)

Group a crash and subsequent supervisor spawn only when the new physical PID is later observed with the same logical actor identity. The temporal association is intentionally retained as inferred evidence.

✨ Search Document