Choreo.Analysis.Tracing (Choreo v0.9.0)

Copy Markdown View Source

Analysis functions for cross-diagram semantic tracing in Choreo.

Summary

Functions

Performs nested, cross-domain analysis on a trace path starting from from down to to. Threads through domain-specific metadata for each node.

Returns a list of all nodes that are transitively impacted by target_id along trace edges.

Finds the tracing path (sequence of nodes) from from to to using trace edges.

Functions

analyze(system, from, to)

@spec analyze(Choreo.t(), Yog.node_id(), Yog.node_id()) :: {:ok, map()} | :error

Performs nested, cross-domain analysis on a trace path starting from from down to to. Threads through domain-specific metadata for each node.

impact_analysis(system, target_id)

@spec impact_analysis(Choreo.t(), Yog.node_id()) :: [Yog.node_id()]

Returns a list of all nodes that are transitively impacted by target_id along trace edges.

trace_path(system, from, to)

@spec trace_path(Choreo.t(), Yog.node_id(), Yog.node_id()) ::
  {:ok, [Yog.node_id()]} | :error

Finds the tracing path (sequence of nodes) from from to to using trace edges.