Any way to invoke code from VCL after a request has been serviced?

Reza Naghibi reza at varnish-software.com
Mon May 8 17:13:25 CEST 2017


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 <reza at varnish-software.com>
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 <rnickb731 at gmail.com> 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
>> varnish-misc at varnish-cache.org
>> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20170508/5c8fc7a1/attachment.html>


More information about the varnish-misc mailing list