- From: Alcides Viamontes E <alcidesv@shimmercat.com>
- Date: Thu, 28 Jul 2016 16:55:42 +0200
- To: Stefan Eissing <stefan.eissing@greenbytes.de>
- Cc: Cory Benfield <cory@lukasa.co.uk>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAAMqGzbxSQaM7fMcku-YHb+T0uBZprYEvaeTwnN3vxvg9mXm4w@mail.gmail.com>
This is a nice debugging asset! But looking forward to a more generic
mechanism that could be used leveraged by application servers and by
web-applications, it could be possible to just leverage the "Forwarded"
HTTP extension (RFC 7239).
We do something like that for some bits and pieces :
https://www.shimmercat.com/en/info/articles/forwarded-header/
On Thu, Jul 28, 2016 at 4:00 PM, Stefan Eissing <
stefan.eissing@greenbytes.de> wrote:
> Thanks, Cory!. Apache will offer this as a configurable handler and I will
> make a beta available via github soon. Currently outputs lacks individual
> streams and looks like this:
> {
> "settings": {
> "SETTINGS_MAX_CONCURRENT_STREAMS": 100,
> "SETTINGS_MAX_FRAME_SIZE": 16384,
> "SETTINGS_INITIAL_WINDOW_SIZE": 65535,
> "SETTINGS_ENABLE_PUSH": 1
> },
> "connFlowIn": 2147483647,
> "connFlowOut": 12571993,
> "sentGoAway": 0,
> "in": {
> "requests": 63,
> "resets": 0,
> "frames": 134,
> "octets": 3831
> },
> "out": {
> "responses": 62,
> "frames": 130,
> "octets": 13754
> },
> "push": {
> "cacheDigest": "AQib_wA",
> "promises": 1,
> "submits": 1,
> "resets": 0
> }
> }
>
> -Stefan
>
> > Am 28.07.2016 um 14:38 schrieb Cory Benfield <cory@lukasa.co.uk>:
> >
> > All,
> >
> > During the HTTP workshop earlier this week, several HTTP/2 implementers
> expressed a desire to extract information about the state of the H2
> connection from the perspective of their peer. This would be extremely
> useful when developing, debugging, and testing implementations: given that
> HTTP/2 is so highly stateful the vast majority of interoperability issues
> come from implementations disagreeing about what the state of the
> connection is (usually flow control windows!).
> >
> > Brad Fitzpatrick and I ended up prototyping a sample approach for
> getting this information out of server implementations, based on issuing a
> GET request to a specific well-known URI. This GET would return a JSON
> document that contains various different pieces of information from inside
> the implementation, such as window sizes and stream states. In addition, to
> help debug flow control concerns, the response headers also include
> information about flow control windows (because if a server believes it is
> blocked behind flow control it can’t send the JSON document, but it can
> send the response headers). Examples of this behaviour are available at
> https://http2.golang.org/.well-known/h2interop/state and
> https://shootout.lukasa.co.uk/.well-known/h2interop/state.
> >
> > The consensus amongst the implementers we spoke to were that this was a
> good idea, and it would be good to collaborate on the information that
> should be exposed here. For most HTTP/2 implementers one of the most
> natural ways to collaborate on something like this is to use an Internet
> Draft. For that reason, I have submitted the outline of a draft that
> essentially defines what Brad and I have already done. You can find this
> draft here:
> https://tools.ietf.org/html/draft-benfield-http2-debug-state-00
> >
> > I have no expectation that this will become a WG document. However, I’d
> like to bring it to the attention of the working group to ensure that as
> many implementers as possible can provide feedback on whether this kind of
> approach is valuable or not, and what information they’d like made
> available in this kind of mode.
> >
> > For anyone who wants to contribute, raise issues, or otherwise help with
> the draft, it is hosted on GitHub:
> https://github.com/python-hyper/draft-http2-debug-state. Issues and pull
> requests are more than welcome, as is feedback on this list.
> >
> > Thanks,
> >
> > Cory
>
>
>
--
Alcides Viamontes E.
Chief Executive Officer, Zunzun AB
(+46) 722294542
(www.shimmercat.com is a property of Zunzun AB)
Received on Thursday, 28 July 2016 14:56:12 UTC