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