Closed
Description
This ticket is to validate the below attributes of Spec Compliance Matrix for Rel 1.0.0. While validation, if there is any ticket created for non-compliance, mention that next to the non-compliant point below in the description.
Span:
- Create root span.
- Create with default parent (active span)
- Create with parent from Context -> ( supports parent from SpanContext )
- No explicit parent Span/SpanContext allowed -> ( support explicit parent SpanContext )
- SpanProcessor.OnStart receives parent Context -> ( receives parent SpanConext )
- UpdateName
- User-defined start timestamp
- End
- End with timestamp
- IsRecording
- IsRecording becomes false after End
- Set status with StatusCode (Unset, Ok, Error
- Safe for concurrent calls
- events collection size limit Adding span collection limits #365
- attribute collection size limit Adding span collection limits #365
- links collection size limit Adding span collection limits #365
Span Attributes:
- SetAttribute
- Set order preserved
- String type
- Boolean type
- Double floating-point type
- Signed int64 type -> (reserved for future support - uint32, int32, uint64 )
- Array of primitives (homogeneous) -> (reserved for future support - uint32[], int32[], uint64[]. uint8[] )
- null values documented as invalid/undefined
- Unicode support for keys and string values -> ( using
nostd::string_view
)
Span Linking:
- Add Links
- Safe for concurrent calls
Span Events:
- Add Events
- Add order preserved
- Safe for concurrent calls
Span Exceptions:
- RecordException (Recording exception to Span #760)
- RecordException with extra parameters (Recording exception to Span #760)
Sampling:
- Allow samplers to modify tracestate
- ShouldSample gets full parent Context
Others:
- New Span ID created also for non-recording Spans
- Id Generators
- Span Limits ( Optional ) (Adding span collection limits #365)