That's the way to do it in a vmod, indeed. However Ryan, I don't get why you are reluctant to use the logs. By using the c api, you can just define callbacks and get called everything a request/transaction ends, so you don't need to read regularly. -- Guillaume Quintard
On May 8, 2017 17:45, "Reza Naghibi" <[email protected]> wrote: You can do this in a VMOD via PRIV_TASK: -- Reza Naghibi Varnish Software On Fri, May 5, 2017 at 10:15 PM, Ryan Burn <[email protected]> wrote: > Hello, > From VCL, is it possible to execute code that runs after a request has > been processed? > > I'm looking into writing a module that enables Varnish for distributed > tracing using the OpenTracing project [opentracing.io]. This requires > invoking code at the beginning of a request to start a span and insert > tracing context into the request's headers and invoking code after a > request's been processed to finish the span and measure how long it > took to process. > > I recently did a similar project for nginx > [github.com/rnburn/nginx-opentracing]. Nginx provides an > NGX_HTTP_LOG_PHASE [www.nginxguts.com/2011/01/phases/] that allows you > to set up handlers run after requests are serviced. Can anything > equivalent be done using VCL? > > I image you could accomplish this by subscribing and regularly reading > from Varnish's shared memory log, but I'd much rather do it directly > if possible. > > Thanks, Ryan > > _______________________________________________ > varnish-misc mailing list > [email protected] > https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc > _______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
_______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
