6.1 Event Header
6.1.1 Type 1 - Few event IDs
6.1.2 Type 2 - Many event IDs
- 6.2 Event Context
+ 6.2 Stream Event Context and Event Context
6.3 Event Payload
6.3.1 Padding
6.3.2 Alignment
explicitly. Alignment values must be power of two. Compound types are
aligned as specified in their individual specification.
+The base offset used for field alignment is the start of the packet
+containing the field. For instance, a field aligned on 32-bit needs to
+be at an offset multiple of 32-bit from the start of the packet that
+contains it.
+
TSDL meta-data attribute representation of a specific alignment:
align = value; /* value in bits */
The event packet header consists of two parts: the "event packet header"
is the same for all streams of a trace. The second part, the "event
packet context", is described on a per-stream basis. Both are described
-in the TSDL meta-data. The packets are aligned on architecture-page-sized
-addresses.
+in the TSDL meta-data.
Event packet header (all fields are optional, specified by TSDL meta-data):
The overall structure of an event is:
-1 - Stream Packet Context (as specified by the stream meta-data)
- 2 - Event Header (as specified by the stream meta-data)
- 3 - Stream Event Context (as specified by the stream meta-data)
- 4 - Event Context (as specified by the event meta-data)
- 5 - Event Payload (as specified by the event meta-data)
+1 - Event Header (as specified by the stream meta-data)
+ 2 - Stream Event Context (as specified by the stream meta-data)
+ 3 - Event Context (as specified by the event meta-data)
+ 4 - Event Payload (as specified by the event meta-data)
This structure defines an implicit dynamic scoping, where variants
located in inner structures (those with a higher number in the listing
} align(16); /* or align(8) */
-6.2 Event Context
+6.2 Stream Event Context and Event Context
The event context contains information relative to the current event.
The choice and meaning of this information is specified by the TSDL