client(...)
Signature: pub:TracePublisher -> tags:(TraceTags -> TraceTags) -> clientOpName:string -> enc:Enc<'i,('a * TraceContext)> -> dec:Dec<'o,('b * TraceContext)> -> f:('i -> Async<'o>) -> span:Span -> a:'a -> Async<'b>
Type parameters: 'i, 'a, 'o, 'b
|
Creates a client in the contex of an ambient server span, accepting domain-specific inputs of type 'a and returning domain-specific
outputs of type 'b. The client span is nested within the ambient span.
|
complete(pub span)
Signature: pub:TracePublisher -> span:Span -> Span
|
Completes a span.
|
completeAck(pub clientSpan dec o)
Signature: pub:TracePublisher -> clientSpan:Span -> dec:Dec<'o,('b * TraceContext)> -> o:'o -> 'b * TraceContext
Type parameters: 'o, 'b
|
Completes a client span.
Decodes a channel output into a domain-specific output.
Throws an exception if decoding fails.
|
completeEcho(pub span enc b)
Signature: pub:TracePublisher -> span:Span -> enc:Enc<'o,('b * TraceContext)> -> b:'b -> 'o
Type parameters: 'o, 'b
|
Completes a server span.
Encodes a domain-specific input and the trace into an output value.
|
create(tags name trace)
Signature: tags:(TraceTags -> TraceTags) -> name:string -> trace:TraceContext -> Span
|
Creates a (server) span within the specified trace.
Marks the span identified in the trace context, if any, as the parent of the created span.
|
createClient(tags clientSpanName span)
Signature: tags:(TraceTags -> TraceTags) -> clientSpanName:string -> span:Span -> Span
|
Creates a client span within the specified (server) span.
Sets the specified span as the parent of the created (client) span.
|
decodeStart(pub tags spanName dec i)
Signature: pub:TracePublisher -> tags:(TraceTags -> TraceTags) -> spanName:string -> dec:Dec<'i,('a * TraceContext)> -> i:'i -> 'a * Span
Type parameters: 'i, 'a
|
Starts a server span.
Decodes a channel input into a domain-specific input.
Returns the domain-specific input and the span.
Throws an exception if decoding fails.
|
error(pub error span)
Signature: pub:TracePublisher -> error:string -> span:Span -> Span
|
Errors (and completes) a span.
|
ofTelemetryEvent(e)
Signature: e:TelemetryEvent -> Span
|
Extracts a span from a telemetry event.
|
server(pub tags spanName dec enc f i)
Signature: pub:TracePublisher -> tags:(TraceTags -> TraceTags) -> spanName:string -> dec:Dec<'i,('a * TraceContext)> -> enc:Enc<'o,('b * TraceContext)> -> f:(Span -> 'a -> Async<'b>) -> i:'i -> Async<'o>
Type parameters: 'i, 'a, 'o, 'b
|
Creates a server accepting inputs of type 'i and producing output of type 'o
based on a function accepting the ambient span of the given name and a domain-specific input of type 'a
producing a domain-specific output of type 'b.
If the provided function throws, the exception is escalated and the span is completed in error.
Telemetry events are emitted to the specified log.
|
start(pub tags name trace)
Signature: pub:TracePublisher -> tags:(TraceTags -> TraceTags) -> name:string -> trace:TraceContext -> Span
|
Starts a (server) span within the specified trace.
Marks the span identified in the trace context, if any, as the parent of the created span.
|
startClient(...)
Signature: pub:TracePublisher -> tags:(TraceTags -> TraceTags) -> clientSpanName:string -> span:Span -> Span
|
Starts a client span within the specified (server) span.
Sets the specified span as the parent of the created (client) span.
|
startPropagate(...)
Signature: pub:TracePublisher -> tags:(TraceTags -> TraceTags) -> span:Span -> clientSpanName:string -> enc:('a * TraceContext -> 'i) -> a:'a -> Span * 'i
Type parameters: 'a, 'i
|
Starts a client span in the context of a server span.
Encodes a domain-specific input into a channel input, propagating the trace.
Returns a span representing the client invocation and the input containing the trace context to transmit using the client.
|
toTelemetryEvent(eventType s)
Signature: eventType:string -> s:Span -> TelemetryEvent
|
Creates a telemetry event of the specified type for the Span.
|
toTraceContext(s)
Signature: s:Span -> TraceContext
|
Creates a trace context (signature) to embed into a message to be propagated, indicating that
it is in the scope of the specified span.
|
tryOfTelemetryEvent(e)
Signature: e:TelemetryEvent -> Span option
|
Extracts a span from a telemetry event.
|