MEDIUM: mux-h2/trace: add lots of traces all over the code
All functions of the h2 data path were updated to receive one or multiple TRACE() calls, at least one pair of TRACE_ENTER()/TRACE_LEAVE(), and those manipulating protocol elements have been improved to report frame types, special state transitions or detected errors. Even with careful tests, no performance impact was measured when traces are disabled. They are not completely exploited yet, the callback function tries to dump a lot about them, but still doesn't provide buffer dumps, nor does it indicate the stream or connection error codes. The first argument is always set to the connection when known. The second argument is set to the h2s when known, sometimes a 3rd argument is set to a buffer, generally the rxbuf or htx, and occasionally the 4th argument points to an integer (number of bytes read/sent, error code). Retrieving a 10kB object produces roughly 240 lines when at developer level, 35 lines at data level, 27 at state level, and 10 at proto level and 2 at user level. For now the headers are not dumped, but the start line are emitted in each direction at user level. The patch is marked medium because it touches lots of places, though it takes care not to change the execution path.
This commit is contained in:
parent
db3cfff200
commit
7838a79bac
685
src/mux_h2.c
685
src/mux_h2.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user