forked from quic-go/quic-go
log the size of buffered packets (#3571)
This commit is contained in:
@@ -227,6 +227,7 @@ func (e eventVersionNegotiationReceived) MarshalJSONObject(enc *gojay.Encoder) {
|
||||
|
||||
type eventPacketBuffered struct {
|
||||
PacketType logging.PacketType
|
||||
PacketSize protocol.ByteCount
|
||||
}
|
||||
|
||||
func (e eventPacketBuffered) Category() category { return categoryTransport }
|
||||
@@ -236,6 +237,7 @@ func (e eventPacketBuffered) IsNil() bool { return false }
|
||||
func (e eventPacketBuffered) MarshalJSONObject(enc *gojay.Encoder) {
|
||||
//nolint:gosimple
|
||||
enc.ObjectKey("header", packetHeaderWithType{PacketType: e.PacketType})
|
||||
enc.ObjectKey("raw", rawInfo{Length: e.PacketSize})
|
||||
enc.StringKey("trigger", "keys_unavailable")
|
||||
}
|
||||
|
||||
|
||||
@@ -354,9 +354,12 @@ func (t *connectionTracer) ReceivedVersionNegotiationPacket(dest, src logging.Ar
|
||||
t.mutex.Unlock()
|
||||
}
|
||||
|
||||
func (t *connectionTracer) BufferedPacket(pt logging.PacketType) {
|
||||
func (t *connectionTracer) BufferedPacket(pt logging.PacketType, size protocol.ByteCount) {
|
||||
t.mutex.Lock()
|
||||
t.recordEvent(time.Now(), &eventPacketBuffered{PacketType: pt})
|
||||
t.recordEvent(time.Now(), &eventPacketBuffered{
|
||||
PacketType: pt,
|
||||
PacketSize: size,
|
||||
})
|
||||
t.mutex.Unlock()
|
||||
}
|
||||
|
||||
|
||||
@@ -610,7 +610,7 @@ var _ = Describe("Tracing", func() {
|
||||
})
|
||||
|
||||
It("records buffered packets", func() {
|
||||
tracer.BufferedPacket(logging.PacketTypeHandshake)
|
||||
tracer.BufferedPacket(logging.PacketTypeHandshake, 1337)
|
||||
entry := exportAndParseSingle()
|
||||
Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond)))
|
||||
Expect(entry.Name).To(Equal("transport:packet_buffered"))
|
||||
@@ -619,6 +619,8 @@ var _ = Describe("Tracing", func() {
|
||||
hdr := ev["header"].(map[string]interface{})
|
||||
Expect(hdr).To(HaveLen(1))
|
||||
Expect(hdr).To(HaveKeyWithValue("packet_type", "handshake"))
|
||||
Expect(ev).To(HaveKey("raw"))
|
||||
Expect(ev["raw"].(map[string]interface{})).To(HaveKeyWithValue("length", float64(1337)))
|
||||
Expect(ev).To(HaveKeyWithValue("trigger", "keys_unavailable"))
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user