[PATCH] HTTP/2: add debug logging of control frames

Valentin V. Bartenev vbart at nginx.com
Mon Apr 17 18:56:55 UTC 2017


On Friday 07 April 2017 14:42:07 Piotr Sikora via nginx-devel wrote:
> Hey Valentin,
> 
> > You can always find these values in configuration, and I can't remember a case where
> > I've ever needed them.  On the contrary, there's always a problem with the huge size
> > of typical http/2 debug log.  So it's not a good idea to add something just because
> > we can.
> 
> As someone who spent the last few days debugging HTTP/2
> interoperability issues, looking at those debug logs, I strongly
> disagree.
> 
> Also, NGINX's HTTP/2 debug log is really nice (other than the lack of
> "recv" prefix [1]) and can be used as a transcript of HTTP/2 exchange,
> which can be shared with people that don't use NGINX, in which case
> having SETTINGS values there is critical.

I actually agree with that, but let's try to reduce the size of printing.

  http2 send SETTINGS frame MAX_CONCURRENT_STREAMS
  http2 send SETTINGS frame INITIAL_WINDOW_SIZE
  http2 send SETTINGS frame MAX_FRAME_SIZE

This looks like too verbose for just one SETTINGS frame.  Also, literally
reading these lines can be misinterpreted as sending multiple SETTINGS
frames.


> 
> Actually, I have local patch that adds even more debugging for
> SETTINGS frame (I'll squash it into this one and send to the mailing
> list shortly).
> 
> [1] btw: Would you accept patch that adds "recv" prefix to all
> received frames? This would allow for easy "http2 send|http2 recv"
> grep for HTTP/2 transcript, and would align frame recv/send messages.
> 

Sounds good.

  wbr, Valentin V. Bartenev



More information about the nginx-devel mailing list