Undocumented Capabilities of Extended Event Objects
The extended event objects (objects exposed by an event package) are listed in the system catalog sys.dm_xe_objects. This dynamic management view is documented in Books Online, but it does not adequately document the capabilities_desc column. I understand from a member of the SQL team that a documentation bug was filed today for this, and he provided some documentation as to what the column means.
This information is coming directly from a member of the SQL team and will documented in Books Online in the not too distant future. The below descriptions can also be combined. For example, an event can be both private and no_block, and a target can by singleton and synchronous (the etw_classic_sync_target is an example of this). The last table of Type capabilities were not included in the info from the SQL team and are a result of my own observation.
Capabilities that apply to all object types | |
private | The object only available for internal use, and cannot be accessed via the CREATE/ALTER EVENT SESSION DDL. Audit events and targets fall into this category, as well as a small number of objects used internally |
| |
Event capabilities | |
no_block | The event is in a critical code path that cannot block for any reason. Events with this capability may not be added to any event session that specifies NO_EVENT_LOSS. |
| |
Target capabilities | |
process_whole_buffers | The target consumes buffers of events at a time, rather than event by event |
singleton | Only one instance of the target can exist in a process. Although multiple event sessions can reference the same singleton target there is really only one instance, and that instance will see each unique event only once. This is important if the target is added to multiple sessions that all collect the same event. |
synchronous | The target is executed on the thread that is producing the event, before control is returned to the calling code line. |
Type Capabilities (from my own observation) | |
sign_extended | Is a signed integer value |
ieee754 | Is a floating point type |