diff --git a/specs/agents/tracing-spans.md b/specs/agents/tracing-spans.md index f856ff6a..d945c7d9 100644 --- a/specs/agents/tracing-spans.md +++ b/specs/agents/tracing-spans.md @@ -33,6 +33,17 @@ Each span will have a `name`, which is a descriptive, low-cardinality string. If a span is created without a valid `name`, the string `"unnamed"` SHOULD be used. +### Span `sync` + +Span execution within a transaction or span can be synchronous (the caller waits for completion), or asynchronous (the caller does not wait +for completion). + +In UI: + +- when `sync` field is not present or `null`, we assume it's the platform default and no badge is shown. +- when `sync` field is set to `true`, a `blocking` badge is shown in traces where the platform default is `async`: `nodejs`, `rum` and `javascript` +- when `sync` field is set to `false`, an `async` badge is shown in traces where the platform default is `blocking`: other agents + ### Span outcome The `outcome` property denotes whether the span represents a success or failure, it is used to compute error rates