Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-3578

Rearrange Client Session processing to give access to socket at SSN_CLOSE for all protocols

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 6.0.0
    • HTTP, HTTP/2, SPDY

    Description

      I wanted to use the tcpinfo plugin to look at the kernel measured RTT. Unfortunately, there was really only visibility for HTTP/1.x. Not HTTP/2 or SPDY. In the H2 and SPDY cases, the underlying NetVC is a PluginVC and does not have access to the underlying socket.

      With HTTP/2, the SSN_CLOSE hook would trigger, but by the time the SSN_CLOSE hook would go off, the netVC had already been closed.

      I propose making the following changes.

      1. Make SpdyClientSession a subclass of ProxyClientSession, so SSN_CLOSE_HOOK can be triggered there too.

      2. Rearrange the hook calling and net vc close so the SSN_CLOSE hook is called before the net vc is closed.

      I've made both changes on my dev build, and in my simple tests, the tcpinfo plugin is recording times for traffic on top of HTTP/1.1, SPDY, and HTTP/2.

      Since this involves rearranging some of the bowels of the protocol processing, I'll set up a pull request for broader review.

      Attachments

        Issue Links

          Activity

            People

              shinrich Susan Hinrichs
              shinrich Susan Hinrichs
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: