Documentation ¶
Overview ¶
Package qlog serializes qlog events.
Index ¶
Constants ¶
View Source
const ( // VantageEndpoint traces contain events not specific to a single connection. VantageEndpoint = Vantage("endpoint") // VantageClient traces follow a connection from the client's perspective. VantageClient = Vantage("client") // VantageClient traces follow a connection from the server's perspective. VantageServer = Vantage("server") )
Variables ¶
This section is empty.
Functions ¶
func NewJSONHandler ¶
func NewJSONHandler(opts HandlerOptions) slog.Handler
NewJSONHandler returns a handler which serializes qlog events to JSON.
The handler will write an endpoint-wide trace, and a separate trace for each connection. The HandlerOptions control the location traces are written.
It uses the streamable JSON Text Sequences mapping (JSON-SEQ) defined in draft-ietf-quic-qlog-main-schema-04, Section 6.2.
A JSONHandler may be used as the handler for a quic.Config.QLogLogger. It is not a general-purpose slog handler, and may not properly handle events from other sources.
Types ¶
type HandlerOptions ¶
type HandlerOptions struct { // Level reports the minimum record level that will be logged. // If Level is nil, the handler assumes QLogLevelEndpoint. Level slog.Leveler // Dir is the directory in which to create trace files. // The handler will create one file per connection. // If NewTrace is non-nil or Dir is "", the handler will not create files. Dir string // NewTrace is called to create a new trace. // If NewTrace is nil and Dir is set, // the handler will create a new file in Dir for each trace. NewTrace func(TraceInfo) (io.WriteCloser, error) }
HandlerOptions are options for a JSONHandler.
type TraceInfo ¶
type TraceInfo struct { // Vantage is the vantage point of the trace. Vantage Vantage // GroupID identifies the logical group the trace belongs to. // For a connection trace, the group will be the same for // both the client and server vantage points. GroupID string }
TraceInfo contains information about a trace.
Click to show internal directories.
Click to hide internal directories.