Commit Graph

91 Commits

Author SHA1 Message Date
gr1ffon
4ba42a8456 replace repo 2025-11-14 04:04:40 +03:00
Marten Seemann
eb7fcf5637 qlog: split the PTO count updates ouf of the MetricsUpdated event (#5421)
* qlog: split the PTO count updates ouf of the MetricsUpdated event

This allows us to not use pointers for all member variables of both
events.

* ackhandler: avoid spurious call to GetCongestionWindow
2025-11-04 18:13:06 +01:00
Marten Seemann
4930f90307 qlog: rework the ConnectionClosed event (#5417) 2025-11-03 16:12:13 +01:00
Marten Seemann
d3211a4193 qlog: rename owner to initiator (#5416)
Owner was renamed to Initiator in draft-ietf-qlog-quic-events-11.
2025-11-01 17:30:18 +01:00
Marten Seemann
115e8ee5d7 qlog: use PathEndpointInfo in connection_started (#5368)
* qlog: use PathEndpointInfo in connection_started

* correctly deal with dual-stack addresses
2025-10-11 07:55:38 +02:00
Marten Seemann
8d1b4811c4 qlog: privatize Encode methods of non-Event structs (#5364) 2025-10-09 14:12:19 +02:00
Marten Seemann
e0f9663be4 qlogwriter: pass the event time to Event.Encode (#5362)
This is needed for events such as recovery:loss_timer_updated, which
contain the timer expiration timestamp encoded as a difference from the
event time.
2025-10-09 07:57:14 +02:00
Marten Seemann
c2131eb595 qlog: split serializiation and event definitions, remove logging abstraction (#5356)
* qlog: implement a Trace and a Writer struct

* qlog: rename Trace to FileSeq

* split qlog trace writer and QUIC qlog events into separate packages

* use the new qlog.Recorder instead of the logging.ConnectionTracer
2025-10-08 05:53:02 +02:00
Marten Seemann
e6d5d960e3 qlog: implement a minimal jsontext-like JSON encoder (#5353)
* qlog: use fork of encoding/json/jsontext instead of unmaintained gojay

* implement a minimal jsontext-compatible encoder

* qlogtext: improve fuzz test

* qlog: simplify JSON encoding error handling

* qlog: make use of jsontext.Bool
2025-10-06 06:48:40 +02:00
Marten Seemann
7c1ce0efe2 ackhandler: track lost packets and detect spurious losses (#5355)
* ackhandler: implement a lost packet tracker

* logging: add ConnectionTracer.DetectedSpuriousLoss event

* ackhandler: detect spurious losses

* qlog: add support for logging spurious packet loss

* ackhandler: delete lost packets after detecting spurios loss

* guard against slice index underflow
2025-10-03 09:59:50 +02:00
Marten Seemann
6dcac15a12 qlog: merge event category and name (#5329)
This follows a (not so recent) change to the qlog specification.
2025-09-07 11:40:45 +02:00
Marten Seemann
45e0d5fc7d qlog: add support for reset_stream_at frame and transport parameter (#5160) 2025-05-28 09:43:42 +02:00
Marten Seemann
7e3d668981 qlog: fix logging of unset addresses in preferred_address transport parameter (#4986) 2025-03-16 04:07:20 +01:00
Marten Seemann
5c545cac23 qlog: fix logging of packets_in_flight on the metrics_updated event (#4895)
Resetting this value to 0 needs to be logged.
2025-01-21 00:18:29 +08:00
Marten Seemann
363533dc7a remove the Token field from the StatelessResetError (#4740)
There's nothing the application could possibly do with this value.
2024-12-02 13:57:46 +08:00
Marten Seemann
f96923b5b2 logging: rename VersionNumber to Version (#4621) 2024-08-03 19:32:11 -07:00
Marten Seemann
29550811b4 remove trivial IPv4 helper function (#4591) 2024-07-21 14:50:03 -07:00
Marten Seemann
e41d1f9dd7 logging / qlog: add support for DPLPMTUD (#4517)
* logging / qlog: add support for DPLPMTUD

* improve the MTU discovery integration test
2024-05-14 02:37:54 -07:00
Marten Seemann
aff90a6ffa qlog: log sent Version Negotiation packets 2024-03-09 19:32:15 +09:30
Marten Seemann
ab17a5df6a qlog: rename generation to key_phase on key_updated and key_discarded (#4315) 2024-02-07 18:04:23 -08:00
Marten Seemann
8cad3d2ea5 wire: use netip.AddrPort to encode the IPs in the Preferred Address (#4232) 2024-01-02 21:56:25 -08:00
Benedikt Spies
31a677cacd qlog: add support for alpn_information event (#4216)
* qlog chosen alpn

* qlog chosen alpn

* qlog: fix capitalization of ALPN

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-12-25 21:02:47 -08:00
Marten Seemann
3bf2e19d0d logging: pass the packet number to ConnectionTracer.DroppedPacket (#4171)
In most cases the packet number is not known when a packet is dropped,
but it's useful to log the packet number when dropping a duplicate
packet.
2023-11-17 04:11:16 -08:00
Marten Seemann
ffe6546833 add tracing and qlogging of state transitions for ECN validation 2023-09-11 20:31:50 +07:00
Marten Seemann
ad63e2a40a trace and qlog the ECN marking on sent and received packets 2023-09-11 20:31:50 +07:00
Marten Seemann
11f493381f qlog: use version_mismatch trigger on transport:connection_closed event (#3724) 2023-03-26 22:24:30 +09:00
Marten Seemann
58cedf7a4f rename module, adjust import paths to quic-go/quic-go (#3680) 2023-01-21 19:53:57 -08:00
Marten Seemann
24be84cd00 introduce separate tracing calls for sent long and short header packets 2023-01-17 21:53:37 +13:00
Marten Seemann
fe277dc663 log the size of buffered packets (#3571) 2022-10-11 02:27:26 -07:00
Marten Seemann
17761bf35f qlog: rename key_retired to key_discarded (#3463) 2022-09-09 06:39:49 -07:00
Marten Seemann
ed15a94703 split the tracing function for received short and long header packets 2022-08-29 15:32:27 +03:00
Marten Seemann
1aced95d41 use an array instead of a byte slice for Connection IDs 2022-08-29 11:30:31 +03:00
Marten Seemann
53412e9ba3 trace arbitrary length Connection IDs for Version Negotiation packets 2022-08-29 10:58:33 +03:00
Marten Seemann
42ecbf0000 qlog the reason phrase of application and transport errors 2021-05-03 14:04:03 +07:00
Marten Seemann
1613809ba2 use the new error types to log the reason why a connection is closed 2021-05-03 14:00:41 +07:00
Marten Seemann
e7c4e756ad trace and qlog version selection / negotiation 2021-04-19 11:38:10 +07:00
Marten Seemann
c30a45ef6f don't pass the QUIC version to the StartedConnection event
The version might change in response to a Version Negotiation packet.
2021-04-02 17:33:49 +07:00
Marten Seemann
d468a79339 fix qlogging of version mismatches on the connection_closed event 2021-03-15 13:36:49 +08:00
Marten Seemann
bd48ae50ed fix qlogging of the packet payload length 2021-01-19 11:09:34 +08:00
Marten Seemann
60805d887f implement qlogging of the parameters_restored event 2021-01-15 17:14:41 +08:00
Marten Seemann
c430c27910 Merge pull request #2997 from lucas-clemente/qlog-max-datagram-frame-size
qlog the max_datagram_frame_size transport parameter
2021-01-15 17:03:26 +08:00
Marten Seemann
ec2b9f47ca qlog the max_datagram_frame_size transport parameter 2021-01-11 16:19:05 +08:00
Marten Seemann
f28db16df4 fix packet_type logging for packet_lost, packet_dropped and packet_buffered 2021-01-07 11:18:18 +08:00
Marten Seemann
84af90f2f8 qlog the packet size in the newly introduced RawInfo 2021-01-07 11:02:00 +08:00
Marten Seemann
2bf6c6aea4 add support for the connection_closed qlog event 2020-12-06 12:01:54 +07:00
Marten Seemann
b623a10b54 Merge pull request #2758 from lucas-clemente/qlog-packet-type
qlog the packet_type as part of the packet header, not the event itself
2020-12-06 11:20:03 +07:00
Marten Seemann
dd93d9640c use the new, streaming-friendly NDJSON-based qlog encoding 2020-12-06 11:04:13 +07:00
Marten Seemann
4f557317a0 qlog the packet_type as part of the packet header, not the event itself 2020-12-06 10:51:21 +07:00
Marten Seemann
ff1f433c36 add a generic Log() function to the connection tracer 2020-12-06 09:33:38 +07:00
Marten Seemann
4372f46345 implement qlogging of the preferred address in the transport parameters 2020-11-02 12:39:48 +07:00