I agree this should be configurable.

My thinking was to avoid consuming too much memory with the RingBuffer: if
an occasional huge message causes the StringBuilder to grow this memory
would be held on forever by the RingBuffer. Not sure what the sweet spot is
here.

Some numbers:
In GC-free mode, there are 8000 slots in the ring buffer and each slot has
a StringBuilder to hold a reusable message.
We initially size these StringBuilders to be 128 characters, so 256 bytes.
256 * 8000 = 2 MB of memory consumed by the StringBuilders in the
RingBuffer (4MB if they all resize).




On Tue, Mar 15, 2016 at 7:49 AM, Gary Gregory <[email protected]>
wrote:

> I think we just need a reasonable default and it must be configurable.
>
> Here, I have a lot of cases where objects are toString()'ed in DEBUG and
> TRACE mode and that usually blows away a 258 limit.
>
> Gary
>
> On Mon, Mar 14, 2016 at 1:44 PM, Matt Sicker <[email protected]> wrote:
>
>> OpenJDK uses 8192 byte buffers internally a lot last time I checked.
>> Might be overkill, though 258 does sound pretty low.
>>
>> On 14 March 2016 at 15:41, Gary Gregory <[email protected]> wrote:
>>
>>> Hi all,
>>>
>>> I've seem commits with a StringBuilder limit of 258 characters as
>>> opposed to 1024 in the abstract string layout. Why the difference? Because
>>> the former is in a ring buffer?
>>>
>>> A casual check of my logs show line lengths of >259 as pretty common.
>>>
>>> Gary
>>>
>>> --
>>> E-Mail: [email protected] | [email protected]
>>> Java Persistence with Hibernate, Second Edition
>>> <http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>
>>
>>
>> --
>> Matt Sicker <[email protected]>
>>
>
>
>
> --
> E-Mail: [email protected] | [email protected]
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>

Reply via email to