Before going down this rathole, I’d give v7.1.6 or v8.0.2 a spin. Remember, 
v6.x is an unsupported version, there is no more development nor any more 
releases.

Cheers,

— Leif 

> On Mar 4, 2019, at 20:00, Dk Jack <dnj0...@gmail.com> wrote:
> 
> I am using atscppapi's for my plugin. I do something like this...
> 
> Headers& headers = transaction.getClientRequest().getHeaders();
> 
> 
> 
> On Mon, Mar 4, 2019 at 6:09 PM Pushkar Pradhan
> <pprad...@verizonmedia.com.invalid> wrote:
> 
>> I am also trying to learn the TS APIs. I think you are supposed to call the
>> TS...Release if you get a reference.
>> E.g.
>>    if (TS_SUCCESS == TSHttpTxnClientReqGet(txnp, &buffer, &hdr_loc)) {
>>      TSDebug(PLUGIN_NAME, "Found client request");
>>      txn_info += R"(,"client-request":)" + collect_headers(buffer,
>> hdr_loc, TSHttpTxnClientReqBodyBytesGet(txnp));
>>      TSHandleMLocRelease(buffer, TS_NULL_MLOC, hdr_loc);
>>      buffer = nullptr;
>>    }
>> 
>> 
>>> On Mon, Mar 4, 2019 at 6:06 PM Dk Jack <dnj0...@gmail.com> wrote:
>>> 
>>> Thanks Pushkar, I'll try that...
>>> 
>>> On Mon, Mar 4, 2019 at 4:44 PM Pushkar Pradhan
>>> <pprad...@verizonmedia.com.invalid> wrote:
>>> 
>>>> Perhaps compiling with LSAN will help:  --enable-lsan           enable
>>>> stand-alone Leak Sanitizer
>>>> 
>>>> 
>>>>> On Mon, Mar 4, 2019 at 4:42 PM Bryan Call <bc...@apache.org> wrote:
>>>>> 
>>>>> Looking at the graphs it looks like your headers and http1client
>>> sessions
>>>>> are leaking.  Have you looked at this example to on how to send back
>>>> error
>>>>> messages using the C++ API:
>>>>> 
>>>> 
>>> 
>> https://github.com/apache/trafficserver/blob/master/example/cppapi/customresponse/CustomResponse.cc
>>>>> 
>>>>> -Bryan
>>>>> 
>>>>>> On Mar 4, 2019, at 3:50 PM, Dk Jack <dnj0...@gmail.com> wrote:
>>>>>> 
>>>>>> Hi,
>>>>>> I am trying to chase a memory leak issue. I am using ATS version
>>> 6.2.3
>>>>> and
>>>>>> I have a custom plugin written using the c++ API (atscppapi)
>> running
>>> on
>>>>> the
>>>>>> same server. I enabled memory dump in my configuration and sent
>>> traffic
>>>>>> into the ATS with and without my plugin for an hour. Later, I
>>> extracted
>>>>> the
>>>>>> individual memory stats and plotted the stats for each object type
>>>>> against
>>>>>> time. The link shown below contains side-by-side plots for each ATS
>>>>> object
>>>>>> type without and with my plugin (the right side figures are with my
>>>>> plugin
>>>>>> enabled).
>>>>>> 
>>>>>> 
>>> https://www.dropbox.com/s/rfszd6fnjydm8s7/ats_mem_stats_comparison.pdf
>>>>>> 
>>>>>> Without my plugin, the memory consumption increases for various
>>> objects
>>>>> in
>>>>>> the beginning and then tapers off. However, with my plugin enabled,
>>> the
>>>>>> memory consumption is higher and more erratic. I am not holding on
>> to
>>>> the
>>>>>> request in my plugin. My plugin attaches TransactionPlugin to some
>>>>>> transactions (sending back 4xx response to client). For most
>> others,
>>> it
>>>>>> lets it pass through. My plugin, doesn't allocate much memory. The
>>>> memory
>>>>>> it allocates is sort of semi-static (manages a few maps that are
>>>> updated
>>>>>> periodically). I don't anticipate my plugin's memory consumption to
>>>>>> increase with the transactions.
>>>>>> 
>>>>>> Since the presence of my plugin is the affecting the memory stats
>> of
>>>>>> internal ATS objects, I am suspecting this could result of me not
>>> using
>>>>> the
>>>>>> API correctly. Would appreciate if anyone can venture a guess as to
>>>> what
>>>>>> could be happening. Thank for help.
>>>>>> 
>>>>>> Dk.
>>>>> 
>>>>> 
>>>> 
>>> 
>> 

Reply via email to