Skip to content

Commit 4f55731

Browse files
qlog the packet_type as part of the packet header, not the event itself
1 parent 5a0ce24 commit 4f55731

File tree

5 files changed

+19
-18
lines changed

5 files changed

+19
-18
lines changed

qlog/event.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ func (e eventConnectionClosed) MarshalJSONObject(enc *gojay.Encoder) {
105105
}
106106

107107
type eventPacketSent struct {
108-
PacketType packetType
109108
Header packetHeader
110109
Frames frames
111110
IsCoalesced bool
@@ -119,15 +118,13 @@ func (e eventPacketSent) Name() string { return "packet_sent" }
119118
func (e eventPacketSent) IsNil() bool { return false }
120119

121120
func (e eventPacketSent) MarshalJSONObject(enc *gojay.Encoder) {
122-
enc.StringKey("packet_type", e.PacketType.String())
123121
enc.ObjectKey("header", e.Header)
124122
enc.ArrayKeyOmitEmpty("frames", e.Frames)
125123
enc.BoolKeyOmitEmpty("is_coalesced", e.IsCoalesced)
126124
enc.StringKeyOmitEmpty("trigger", e.Trigger)
127125
}
128126

129127
type eventPacketReceived struct {
130-
PacketType packetType
131128
Header packetHeader
132129
Frames frames
133130
IsCoalesced bool
@@ -141,7 +138,6 @@ func (e eventPacketReceived) Name() string { return "packet_received" }
141138
func (e eventPacketReceived) IsNil() bool { return false }
142139

143140
func (e eventPacketReceived) MarshalJSONObject(enc *gojay.Encoder) {
144-
enc.StringKey("packet_type", e.PacketType.String())
145141
enc.ObjectKey("header", e.Header)
146142
enc.ArrayKeyOmitEmpty("frames", e.Frames)
147143
enc.BoolKeyOmitEmpty("is_coalesced", e.IsCoalesced)
@@ -157,7 +153,6 @@ func (e eventRetryReceived) Name() string { return "packet_received" }
157153
func (e eventRetryReceived) IsNil() bool { return false }
158154

159155
func (e eventRetryReceived) MarshalJSONObject(enc *gojay.Encoder) {
160-
enc.StringKey("packet_type", packetType(logging.PacketTypeRetry).String())
161156
enc.ObjectKey("header", e.Header)
162157
}
163158

@@ -171,7 +166,6 @@ func (e eventVersionNegotiationReceived) Name() string { return "packet_re
171166
func (e eventVersionNegotiationReceived) IsNil() bool { return false }
172167

173168
func (e eventVersionNegotiationReceived) MarshalJSONObject(enc *gojay.Encoder) {
174-
enc.StringKey("packet_type", packetType(logging.PacketTypeVersionNegotiation).String())
175169
enc.ObjectKey("header", e.Header)
176170
enc.ArrayKey("supported_versions", versions(e.SupportedVersions))
177171
}

qlog/packet_header.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package qlog
22

33
import (
4-
"github.com/francoispqt/gojay"
54
"github.com/lucas-clemente/quic-go/internal/protocol"
65
"github.com/lucas-clemente/quic-go/internal/wire"
76
"github.com/lucas-clemente/quic-go/logging"
7+
8+
"github.com/francoispqt/gojay"
89
)
910

1011
func getPacketTypeFromEncryptionLevel(encLevel protocol.EncryptionLevel) packetType {
@@ -59,6 +60,7 @@ func transformExtendedHeader(hdr *wire.ExtendedHeader) *packetHeader {
5960
}
6061

6162
func (h packetHeader) MarshalJSONObject(enc *gojay.Encoder) {
63+
enc.StringKey("packet_type", packetType(h.PacketType).String())
6264
if h.PacketType != logging.PacketTypeRetry && h.PacketType != logging.PacketTypeVersionNegotiation {
6365
enc.Int64Key("packet_number", int64(h.PacketNumber))
6466
}

qlog/packet_header_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ var _ = Describe("Packet Header", func() {
3939
KeyPhase: protocol.KeyPhaseZero,
4040
},
4141
map[string]interface{}{
42+
"packet_type": "1RTT",
4243
"packet_number": 42,
4344
"dcil": 0,
4445
"key_phase_bit": "0",
@@ -58,6 +59,7 @@ var _ = Describe("Packet Header", func() {
5859
},
5960
},
6061
map[string]interface{}{
62+
"packet_type": "initial",
6163
"packet_number": 42,
6264
"payload_length": 123,
6365
"dcil": 0,
@@ -78,6 +80,7 @@ var _ = Describe("Packet Header", func() {
7880
},
7981
},
8082
map[string]interface{}{
83+
"packet_type": "handshake",
8184
"packet_number": 0,
8285
"dcil": 0,
8386
"scil": 0,
@@ -98,6 +101,7 @@ var _ = Describe("Packet Header", func() {
98101
},
99102
},
100103
map[string]interface{}{
104+
"packet_type": "handshake",
101105
"packet_number": 42,
102106
"dcil": 0,
103107
"scil": 16,
@@ -115,6 +119,7 @@ var _ = Describe("Packet Header", func() {
115119
KeyPhase: protocol.KeyPhaseOne,
116120
},
117121
map[string]interface{}{
122+
"packet_type": "1RTT",
118123
"packet_number": 42,
119124
"dcil": 4,
120125
"dcid": "deadbeef",

qlog/qlog.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -240,9 +240,8 @@ func (t *connectionTracer) SentPacket(hdr *wire.ExtendedHeader, packetSize proto
240240
header.PacketSize = packetSize
241241
t.mutex.Lock()
242242
t.recordEvent(time.Now(), &eventPacketSent{
243-
PacketType: packetType(logging.PacketTypeFromHeader(&hdr.Header)),
244-
Header: header,
245-
Frames: fs,
243+
Header: header,
244+
Frames: fs,
246245
})
247246
t.mutex.Unlock()
248247
}
@@ -256,9 +255,8 @@ func (t *connectionTracer) ReceivedPacket(hdr *wire.ExtendedHeader, packetSize p
256255
header.PacketSize = packetSize
257256
t.mutex.Lock()
258257
t.recordEvent(time.Now(), &eventPacketReceived{
259-
PacketType: packetType(logging.PacketTypeFromHeader(&hdr.Header)),
260-
Header: header,
261-
Frames: fs,
258+
Header: header,
259+
Frames: fs,
262260
})
263261
t.mutex.Unlock()
264262
}

qlog/qlog_test.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -323,9 +323,9 @@ var _ = Describe("Tracing", func() {
323323
Expect(entry.Category).To(Equal("transport"))
324324
Expect(entry.Name).To(Equal("packet_sent"))
325325
ev := entry.Event
326-
Expect(ev).To(HaveKeyWithValue("packet_type", "handshake"))
327326
Expect(ev).To(HaveKey("header"))
328327
hdr := ev["header"].(map[string]interface{})
328+
Expect(hdr).To(HaveKeyWithValue("packet_type", "handshake"))
329329
Expect(hdr).To(HaveKeyWithValue("packet_size", float64(987)))
330330
Expect(hdr).To(HaveKeyWithValue("packet_number", float64(1337)))
331331
Expect(hdr).To(HaveKeyWithValue("scid", "04030201"))
@@ -348,8 +348,10 @@ var _ = Describe("Tracing", func() {
348348
)
349349
entry := exportAndParseSingle()
350350
ev := entry.Event
351-
Expect(ev).To(HaveKeyWithValue("packet_type", "1RTT"))
352351
Expect(ev).To(HaveKey("header"))
352+
hdr := ev["header"].(map[string]interface{})
353+
Expect(hdr).To(HaveKeyWithValue("packet_type", "1RTT"))
354+
Expect(hdr).To(HaveKeyWithValue("packet_number", float64(1337)))
353355
Expect(ev).To(HaveKey("frames"))
354356
frames := ev["frames"].([]interface{})
355357
Expect(frames).To(HaveLen(2))
@@ -380,9 +382,9 @@ var _ = Describe("Tracing", func() {
380382
Expect(entry.Category).To(Equal("transport"))
381383
Expect(entry.Name).To(Equal("packet_received"))
382384
ev := entry.Event
383-
Expect(ev).To(HaveKeyWithValue("packet_type", "initial"))
384385
Expect(ev).To(HaveKey("header"))
385386
hdr := ev["header"].(map[string]interface{})
387+
Expect(hdr).To(HaveKeyWithValue("packet_type", "initial"))
386388
Expect(hdr).To(HaveKeyWithValue("packet_size", float64(789)))
387389
Expect(hdr).To(HaveKeyWithValue("packet_number", float64(1337)))
388390
Expect(hdr).To(HaveKeyWithValue("scid", "04030201"))
@@ -405,9 +407,9 @@ var _ = Describe("Tracing", func() {
405407
Expect(entry.Category).To(Equal("transport"))
406408
Expect(entry.Name).To(Equal("packet_received"))
407409
ev := entry.Event
408-
Expect(ev).To(HaveKeyWithValue("packet_type", "retry"))
409410
Expect(ev).To(HaveKey("header"))
410411
header := ev["header"]
412+
Expect(header).To(HaveKeyWithValue("packet_type", "retry"))
411413
Expect(header).ToNot(HaveKey("packet_number"))
412414
Expect(header).To(HaveKey("version"))
413415
Expect(header).To(HaveKey("dcid"))
@@ -430,12 +432,12 @@ var _ = Describe("Tracing", func() {
430432
Expect(entry.Category).To(Equal("transport"))
431433
Expect(entry.Name).To(Equal("packet_received"))
432434
ev := entry.Event
433-
Expect(ev).To(HaveKeyWithValue("packet_type", "version_negotiation"))
434435
Expect(ev).To(HaveKey("header"))
435436
Expect(ev).ToNot(HaveKey("frames"))
436437
Expect(ev).To(HaveKey("supported_versions"))
437438
Expect(ev["supported_versions"].([]interface{})).To(Equal([]interface{}{"deadbeef", "decafbad"}))
438439
header := ev["header"]
440+
Expect(header).To(HaveKeyWithValue("packet_type", "version_negotiation"))
439441
Expect(header).ToNot(HaveKey("packet_number"))
440442
Expect(header).ToNot(HaveKey("version"))
441443
Expect(header).To(HaveKey("dcid"))

0 commit comments

Comments
 (0)