qlog the packet size in the newly introduced RawInfo

This commit is contained in:
Marten Seemann
2021-01-07 10:40:14 +08:00
parent d1c5297c0b
commit 84af90f2f8
4 changed files with 24 additions and 12 deletions

View File

@@ -44,6 +44,15 @@ func (v versions) MarshalJSONArray(enc *gojay.Encoder) {
}
}
type rawInfo struct {
Length logging.ByteCount
}
func (i rawInfo) IsNil() bool { return false }
func (i rawInfo) MarshalJSONObject(enc *gojay.Encoder) {
enc.Uint64Key("length", uint64(i.Length))
}
type eventConnectionStarted struct {
SrcAddr *net.UDPAddr
DestAddr *net.UDPAddr
@@ -117,6 +126,7 @@ func (e eventConnectionClosed) MarshalJSONObject(enc *gojay.Encoder) {
type eventPacketSent struct {
Header packetHeader
Length logging.ByteCount
Frames frames
IsCoalesced bool
Trigger string
@@ -130,6 +140,7 @@ func (e eventPacketSent) IsNil() bool { return false }
func (e eventPacketSent) MarshalJSONObject(enc *gojay.Encoder) {
enc.ObjectKey("header", e.Header)
enc.ObjectKey("raw", rawInfo{Length: e.Length})
enc.ArrayKeyOmitEmpty("frames", e.Frames)
enc.BoolKeyOmitEmpty("is_coalesced", e.IsCoalesced)
enc.StringKeyOmitEmpty("trigger", e.Trigger)
@@ -137,6 +148,7 @@ func (e eventPacketSent) MarshalJSONObject(enc *gojay.Encoder) {
type eventPacketReceived struct {
Header packetHeader
Length logging.ByteCount
Frames frames
IsCoalesced bool
Trigger string
@@ -150,6 +162,7 @@ func (e eventPacketReceived) IsNil() bool { return false }
func (e eventPacketReceived) MarshalJSONObject(enc *gojay.Encoder) {
enc.ObjectKey("header", e.Header)
enc.ObjectKey("raw", rawInfo{Length: e.Length})
enc.ArrayKeyOmitEmpty("frames", e.Frames)
enc.BoolKeyOmitEmpty("is_coalesced", e.IsCoalesced)
enc.StringKeyOmitEmpty("trigger", e.Trigger)
@@ -206,7 +219,7 @@ func (e eventPacketDropped) IsNil() bool { return false }
func (e eventPacketDropped) MarshalJSONObject(enc *gojay.Encoder) {
enc.StringKeyOmitEmpty("packet_type", e.PacketType.String())
enc.Uint64Key("packet_size", uint64(e.PacketSize))
enc.ObjectKey("raw", rawInfo{Length: e.PacketSize})
enc.StringKey("trigger", e.Trigger.String())
}