Commit Graph

77 Commits

Author SHA1 Message Date
Marten Seemann
a7795541c9 logging: use code generation to generate the multiplexed tracers (#4677)
* logging: use code generation to generate the multiplexed tracers

* logging: ignore auto-generated files for code coverage

* logging: move code generation comment to generator script
2024-11-28 23:57:11 +08:00
Marten Seemann
72be861aa2 logging: migrate tests away from Ginkgo (#4641) 2024-09-11 00:49:02 -07:00
Marten Seemann
39e2a69a90 remove deprecated quic.VersionNumber and logging.VersionNumber (#4627) 2024-08-12 02:55:21 -07:00
Marten Seemann
f96923b5b2 logging: rename VersionNumber to Version (#4621) 2024-08-03 19:32:11 -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
ab17a5df6a qlog: rename generation to key_phase on key_updated and key_discarded (#4315) 2024-02-07 18:04:23 -08:00
Marten Seemann
07ec3245bd logging: add a Close function to the Tracer (#4298)
* logging: add a Close function to the Tracer

* close the Tracer when the Transport is closed
2024-02-02 21:12:15 -08:00
Marten Seemann
b675e34254 logging: add a Debug function to the Tracer (#4297) 2024-02-02 20:21:27 -08:00
Marten Seemann
fbaa941ea1 protocol: rename VersionNumber to Version (#4295) 2024-01-31 21:57:33 -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
9b82196578 make the logging.Tracer and logging.ConnectionTracer a struct (#4082) 2023-09-16 04:58:51 -07:00
Marten Seemann
d52e9f35bc ackhandler: detect ECN mangling (#4080)
* ackhandler: detect ECN mangling

Mangling means that a path is re-marking all ECN-marked packets as CE.

* ackhandler: only detect ECN mangling once all testing packets were sent
2023-09-11 23:18:33 -07:00
Marten Seemann
2a8dc12a53 remove duplicate mocks for the Tracer and the ConnectionTracer (#4076)
They were introduced to avoid an import loop in the tests in the logging
package, but the same can be achieved by having a dedicated package for
the tests (logging_test).
2023-09-11 23:12:13 -07: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
2797f85fc0 switch from unmaintained golang/mock to go.uber.org/mock (#4050) 2023-08-28 02:23:55 -07:00
Marten Seemann
07ad2cbee2 remove Tracer from Config, put ConnectionTracer constructor there 2023-05-02 15:56:49 +02:00
Marten Seemann
1f57d4e789 protocol: remove VersionTLS, used during the gQUIC -> TLS 1.3 transition (#3764) 2023-04-19 07:24:34 -07: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
86edf7fd4b remove the LongHeader field from the wire.Header 2023-01-17 21:53:39 +13:00
Marten Seemann
24be84cd00 introduce separate tracing calls for sent long and short header packets 2023-01-17 21:53:37 +13:00
kixelated
9540d0fed2 use go run for mockgen, goimports and ginkgo (#3616) 2022-11-11 02:11:41 -08:00
Marten Seemann
870fbe7ab0 migrate to Ginkgo v2 2022-10-11 16:38:44 +04:00
Marten Seemann
fe277dc663 log the size of buffered packets (#3571) 2022-10-11 02:27:26 -07:00
Marten Seemann
656f3d2d7d remove the wire.ShortHeader in favor of more return values (#3535) 2022-08-30 04:37:36 -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
ecc8320c2c add a tracer function to trace sending of Version Negotiation packets 2022-08-29 10:58:33 +03:00
Marten Seemann
c29276ef67 expose the Null{Connection}Tracer as types, not as variables 2022-08-27 13:08:48 +03:00
Marten Seemann
48779d053f add a logging.NullTracer 2022-08-22 13:21:35 +03:00
Marten Seemann
118a7dba5a add a logging.NullConnectionTracer
The NullConnectionTracer can be embedded, to make it easier to access just a
few of the calls.
2022-08-22 13:20:21 +03:00
Marten Seemann
e71c236232 rename the Session to Connection 2022-03-27 11:27:23 +01:00
Marten Seemann
7d5a7b47cb remove unneeded calls to goimports when generating mocks 2022-01-09 10:11:21 +04: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
592fb9cad9 introduce a dedicated qerr.TransportError and qerr.ApplicationError 2021-05-01 09:38:48 +07:00
Marten Seemann
0413afd615 Merge pull request #3153 from lucas-clemente/trace-version-selection
trace and qlog version selection / negotiation
2021-04-28 18:13:18 +07:00
Marten Seemann
eb2274bded fix doc comment for Tracer.TracerForConnection 2021-04-19 15:25:02 +07:00
Marten Seemann
e7c4e756ad trace and qlog version selection / negotiation 2021-04-19 11:38:10 +07:00
Marten Seemann
878e0b261a pass a context to logging.Tracer.NewConnectionTracer
This context has the same value attached to it as the context returned
by Session.Context().
In the case of a dialed connection, this context is derived from the
context used for dialing.
2021-04-14 16:59:36 +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
ea14ce5724 Merge pull request #3134 from lucas-clemente/trace-acked-packets
make it possible to trace acknowledged packets
2021-04-02 17:33:19 +07:00
Marten Seemann
875692ea10 add a function to trace acknowledged packets 2021-04-02 11:37:07 +07:00
Marten Seemann
e9b4f9ba07 avoid type confusion between protocol.PacketType and logging.PacketType
The enums have completely different meanings. protocol.PacketType only
defines long header types, whereas logging.PacketType defines all
different types of QUIC packets (including short header packets).
2021-03-21 12:56:52 +08:00
Marten Seemann
5208845191 introduce a logging.CloseReason for version negotiation errors 2021-03-15 13:36:45 +08:00
Marten Seemann
383f1a6e89 update gomock to v1.5.0 2021-02-20 09:33:43 +08:00
Marten Seemann
0d38dce8cd expose the constructor for the multipexed connection tracer 2021-02-09 10:54:51 +08:00
Marten Seemann
d04662a964 add a RestoredTransportParameters method to the logging interface 2021-01-15 17:13:46 +08:00
Marten Seemann
0582228e00 make it possible to log DATAGRAM frames 2020-12-09 15:31:23 +07:00