forked from quic-go/quic-go
introduce separate tracing calls for sent long and short header packets
This commit is contained in:
@@ -154,7 +154,7 @@ func (e eventConnectionClosed) MarshalJSONObject(enc *gojay.Encoder) {
|
||||
}
|
||||
|
||||
type eventPacketSent struct {
|
||||
Header packetHeader
|
||||
Header gojay.MarshalerJSONObject // either a shortHeader or a packetHeader
|
||||
Length logging.ByteCount
|
||||
PayloadLength logging.ByteCount
|
||||
Frames frames
|
||||
|
||||
15
qlog/qlog.go
15
qlog/qlog.go
@@ -274,7 +274,15 @@ func (t *connectionTracer) toTransportParameters(tp *wire.TransportParameters) *
|
||||
}
|
||||
}
|
||||
|
||||
func (t *connectionTracer) SentPacket(hdr *wire.ExtendedHeader, packetSize logging.ByteCount, ack *logging.AckFrame, frames []logging.Frame) {
|
||||
func (t *connectionTracer) SentLongHeaderPacket(hdr *logging.ExtendedHeader, packetSize logging.ByteCount, ack *logging.AckFrame, frames []logging.Frame) {
|
||||
t.sentPacket(*transformLongHeader(hdr), packetSize, hdr.Length, ack, frames)
|
||||
}
|
||||
|
||||
func (t *connectionTracer) SentShortHeaderPacket(hdr *logging.ShortHeader, packetSize logging.ByteCount, ack *logging.AckFrame, frames []logging.Frame) {
|
||||
t.sentPacket(*transformShortHeader(hdr), packetSize, 0, ack, frames)
|
||||
}
|
||||
|
||||
func (t *connectionTracer) sentPacket(hdr gojay.MarshalerJSONObject, packetSize, payloadLen logging.ByteCount, ack *logging.AckFrame, frames []logging.Frame) {
|
||||
numFrames := len(frames)
|
||||
if ack != nil {
|
||||
numFrames++
|
||||
@@ -286,12 +294,11 @@ func (t *connectionTracer) SentPacket(hdr *wire.ExtendedHeader, packetSize loggi
|
||||
for _, f := range frames {
|
||||
fs = append(fs, frame{Frame: f})
|
||||
}
|
||||
header := *transformLongHeader(hdr)
|
||||
t.mutex.Lock()
|
||||
t.recordEvent(time.Now(), &eventPacketSent{
|
||||
Header: header,
|
||||
Header: hdr,
|
||||
Length: packetSize,
|
||||
PayloadLength: hdr.Length,
|
||||
PayloadLength: payloadLen,
|
||||
Frames: fs,
|
||||
})
|
||||
t.mutex.Unlock()
|
||||
|
||||
@@ -420,8 +420,8 @@ var _ = Describe("Tracing", func() {
|
||||
Expect(ev).To(HaveKeyWithValue("initial_max_stream_data_uni", float64(300)))
|
||||
})
|
||||
|
||||
It("records a sent packet, without an ACK", func() {
|
||||
tracer.SentPacket(
|
||||
It("records a sent long header packet, without an ACK", func() {
|
||||
tracer.SentLongHeaderPacket(
|
||||
&logging.ExtendedHeader{
|
||||
Header: logging.Header{
|
||||
IsLongHeader: true,
|
||||
@@ -460,11 +460,11 @@ var _ = Describe("Tracing", func() {
|
||||
Expect(frames[1].(map[string]interface{})).To(HaveKeyWithValue("frame_type", "stream"))
|
||||
})
|
||||
|
||||
It("records a sent packet, without an ACK", func() {
|
||||
tracer.SentPacket(
|
||||
&logging.ExtendedHeader{
|
||||
Header: logging.Header{DestConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4})},
|
||||
PacketNumber: 1337,
|
||||
It("records a sent short header packet, without an ACK", func() {
|
||||
tracer.SentShortHeaderPacket(
|
||||
&logging.ShortHeader{
|
||||
DestConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
PacketNumber: 1337,
|
||||
},
|
||||
123,
|
||||
&logging.AckFrame{AckRanges: []logging.AckRange{{Smallest: 1, Largest: 10}}},
|
||||
|
||||
Reference in New Issue
Block a user