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

Reply via email to