Skip to content

Commit cc641f3

Browse files
author
ID Bot
committed
Script updating gh-pages from fa28fd1. [ci skip]
1 parent 687e045 commit cc641f3

File tree

5 files changed

+201
-198
lines changed

5 files changed

+201
-198
lines changed

draft-ietf-quic-qlog-main-schema.html

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,7 +1228,7 @@ <h2 id="name-copyright-notice">
12281228
<p id="section-toc.1-1.7.2.1.1"><a href="#section-7.1" class="auto internal xref">7.1</a>.  <a href="#name-timestamps" class="internal xref">Timestamps</a></p>
12291229
</li>
12301230
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.7.2.2">
1231-
<p id="section-toc.1-1.7.2.2.1"><a href="#section-7.2" class="auto internal xref">7.2</a>.  <a href="#name-path" class="internal xref">Path</a></p>
1231+
<p id="section-toc.1-1.7.2.2.1"><a href="#section-7.2" class="auto internal xref">7.2</a>.  <a href="#name-tuple" class="internal xref">Tuple</a></p>
12321232
</li>
12331233
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.7.2.3">
12341234
<p id="section-toc.1-1.7.2.3.1"><a href="#section-7.3" class="auto internal xref">7.3</a>.  <a href="#name-grouping" class="internal xref">Grouping</a></p>
@@ -2086,7 +2086,7 @@ <h2 id="name-abstract-event-class">
20862086
time: float64
20872087
name: text
20882088
data: $ProtocolEventData
2089-
? path: PathID
2089+
? tuple: TupleID
20902090
? time_format: TimeFormat
20912091
? group_id: GroupID
20922092
? system_info: SystemInformation
@@ -2108,7 +2108,7 @@ <h2 id="name-abstract-event-class">
21082108
the specific values and semantics of common fields, in particular the <code>name</code> and
21092109
<code>data</code> fields. Furthermore, they can optionally add custom fields.<a href="#section-7-4" class="pilcrow"></a></p>
21102110
<p id="section-7-5">Each qlog event <span class="bcp14">MAY</span> contain the optional fields: "time_format"
2111-
(<a href="#time-based-fields" class="auto internal xref">Section 7.1</a>), path (<a href="#path-field" class="auto internal xref">Section 7.2</a>) "trigger" (<a href="#trigger-field" class="auto internal xref">Section 8.2.1</a>),
2111+
(<a href="#time-based-fields" class="auto internal xref">Section 7.1</a>), tuple (<a href="#tuple-field" class="auto internal xref">Section 7.2</a>) "trigger" (<a href="#trigger-field" class="auto internal xref">Section 8.2.1</a>),
21122112
and "group_id" (<a href="#group-ids" class="auto internal xref">Section 7.3</a>).<a href="#section-7-5" class="pilcrow"></a></p>
21132113
<p id="section-7-6">Multiple events can appear in a Trace or TraceSeq and they might contain fields
21142114
with identical values. It is possible to optimize out this duplication using
@@ -2347,40 +2347,40 @@ <h3 id="name-timestamps">
23472347
</div>
23482348
</section>
23492349
</div>
2350-
<div id="path-field">
2350+
<div id="tuple-field">
23512351
<section id="section-7.2">
2352-
<h3 id="name-path">
2353-
<a href="#section-7.2" class="section-number selfRef">7.2. </a><a href="#name-path" class="section-name selfRef">Path</a>
2352+
<h3 id="name-tuple">
2353+
<a href="#section-7.2" class="section-number selfRef">7.2. </a><a href="#name-tuple" class="section-name selfRef">Tuple</a>
23542354
</h3>
2355-
<p id="section-7.2-1">A qlog event can be associated with a single "network path" (usually, but not
2356-
always, identified by a 4-tuple of IP addresses and ports). In many cases, the
2357-
path will be the same for all events in a given trace, and does not need to be
2358-
logged explicitly with each event. In this case, the "path" field can be omitted
2359-
(in which case the default value of "" is assumed) or reflected in
2355+
<p id="section-7.2-1">A qlog event is typically associated with a single network "path", which is
2356+
usually aligned with a four-tuple of IP addresses and ports. In many cases, this
2357+
tuple will be the same for all events in a given trace, and does not need to be
2358+
logged explicitly with each event. In this case, the "tuple" field can be
2359+
omitted (in which case the default value of "" is assumed) or reflected in
23602360
"common_fields" instead (see <a href="#common-fields" class="auto internal xref">Section 7.5</a>).<a href="#section-7.2-1" class="pilcrow"></a></p>
23612361
<p id="section-7.2-2">However, in some situations, such as during QUIC's Connection Migration or when
23622362
using Multipath features, it is useful to be able to split events across
2363-
multiple (concurrent) paths.<a href="#section-7.2-2" class="pilcrow"></a></p>
2363+
multiple (concurrent) tuples and/or paths.<a href="#section-7.2-2" class="pilcrow"></a></p>
23642364
<p id="section-7.2-3">Definition:<a href="#section-7.2-3" class="pilcrow"></a></p>
2365-
<span id="name-pathid-definition"></span><div id="path-def">
2365+
<span id="name-tupleid-definition"></span><div id="tuple-def">
23662366
<figure id="figure-21">
23672367
<div class="lang-cddl sourcecode" id="section-7.2-4.1">
23682368
<pre>
2369-
PathID = text .default ""
2369+
TupleID = text .default ""
23702370
</pre>
23712371
</div>
23722372
<figcaption><a href="#figure-21" class="selfRef">Figure 21</a>:
2373-
<a href="#name-pathid-definition" class="selfRef">PathID definition</a>
2373+
<a href="#name-tupleid-definition" class="selfRef">TupleID definition</a>
23742374
</figcaption></figure>
23752375
</div>
2376-
<p id="section-7.2-5">The "path" field is an identifier that is associated with a single network path.
2377-
This document intentionally does not define further how to choose this
2378-
identifier's value per-path or how to potentially log other parameters that can
2379-
be associated with such a path. This is left for other documents. Implementers
2380-
are free to encode path information directly into the PathID or to log
2381-
associated info in a separate event. For example, QUIC has the "path_assigned"
2382-
event to couple the PathID value to a specific path configuration, see
2383-
<span>[<a href="#QLOG-QUIC" class="cite xref">QLOG-QUIC</a>]</span>.<a href="#section-7.2-5" class="pilcrow"></a></p>
2376+
<p id="section-7.2-5">The "tuple" field is an identifier that is associated with a single network
2377+
four-tuple. This document intentionally does not define further how to choose
2378+
this identifier's value per-tuple or how to potentially log other parameters
2379+
that can be associated with such a tuple. This is left for other documents.
2380+
Implementers are free to encode tuple information directly into the TupleID or
2381+
to log associated info in a separate event. For example, QUIC has the
2382+
"tuple_assigned" event to couple the TupleID value to a specific tuple
2383+
configuration, see <span>[<a href="#QLOG-QUIC" class="cite xref">QLOG-QUIC</a>]</span>.<a href="#section-7.2-5" class="pilcrow"></a></p>
23842384
</section>
23852385
</div>
23862386
<div id="group-ids">
@@ -2394,14 +2394,15 @@ <h3 id="name-grouping">
23942394
might choose to log events for all incoming connections in a single large
23952395
(streamed) qlog file. As such, a method for splitting up events belonging
23962396
to separate logical entities is required.<a href="#section-7.3-1" class="pilcrow"></a></p>
2397-
<p id="section-7.3-2">The simplest way to perform this splitting is by associating a "group id"
2398-
to each event that indicates to which conceptual "group" each event belongs. A
2397+
<p id="section-7.3-2">The simplest way to perform this splitting is by associating a "group id" to
2398+
each event that indicates to which conceptual "group" each event belongs. A
23992399
post-processing step can then extract events per group. However, this group
24002400
identifier can be highly protocol and context-specific. In the example above,
2401-
the QUIC "Original Destination Connection ID" could be used to uniquely identify a
2402-
connection. As such, they might add a "ODCID" field to each event. However, a
2403-
middlebox logging IP or TCP traffic might rather use four-tuples to identify
2404-
connections, and add a "four_tuple" field.<a href="#section-7.3-2" class="pilcrow"></a></p>
2401+
the QUIC "Original Destination Connection ID" could be used to uniquely identify
2402+
a connection. As such, they might add a "ODCID" field to each event.
2403+
Additionally, a service providing different levels of Quality of Service (QoS)
2404+
to their users might wish to group connections per QoS level applied. They might
2405+
instead prefer a "qos" field.<a href="#section-7.3-2" class="pilcrow"></a></p>
24052406
<p id="section-7.3-3">As such, to provide consistency and ease of tooling in cross-protocol and
24062407
cross-context setups, qlog instead defines the common "group_id" field, which
24072408
contains a string value. Implementations are free to use their preferred string
@@ -2418,17 +2419,17 @@ <h3 id="name-grouping">
24182419
<a href="#name-groupid-definition" class="selfRef">GroupID definition</a>
24192420
</figcaption></figure>
24202421
</div>
2421-
<p id="section-7.3-5">JSON serialization example for events grouped by four tuples
2422-
and QUIC connection IDs:<a href="#section-7.3-5" class="pilcrow"></a></p>
2422+
<p id="section-7.3-5">JSON serialization example for events grouped either by QUIC Connection IDs, or
2423+
according to an endpoint-specific Quality of Service (QoS) logic that includes
2424+
the service level:<a href="#section-7.3-5" class="pilcrow"></a></p>
24232425
<span id="name-groupid-example"></span><div id="group-id-ex">
24242426
<figure id="figure-23">
24252427
<div class="alignLeft art-text artwork" id="section-7.3-6.1">
24262428
<pre>
24272429
"events": [
24282430
{
24292431
"time": 1553986553579,
2430-
"group_id": "ip1=2001:67c:1232:144:9498:6df6:f450:110b,
2431-
ip2=2001:67c:2b0:1c1::198,port1=59105,port2=80",
2432+
"group_id": "qos=premium",
24322433
"name": "quic:packet_received",
24332434
"data": { ... }
24342435
},
@@ -2446,8 +2447,8 @@ <h3 id="name-grouping">
24462447
</figcaption></figure>
24472448
</div>
24482449
<p id="section-7.3-7">Note that in some contexts (for example a Multipath transport protocol) it might
2449-
make sense to add additional contextual per-event fields (for example PathID,
2450-
see <a href="#path-field" class="auto internal xref">Section 7.2</a>), rather than use the group_id field for that purpose.<a href="#section-7.3-7" class="pilcrow"></a></p>
2450+
make sense to add additional contextual per-event fields (for example TupleID,
2451+
see <a href="#tuple-field" class="auto internal xref">Section 7.2</a>), rather than use the group_id field for that purpose.<a href="#section-7.3-7" class="pilcrow"></a></p>
24512452
<p id="section-7.3-8">Note also that, typically, a single trace only contains events belonging to a
24522453
single logical group (for example, an individual QUIC connection). As such,
24532454
instead of logging the "group_id" field with an identical value for each event
@@ -2569,7 +2570,7 @@ <h3 id="name-commonfields">
25692570
<div class="lang-cddl sourcecode" id="section-7.5-6.1">
25702571
<pre>
25712572
CommonFields = {
2572-
? path: PathID
2573+
? tuple: TupleID
25732574
? time_format: TimeFormat
25742575
? reference_time: ReferenceTime
25752576
? group_id: GroupID
@@ -3553,11 +3554,11 @@ <h3 id="name-set-file-output-destination">
35533554
<a href="#section-12.1" class="section-number selfRef">12.1. </a><a href="#name-set-file-output-destination" class="section-name selfRef">Set file output destination via an environment variable</a>
35543555
</h3>
35553556
<p id="section-12.1-1">To provide users control over where and how qlog files are created, two
3556-
environment variables are defined. The first, QLOGFILE, indicates a full path to where an
3557-
individual qlog file should be stored. This path <span class="bcp14">MUST</span> include the full file
3558-
extension. The second, QLOGDIR, sets a general directory path in which qlog files
3559-
should be placed. This path <span class="bcp14">MUST</span> include the directory separator character at the
3560-
end.<a href="#section-12.1-1" class="pilcrow"></a></p>
3557+
environment variables are defined. The first, QLOGFILE, indicates a full path to
3558+
where an individual qlog file should be stored. This path <span class="bcp14">MUST</span> include the full
3559+
file extension. The second, QLOGDIR, sets a general directory path in which qlog
3560+
files should be placed. This path <span class="bcp14">MUST</span> include the directory separator character
3561+
at the end.<a href="#section-12.1-1" class="pilcrow"></a></p>
35613562
<p id="section-12.1-2">In general, QLOGDIR should be preferred over QLOGFILE if an endpoint is prone to
35623563
generate multiple qlog files. This can for example be the case for a QUIC server
35633564
implementation that logs each QUIC connection in a separate qlog file. An

draft-ietf-quic-qlog-main-schema.txt

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ Table of Contents
8585
6. VantagePoint
8686
7. Abstract Event Class
8787
7.1. Timestamps
88-
7.2. Path
88+
7.2. Tuple
8989
7.3. Grouping
9090
7.4. SystemInformation
9191
7.5. CommonFields
@@ -691,7 +691,7 @@ Table of Contents
691691
time: float64
692692
name: text
693693
data: $ProtocolEventData
694-
? path: PathID
694+
? tuple: TupleID
695695
? time_format: TimeFormat
696696
? group_id: GroupID
697697
? system_info: SystemInformation
@@ -712,7 +712,7 @@ Table of Contents
712712
optionally add custom fields.
713713

714714
Each qlog event MAY contain the optional fields: "time_format"
715-
(Section 7.1), path (Section 7.2) "trigger" (Section 8.2.1), and
715+
(Section 7.1), tuple (Section 7.2) "trigger" (Section 8.2.1), and
716716
"group_id" (Section 7.3).
717717

718718
Multiple events can appear in a Trace or TraceSeq and they might
@@ -928,35 +928,35 @@ Table of Contents
928928

929929
Figure 20: Monotonic timestamps
930930

931-
7.2. Path
931+
7.2. Tuple
932932

933-
A qlog event can be associated with a single "network path" (usually,
934-
but not always, identified by a 4-tuple of IP addresses and ports).
935-
In many cases, the path will be the same for all events in a given
933+
A qlog event is typically associated with a single network "path",
934+
which is usually aligned with a four-tuple of IP addresses and ports.
935+
In many cases, this tuple will be the same for all events in a given
936936
trace, and does not need to be logged explicitly with each event. In
937-
this case, the "path" field can be omitted (in which case the default
938-
value of "" is assumed) or reflected in "common_fields" instead (see
939-
Section 7.5).
937+
this case, the "tuple" field can be omitted (in which case the
938+
default value of "" is assumed) or reflected in "common_fields"
939+
instead (see Section 7.5).
940940

941941
However, in some situations, such as during QUIC's Connection
942942
Migration or when using Multipath features, it is useful to be able
943-
to split events across multiple (concurrent) paths.
943+
to split events across multiple (concurrent) tuples and/or paths.
944944

945945
Definition:
946946

947-
PathID = text .default ""
947+
TupleID = text .default ""
948948

949-
Figure 21: PathID definition
949+
Figure 21: TupleID definition
950950

951-
The "path" field is an identifier that is associated with a single
952-
network path. This document intentionally does not define further
953-
how to choose this identifier's value per-path or how to potentially
954-
log other parameters that can be associated with such a path. This
955-
is left for other documents. Implementers are free to encode path
956-
information directly into the PathID or to log associated info in a
957-
separate event. For example, QUIC has the "path_assigned" event to
958-
couple the PathID value to a specific path configuration, see
959-
[QLOG-QUIC].
951+
The "tuple" field is an identifier that is associated with a single
952+
network four-tuple. This document intentionally does not define
953+
further how to choose this identifier's value per-tuple or how to
954+
potentially log other parameters that can be associated with such a
955+
tuple. This is left for other documents. Implementers are free to
956+
encode tuple information directly into the TupleID or to log
957+
associated info in a separate event. For example, QUIC has the
958+
"tuple_assigned" event to couple the TupleID value to a specific
959+
tuple configuration, see [QLOG-QUIC].
960960

961961
7.3. Grouping
962962

@@ -975,8 +975,9 @@ Table of Contents
975975
context-specific. In the example above, the QUIC "Original
976976
Destination Connection ID" could be used to uniquely identify a
977977
connection. As such, they might add a "ODCID" field to each event.
978-
However, a middlebox logging IP or TCP traffic might rather use four-
979-
tuples to identify connections, and add a "four_tuple" field.
978+
Additionally, a service providing different levels of Quality of
979+
Service (QoS) to their users might wish to group connections per QoS
980+
level applied. They might instead prefer a "qos" field.
980981

981982
As such, to provide consistency and ease of tooling in cross-protocol
982983
and cross-context setups, qlog instead defines the common "group_id"
@@ -989,14 +990,14 @@ Table of Contents
989990

990991
Figure 22: GroupID definition
991992

992-
JSON serialization example for events grouped by four tuples and QUIC
993-
connection IDs:
993+
JSON serialization example for events grouped either by QUIC
994+
Connection IDs, or according to an endpoint-specific Quality of
995+
Service (QoS) logic that includes the service level:
994996

995997
"events": [
996998
{
997999
"time": 1553986553579,
998-
"group_id": "ip1=2001:67c:1232:144:9498:6df6:f450:110b,
999-
ip2=2001:67c:2b0:1c1::198,port1=59105,port2=80",
1000+
"group_id": "qos=premium",
10001001
"name": "quic:packet_received",
10011002
"data": { ... }
10021003
},
@@ -1012,7 +1013,7 @@ Table of Contents
10121013

10131014
Note that in some contexts (for example a Multipath transport
10141015
protocol) it might make sense to add additional contextual per-event
1015-
fields (for example PathID, see Section 7.2), rather than use the
1016+
fields (for example TupleID, see Section 7.2), rather than use the
10161017
group_id field for that purpose.
10171018

10181019
Note also that, typically, a single trace only contains events
@@ -1120,7 +1121,7 @@ Table of Contents
11201121
are shown in the listing below:
11211122

11221123
CommonFields = {
1123-
? path: PathID
1124+
? tuple: TupleID
11241125
? time_format: TimeFormat
11251126
? reference_time: ReferenceTime
11261127
? group_id: GroupID

0 commit comments

Comments
 (0)