finos/morphir-execution/observability does not have a README file

    Correlation

    pub(all) struct Correlation {
    target : String
    lease_id : String
    call_id : String
    attempt_id : String
    }

    Correlation::to_ion

    Correlation::to_json

    Delivery

    pub(all) enum Delivery {
    Accepted
    Filtered
    Dropped
    Unavailable
    } derive(Eq,
    Debug
    )

    Delivery::equal

    fn Delivery::equal(Delivery, Delivery) -> Bool

    Delivery::not_equal

    fn Delivery::not_equal(x : Delivery, y : Delivery) -> Bool

    Delivery::to_repr

    Details

    pub(all) struct Details {
    entry : String
    code : String
    }

    Fixed fields exclude model values, paths, environment and unbounded labels.

    Health

    pub struct Health {
    // private fields
    }

    Health::new

    fn Health::new() -> Health

    Health::to_json

    Observation

    pub(all) struct Observation {
    details : Details?
    context : ObservationContext
    correlation : Correlation?
    sequence : Int
    stage : Stage
    signal : Signal
    wall_seconds : Double
    duration_seconds : Double
    }

    Observation::to_ion

    Observation::to_json

    ObservationContext

    pub(all) struct ObservationContext {
    run_id : String
    span_id : String
    parent_id : String
    trace_id : String
    }

    Observer

    pub(all) struct Observer {
    enabled : () -> Bool
    try_record : (Observation) -> Delivery raise
    monotonic : () -> Double
    wall : () -> Double
    next_id : () -> String
    run_id : String
    trace_id : String
    sequence :
    Ref
    [Int]
    }

    Observer::isolated

    fn Observer::isolated(self : Observer, health : Health) -> Observer

    Per-observer delivery isolation, with a non-recursive health channel. Host callbacks perform only bounded enqueue work. Drain is host-owned.

    Observer::noop

    fn Observer::noop() -> Observer

    Observer::record

    fn Observer::record(self : Observer, record : Observation) -> Delivery

    Observer::scope

    fn Observer::scope(self : Observer) -> Scope

    PayloadCapture

    pub(all) struct PayloadCapture {
    enabled : Bool
    redact : (String,
    Value
    ) ->
    Json
    ? raise
    try_record : (
    Json
    ) -> Delivery raise
    }

    Embedding hosts configure payload capture independently of diagnostic logging. Redaction runs before any record reaches the capture sink.

    PayloadCapture::disabled

    fn PayloadCapture::disabled() -> PayloadCapture

    Scope

    pub struct Scope {
    // private fields
    }

    Scope::observe

    fn[T] Scope::observe(self : Scope, stage : Stage, body : (Scope) -> T raise, details? : Details?, is_cancelled? : (Error) -> Bool) -> T raise

    Sink errors are contained by record; exporter health stays outside this scope.

    Scope::trace_context

    fn Scope::trace_context(self : Scope) -> TraceContext? raise

    Signal

    pub(all) enum Signal {
    Started
    Succeeded
    Failed
    Cancelled
    Notice
    } derive(Eq,
    Debug
    )

    Signal::equal

    fn Signal::equal(Signal, Signal) -> Bool

    Signal::not_equal

    fn Signal::not_equal(x : Signal, y : Signal) -> Bool

    Signal::to_repr

    Stage

    pub(all) enum Stage {
    Plan
    Decode
    Frontend
    Parse
    ProfileCheck
    Resolve
    Lower
    Generate
    Build
    Invoke
    Call
    Evaluate
    Compare
    Cleanup
    Execute
    Legacy
    } derive(Eq,
    Debug
    )

    Stage::equal

    fn Stage::equal(Stage, Stage) -> Bool

    Stage::name

    fn Stage::name(self : Stage) -> String

    Stage::not_equal

    fn Stage::not_equal(x : Stage, y : Stage) -> Bool

    Stage::to_repr

    TraceContext

    pub(all) struct TraceContext {
    trace_id : String
    parent_id : String
    flags : String
    } derive(Eq)

    W3C version 00 only. Baggage and tracestate are deliberately unsupported.

    TraceContext::equal

    TraceContext::header

    fn TraceContext::header(self : TraceContext) -> String raise

    TraceContext::not_equal

    fn TraceContext::not_equal(x : TraceContext, y : TraceContext) -> Bool

    TraceContext::parse

    fn TraceContext::parse(value : String) -> TraceContext raise