http3: add the qlog event schema to trace header (#5383)

This commit is contained in:
Marten Seemann
2025-10-15 12:02:05 +08:00
committed by GitHub
parent 378d867241
commit 5e5100b40c
15 changed files with 129 additions and 9 deletions

View File

@@ -137,6 +137,10 @@ func (t *multiplexedTrace) AddProducer() qlogwriter.Recorder {
return &multiplexedRecorder{Recorders: recorders}
}
func (t *multiplexedTrace) SupportsSchemas(schema string) bool {
return true
}
func getQuicConfig(conf *quic.Config) *quic.Config {
if conf == nil {
conf = &quic.Config{}

View File

@@ -10,6 +10,7 @@ import (
"time"
"github.com/quic-go/quic-go"
h3qlog "github.com/quic-go/quic-go/http3/qlog"
"github.com/quic-go/quic-go/internal/utils"
"github.com/quic-go/quic-go/qlog"
"github.com/quic-go/quic-go/qlogwriter"
@@ -46,7 +47,7 @@ func NewQlogConnectionTracer(logger io.Writer) func(ctx context.Context, isClien
utils.NewBufferedWriteCloser(bufio.NewWriter(f), f),
isClient,
connID,
[]string{qlog.EventSchema},
[]string{qlog.EventSchema, h3qlog.EventSchema},
)
go fileSeq.Run()
return fileSeq

View File

@@ -74,6 +74,8 @@ type multiplexedTrace struct {
var _ qlogwriter.Trace = &multiplexedTrace{}
func (t *multiplexedTrace) SupportsSchemas(schema string) bool { return true }
func (t *multiplexedTrace) AddProducer() qlogwriter.Recorder {
recorders := make([]qlogwriter.Recorder, 0, len(t.Traces))
for _, tr := range t.Traces {