The semantics of IsRecordingEvents is not only about recording events but also setting attributes.
Should it be called IsActive?
Active may be confusing especially with being active in the context. So I would suggest maybe IsRecording?
I'm good with IsRecording
IsAlive, if not alive its dead, dead don't record, they walk though.
Perhaps we need to clarify semantics of this flag even further. For instance, will name be recorded on span? There may be vendors who need to get the span name and serialize it to the wire. Even when span wasn't recorded. Do we really want to not record attributes?
This feels low priority, but I would use the most concretely applicable term possible.
It's possible for an implementation that performs tail sampling in process to use a real span that may or may not be recorded. We might call this "IsNoOp" or "IsTraced".
I changed title to explain where the confusion can be from. IsRecordingEvents responsible for more than just events recording. So I'd suggest to change the name to IsRecording as a minimal first step. Happy to discuss further for alternative names.
I'm fine with IsRecording, though perhaps IsEnabled might avoid some confusion for cases like tail-based sampling, where you don't technically know if the span will be recorded or not.
IsRecording is used to record something even if it was sampled out. In case of tail based sampling I'd think sampled flag will be true anyway and will set recording to true automatically.
Most helpful comment
Active may be confusing especially with being active in the context. So I would suggest maybe IsRecording?