beamtrace/dag

Types

pub type CausalGraph {
  CausalGraph(
    events: List(types.TraceEvent),
    edges: List(types.CausalEdge),
    boundaries: List(types.Boundary),
  )
}

Constructors

pub type DagError {
  DuplicateEventId(id: String)
  CycleDetected
}

Constructors

  • DuplicateEventId(id: String)
  • CycleDetected

Values

pub fn build(
  events: List(types.TraceEvent),
) -> Result(CausalGraph, DagError)

Builds only edges supported by an observed process order, spawn event, or seq_trace serial. A missing counterpart becomes a boundary marker.

pub fn edge_between(
  graph: CausalGraph,
  from: String,
  to: String,
) -> option.Option(types.CausalEdge)
pub fn is_acyclic(graph: CausalGraph) -> Bool
Search Document