<div dir="ltr"><div dir="ltr">Hi Dridi,<div><br></div><div>Can you give me a list of log records you need to collect?  <br></div><div><br></div><div><div>SLT_Timestamp :</div><div>SLT_ReqStart :</div><div>SLT_ReqMethod :</div><div>SLT_ReqURL:</div><div>SLT_ReqProtocol :</div><div>SLT_RespStatus :</div><div>SLT_ReqHeader :</div><div>SLT_RespHeader :</div><div>SLT_ReqAcct :</div><div>SLT_BereqAcct :</div><div>SLT_VCL_Log : </div></div><div><br></div><div>And<br>possibly how you are trying to group them if they come from different<br>transactions? </div><div><b>I am reading based xid ( by FD ). Means reading full records per fd.</b></div><div><br></div><div>Please let me know if any other information I can provide..</div><div><br></div><div><br></div><div>If this is not related to my problem still I am curious to know how grouping is happening. You can point out some code or links with some details, I will go through.</div><div> <br></div><div>Thank you</div><div>Hardik</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 19 Mar 2019 at 00:43, Dridi Boukelmoune <dridi@varni.sh> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Mar 18, 2019 at 5:53 PM Hardik <<a href="mailto:hetardik.p@gmail.com" target="_blank">hetardik.p@gmail.com</a>> wrote:<br>
><br>
> Hi Dridi,<br>
><br>
> I am reading few tags for Billing purpose. I have added VMOD for this.In vmod currently I was passing "-g session" option to varnish callback function. But I found out that not getting ReqAcct tag. Also I am missing lots of logs itself.<br>
><br>
> After with discussion with you guys it seems problem is due to "-g session" option. So I removed that and tested again and looks better then before. Reduced frequency of missing ReqAcct and Log loss decreased a lot.<br>
><br>
> Now, my doubt, Is it better not to use any option and keep default setting, or to use -c option ? So I can minimize log loss as many as I can.<br>
><br>
> Here is small from vmod which is reading shared memory (it was lot easier in varnish 3 because I was able to call dispatch function directly),<br>
> vut =  VUT_Init(argv[0], 1, argv, &s);<br>
> vut->dispatch_f = VarnishLog::handler;<br>
> vut->dispatch_priv = this;<br>
> vut->g_arg = 3;  <----  I commented out this now ( -g session )<br>
> vut->sighup = 1;<br>
> vut->sighup_f = VarnishLog::sighup;<br>
> VUT_Setup(vut);<br>
> VUT_Main(vut);<br>
> VUT_Fini(&vut);<br>
<br>
So you wrote your own log utility in C++? Wow!<br>
<br>
> I can not change above whole setup but can modify few things in that.<br>
><br>
> Now, If you can answer previous questions will be really helpful. Particularly how -g session option creating problem ?<br>
<br>
Sorry but this is not what I was looking for. [1]<br>
<br>
Can you give me a list of log records you need to collect? And<br>
possibly how you are trying to group them if they come from different<br>
transactions? There's a lot we can do without building a new utility.<br>
<br>
Dridi<br>
<br>
[1] <a href="http://xyproblem.info/" rel="noreferrer" target="_blank">http://xyproblem.info/</a><br>
</blockquote></div>