package qlog
Import Path
github.com/quic-go/quic-go/qlog (on go.dev)
Dependency Relation
imports 17 packages, and imported by 6 packages
Package-Level Type Names (total 75)
An AckFrame is an ACK frame.
An AckFrequencyFrame is an ACK_FREQUENCY frame.
ChosenALPN string
( ALPNInformation) Encode(enc *jsontext.Encoder, _ time.Time) error
( ALPNInformation) Name() string
ALPNInformation : github.com/quic-go/quic-go/qlogwriter.Event
ALPNInformation : github.com/polarsignals/frostdb/query/logicalplan.Named
type ApplicationErrorCode = qerr.ApplicationErrorCode (basic type) type ArbitraryLenConnectionID = protocol.ArbitraryLenConnectionID ([])
( CongestionState) String() string
CongestionState : expvar.Var
CongestionState : fmt.Stringer
const CongestionStateApplicationLimited
const CongestionStateCongestionAvoidance
const CongestionStateRecovery
const CongestionStateSlowStart
State CongestionState
( CongestionStateUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error
( CongestionStateUpdated) Name() string
CongestionStateUpdated : github.com/quic-go/quic-go/qlogwriter.Event
CongestionStateUpdated : github.com/polarsignals/frostdb/query/logicalplan.Named
ApplicationError *ApplicationErrorCode
ConnectionError *TransportErrorCode
Initiator Initiator
Reason string
Trigger ConnectionCloseTrigger
( ConnectionClosed) Encode(enc *jsontext.Encoder, _ time.Time) error
( ConnectionClosed) Name() string
ConnectionClosed : github.com/quic-go/quic-go/qlogwriter.Event
ConnectionClosed : github.com/polarsignals/frostdb/query/logicalplan.Named
A ConnectionCloseFrame is a CONNECTION_CLOSE frame.
const ConnectionCloseTriggerApplication
const ConnectionCloseTriggerIdleTimeout
const ConnectionCloseTriggerStatelessReset
const ConnectionCloseTriggerVersionMismatch
type ConnectionID = protocol.ConnectionID (struct)
A DataBlockedFrame is a DATA_BLOCKED frame.
DatagramID is a unique identifier for a datagram
func CalculateDatagramID(packet []byte) DatagramID
DebugEvent is a generic event that can be used to log arbitrary messages.
EventName string
Message string
( DebugEvent) Encode(enc *jsontext.Encoder, _ time.Time) error
( DebugEvent) Name() string
DebugEvent : github.com/quic-go/quic-go/qlogwriter.Event
DebugEvent : github.com/polarsignals/frostdb/query/logicalplan.Named
ECN represents the Explicit Congestion Notification value.
const ECNCE
const ECNUnsupported
const ECT0
const ECT1
const ECTNot
ECNState is the state of the ECN state machine (see Appendix A.4 of RFC 9000)
const ECNStateCapable
const ECNStateFailed
const ECNStateTesting
const ECNStateUnknown
State ECNState
Trigger string
( ECNStateUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error
( ECNStateUpdated) Name() string
ECNStateUpdated : github.com/quic-go/quic-go/qlogwriter.Event
ECNStateUpdated : github.com/polarsignals/frostdb/query/logicalplan.Named
type EncryptionLevel = protocol.EncryptionLevel (basic type)
A HandshakeDoneFrame is a HANDSHAKE_DONE frame.
An ImmediateAckFrame is an IMMEDIATE_ACK frame.
const InitiatorLocal
const InitiatorRemote
// only set for 1-RTT keys
KeyType KeyType
( KeyDiscarded) Encode(enc *jsontext.Encoder, _ time.Time) error
( KeyDiscarded) Name() string
KeyDiscarded : github.com/quic-go/quic-go/qlogwriter.Event
KeyDiscarded : github.com/polarsignals/frostdb/query/logicalplan.Named
type KeyPhaseBit = protocol.KeyPhaseBit (basic type)
KeyType represents the type of cryptographic key used in QUIC connections.
const KeyTypeClient0RTT
const KeyTypeClient1RTT
const KeyTypeClientHandshake
const KeyTypeClientInitial
const KeyTypeServer0RTT
const KeyTypeServer1RTT
const KeyTypeServerHandshake
const KeyTypeServerInitial
// only set for 1-RTT keys
KeyType KeyType
Trigger KeyUpdateTrigger
( KeyUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error
( KeyUpdated) Name() string
KeyUpdated : github.com/quic-go/quic-go/qlogwriter.Event
KeyUpdated : github.com/polarsignals/frostdb/query/logicalplan.Named
KeyUpdateTrigger describes what caused a key update event.
const KeyUpdateLocal
const KeyUpdateRemote
const KeyUpdateTLS
EncLevel EncryptionLevel
Time time.Time
TimerType TimerType
Type LossTimerUpdateType
( LossTimerUpdated) Encode(enc *jsontext.Encoder, t time.Time) error
( LossTimerUpdated) Name() string
LossTimerUpdated : github.com/quic-go/quic-go/qlogwriter.Event
LossTimerUpdated : github.com/polarsignals/frostdb/query/logicalplan.Named
const LossTimerUpdateTypeCancelled
const LossTimerUpdateTypeExpired
const LossTimerUpdateTypeSet
A MaxDataFrame is a MAX_DATA frame.
A MaxStreamDataFrame is a MAX_STREAM_DATA frame.
A MaxStreamsFrame is a MAX_STREAMS_FRAME.
MetricsUpdated logs RTT and congestion metrics as defined in the
recovery:metrics_updated event.
The PTO count is logged via PTOCountUpdated.
BytesInFlight int
CongestionWindow int
LatestRTT time.Duration
MinRTT time.Duration
PacketsInFlight int
RTTVariance time.Duration
SmoothedRTT time.Duration
( MetricsUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error
( MetricsUpdated) Name() string
MetricsUpdated : github.com/quic-go/quic-go/qlogwriter.Event
MetricsUpdated : github.com/polarsignals/frostdb/query/logicalplan.Named
Done bool
Value int
( MTUUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error
( MTUUpdated) Name() string
MTUUpdated : github.com/quic-go/quic-go/qlogwriter.Event
MTUUpdated : github.com/polarsignals/frostdb/query/logicalplan.Named
A NewConnectionIDFrame is a NEW_CONNECTION_ID frame.
A NewTokenFrame is a NEW_TOKEN frame.
DatagramID DatagramID
Header PacketHeader
Raw RawInfo
( PacketBuffered) Encode(enc *jsontext.Encoder, _ time.Time) error
( PacketBuffered) Name() string
PacketBuffered : github.com/quic-go/quic-go/qlogwriter.Event
PacketBuffered : github.com/polarsignals/frostdb/query/logicalplan.Named
PacketDropped is the transport:packet_dropped event.
DatagramID DatagramID
Header PacketHeader
Raw RawInfo
Trigger PacketDropReason
( PacketDropped) Encode(enc *jsontext.Encoder, _ time.Time) error
( PacketDropped) Name() string
PacketDropped : github.com/quic-go/quic-go/qlogwriter.Event
PacketDropped : github.com/polarsignals/frostdb/query/logicalplan.Named
const PacketDropDOSPrevention
const PacketDropDuplicate
const PacketDropHeaderParseError
const PacketDropKeyUnavailable
const PacketDropPayloadDecryptError
const PacketDropProtocolViolation
const PacketDropUnexpectedPacket
const PacketDropUnexpectedSourceConnectionID
const PacketDropUnexpectedVersion
const PacketDropUnknownConnectionID
const PacketDropUnsupportedVersion
PacketHeader is a QUIC packet header.
DestConnectionID ConnectionID
KeyPhaseBit KeyPhaseBit
PacketNumber PacketNumber
PacketType PacketType
SrcConnectionID ConnectionID
Token *Token
Version Version
const PacketLossReorderingThreshold
const PacketLossTimeThreshold
Header PacketHeader
Trigger PacketLossReason
( PacketLost) Encode(enc *jsontext.Encoder, _ time.Time) error
( PacketLost) Name() string
PacketLost : github.com/quic-go/quic-go/qlogwriter.Event
PacketLost : github.com/polarsignals/frostdb/query/logicalplan.Named
type PacketNumber = protocol.PacketNumber (basic type)
DatagramID DatagramID
ECN ECN
Frames []Frame
Header PacketHeader
IsCoalesced bool
Raw RawInfo
Trigger string
( PacketReceived) Encode(enc *jsontext.Encoder, _ time.Time) error
( PacketReceived) Name() string
PacketReceived : github.com/quic-go/quic-go/qlogwriter.Event
PacketReceived : github.com/polarsignals/frostdb/query/logicalplan.Named
DatagramID DatagramID
ECN ECN
Frames []Frame
Header PacketHeader
IsCoalesced bool
Raw RawInfo
SupportedVersions []Version
Trigger string
( PacketSent) Encode(enc *jsontext.Encoder, _ time.Time) error
( PacketSent) Name() string
PacketSent : github.com/quic-go/quic-go/qlogwriter.Event
PacketSent : github.com/polarsignals/frostdb/query/logicalplan.Named
func EncryptionLevelToPacketType(l EncryptionLevel) PacketType
const PacketType0RTT
const PacketType1RTT
const PacketTypeHandshake
const PacketTypeInitial
const PacketTypeRetry
const PacketTypeStatelessReset
const PacketTypeVersionNegotiation
AckDelayExponent uint8
ActiveConnectionIDLimit uint64
DisableActiveMigration bool
EnableResetStreamAt bool
InitialMaxData protocol.ByteCount
InitialMaxStreamDataBidiLocal protocol.ByteCount
InitialMaxStreamDataBidiRemote protocol.ByteCount
InitialMaxStreamDataUni protocol.ByteCount
InitialMaxStreamsBidi int64
InitialMaxStreamsUni int64
InitialSourceConnectionID protocol.ConnectionID
Initiator Initiator
MaxAckDelay time.Duration
MaxDatagramFrameSize protocol.ByteCount
MaxIdleTimeout time.Duration
MaxUDPPayloadSize protocol.ByteCount
OriginalDestinationConnectionID protocol.ConnectionID
PreferredAddress *PreferredAddress
Restore bool
RetrySourceConnectionID *protocol.ConnectionID
SentBy protocol.Perspective
StatelessResetToken *protocol.StatelessResetToken
( ParametersSet) Encode(enc *jsontext.Encoder, _ time.Time) error
( ParametersSet) Name() string
ParametersSet : github.com/quic-go/quic-go/qlogwriter.Event
ParametersSet : github.com/polarsignals/frostdb/query/logicalplan.Named
A PathChallengeFrame is a PATH_CHALLENGE frame.
A PathResponseFrame is a PATH_RESPONSE frame.
A PingFrame is a PING frame.
ConnectionID protocol.ConnectionID
IPv4 netip.AddrPort
IPv6 netip.AddrPort
StatelessResetToken protocol.StatelessResetToken
PTOCountUpdated logs the pto_count value of the
recovery:metrics_updated event.
PTOCount uint32
( PTOCountUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error
( PTOCountUpdated) Name() string
PTOCountUpdated : github.com/quic-go/quic-go/qlogwriter.Event
PTOCountUpdated : github.com/polarsignals/frostdb/query/logicalplan.Named
// full packet length, including header and AEAD authentication tag
// length of the packet payload, excluding AEAD tag
A ResetStreamFrame is a RESET_STREAM frame.
A RetireConnectionIDFrame is a RETIRE_CONNECTION_ID frame.
EncryptionLevel protocol.EncryptionLevel
PacketNumber protocol.PacketNumber
PacketReordering uint64
TimeReordering time.Duration
( SpuriousLoss) Encode(enc *jsontext.Encoder, _ time.Time) error
( SpuriousLoss) Name() string
SpuriousLoss : github.com/quic-go/quic-go/qlogwriter.Event
SpuriousLoss : github.com/polarsignals/frostdb/query/logicalplan.Named
Local PathEndpointInfo
Remote PathEndpointInfo
( StartedConnection) Encode(enc *jsontext.Encoder, _ time.Time) error
( StartedConnection) Name() string
StartedConnection : github.com/quic-go/quic-go/qlogwriter.Event
StartedConnection : github.com/polarsignals/frostdb/query/logicalplan.Named
A StopSendingFrame is a STOP_SENDING frame.
A StreamDataBlockedFrame is a STREAM_DATA_BLOCKED frame.
A StreamsBlockedFrame is a STREAMS_BLOCKED frame.
const TimerTypeACK
const TimerTypePathProbe
const TimerTypePTO
type TransportErrorCode = qerr.TransportErrorCode (basic type)
ChosenVersion Version
ClientVersions []Version
ServerVersions []Version
( VersionInformation) Encode(enc *jsontext.Encoder, _ time.Time) error
( VersionInformation) Name() string
VersionInformation : github.com/quic-go/quic-go/qlogwriter.Event
VersionInformation : github.com/polarsignals/frostdb/query/logicalplan.Named
Header PacketHeaderVersionNegotiation
SupportedVersions []Version
( VersionNegotiationReceived) Encode(enc *jsontext.Encoder, _ time.Time) error
( VersionNegotiationReceived) Name() string
VersionNegotiationReceived : github.com/quic-go/quic-go/qlogwriter.Event
VersionNegotiationReceived : github.com/polarsignals/frostdb/query/logicalplan.Named
Header PacketHeaderVersionNegotiation
SupportedVersions []Version
( VersionNegotiationSent) Encode(enc *jsontext.Encoder, _ time.Time) error
( VersionNegotiationSent) Name() string
VersionNegotiationSent : github.com/quic-go/quic-go/qlogwriter.Event
VersionNegotiationSent : github.com/polarsignals/frostdb/query/logicalplan.Named
Package-Level Functions (total 4)
CalculateDatagramID computes a DatagramID for a given packet
DefaultConnectionTracer creates a qlog file in the qlog directory specified by the QLOGDIR environment variable.
File names are <odcid>_<perspective>.sqlog.
Returns nil if QLOGDIR is not set.
func DefaultConnectionTracerWithSchemas(_ context.Context, isClient bool, connID ConnectionID, eventSchemas []string) qlogwriter.Trace
Package-Level Constants (total 59)
CongestionStateApplicationLimited means that the congestion controller is application limited
CongestionStateCongestionAvoidance is the congestion avoidance phase of Reno / Cubic
CongestionStateRecovery is the recovery phase of Reno / Cubic
CongestionStateSlowStart is the slow start phase of Reno / Cubic
Application indicates the connection was closed by the application
IdleTimeout indicates the connection was closed due to idle timeout
StatelessReset indicates the connection was closed due to receiving a stateless reset from the peer
VersionMismatch indicates the connection was closed due to a QUIC version mismatch
ECNCE is CE
ECNStateCapable is the capable state
ECNStateFailed is the failed state
ECNStateTesting is the testing state
ECNStateUnknown is the unknown state
ECNUnsupported means that no ECN value was set / received
ECT0 is ECT(0)
ECT1 is ECT(1)
ECTNot is Not-ECT
EventSchema is the qlog event schema for QUIC
const InitiatorLocal Initiator = "local" const InitiatorRemote Initiator = "remote"
KeyPhaseOne is key phase bit 1
KeyPhaseZero is key phase bit 0
KeyTypeClient0RTT represents the client's 0-RTT secret key.
KeyTypeClient1RTT represents the client's 1-RTT secret key.
KeyTypeClientHandshake represents the client's handshake secret key.
KeyTypeClientInitial represents the client's initial secret key.
KeyTypeServer0RTT represents the server's 0-RTT secret key.
KeyTypeServer1RTT represents the server's 1-RTT secret key.
KeyTypeServerHandshake represents the server's handshake secret key.
KeyTypeServerInitial represents the server's initial secret key.
KeyUpdateLocal indicates the key update was triggered locally.
KeyUpdateRemote indicates the key update was triggered by the remote peer.
KeyUpdateTLS indicates the key update was triggered by TLS.
const LossTimerUpdateTypeCancelled LossTimerUpdateType = "cancelled" const LossTimerUpdateTypeExpired LossTimerUpdateType = "expired" const LossTimerUpdateTypeSet LossTimerUpdateType = "set"
PacketDropDOSPrevention is used when a packet is dropped to mitigate a DoS attack
PacketDropDuplicate is used when a duplicate packet is received
PacketDropHeaderParseError is used when a packet is dropped because header parsing failed
PacketDropPayloadDecryptError is used when a packet is dropped because decrypting the payload failed
PacketDropProtocolViolation is used when a packet is dropped due to a protocol violation
PacketDropUnexpectedPacket is used when an unexpected packet is received
PacketDropUnexpectedSourceConnectionID is used when a packet with an unexpected source connection ID is received
PacketDropUnexpectedVersion is used when a packet with an unexpected version is received
PacketDropUnknownConnectionID is used when a packet is dropped because the connection ID is unknown
PacketDropUnsupportedVersion is used when a packet is dropped because the version is not supported
PacketLossReorderingThreshold is used when a packet is declared lost due to reordering threshold
PacketLossTimeThreshold is used when a packet is declared lost due to time threshold
PacketType0RTT represents a 0-RTT packet
PacketType1RTT represents a 1-RTT packet
PacketTypeHandshake represents a Handshake packet
PacketTypeInitial represents an Initial packet
PacketTypeRetry represents a Retry packet
PacketTypeStatelessReset represents a Stateless Reset packet
PacketTypeVersionNegotiation represents a Version Negotiation packet
TimerTypeACK represents an ACK timer
TimerTypePathProbe represents a path probe timer
TimerTypePTO represents a PTO (Probe Timeout) timer
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |