Forbid events of length 0
[ctf.git] / common-trace-format-specification.txt
index b40193f4377661144b092bbc343b280d7588cfa7..dd00ca14da40cef273255f121dbe8e9092c9c396 100644 (file)
@@ -248,7 +248,7 @@ TSDL meta-data representation:
     size = value;                               /* value in bits, no default */
     align = value;                              /* value in bits */
     /* based used for pretty-printing output, default: decimal. */
-    base = decimal OR dec OR OR d OR i OR u OR 10 OR hexadecimal OR hex OR x OR X OR p OR 16
+    base = decimal OR dec OR d OR i OR u OR 10 OR hexadecimal OR hex OR x OR X OR p OR 16
            OR octal OR oct OR o OR 8 OR binary OR b OR 2;
     /* character encoding, default: none */
     encoding = none or UTF8 or ASCII;
@@ -717,6 +717,11 @@ Event packet context (all fields are optional, specified by TSDL meta-data):
   while (or before) writing the first event and while (or after) writing the
   last event in the packet. The inclusive range between these timestamps should
   include all event timestamps assigned to events contained within the packet.
+  The timestamp at the beginning of an event packet is guaranteed to be
+  below or equal the timestamp at the end of that event packet.
+  The timestamp at the end of an event packet is guaranteed to be below
+  or equal the timestamps at the end of any following packet within the
+  same stream. See Section 8. Clocks for more detail.
 - Events discarded count
   - Snapshot of a per-stream free-running counter, counting the number of
     events discarded that were supposed to be written in the stream after
@@ -811,6 +816,12 @@ located in inner structures (those with a higher number in the listing
 above) can refer to the fields of outer structures (with lower number in
 the listing above). See Section 7.3 TSDL Scopes for more detail.
 
+The total length of an event is defined as the difference between the
+end of its Event Payload and the end of the previous event's Event
+Payload. Therefore, it includes the event header alignment padding, and
+all its fields and their respective alignment padding. Events of length
+0 are forbidden.
+
 6.1 Event Header
 
 Event headers can be described within the meta-data. We hereby propose, as an
@@ -839,6 +850,8 @@ either:
 
   typealias integer { size = X; align = 1; signed = false; } := uintX_t;
 
+For more information about timestamp fields, see Section 8. Clocks.
+
 6.1.1 Type 1 - Few event IDs
 
   - Aligned on 32-bit (or 8-bit if byte-packed, depending on the architecture
@@ -1377,10 +1390,11 @@ stream {
 };
 
 For a N-bit integer type referring to a clock, if the integer overflows
-compared to the N low order bits of the clock prior value, then it is
-assumed that one, and only one, overflow occurred. It is therefore
-important that events encoding time on a small number of bits happen
-frequently enough to detect when more than one N-bit overflow occurs.
+compared to the N low order bits of the clock prior value found in the
+same stream, then it is assumed that one, and only one, overflow
+occurred. It is therefore important that events encoding time on a small
+number of bits happen frequently enough to detect when more than one
+N-bit overflow occurs.
 
 In a packet context, clock field names ending with "_begin" and "_end"
 have a special meaning: this refers to the time-stamps at, respectively,
This page took 0.022599 seconds and 4 git commands to generate.