Sorry, email misfire. You can do this in a VMOD via PRIV_TASK:
https://varnish-cache.org/docs/trunk/reference/vmod.html#private-pointers It might make sense to track this stuff in some kind of struct, in which case, put it into *priv and then register a *free callback. Otherwise, just put a dummy value into the *priv. *free will get called after the request is done and you can put your custom code in there. -- Reza Naghibi Varnish Software On Mon, May 8, 2017 at 11:10 AM, 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
