I have YourKit at work. Let me know what it is exactly you want to look at.
Or you can get a free eval for a while. I'm not sure if we have a special
deal with them for Apache or FOSS. Worth asking tho.

G

On Fri, Mar 11, 2016 at 1:56 PM, Remko Popma <[email protected]> wrote:

> Mikael,
> Your changes impact the GelfLayout class mostly, right? Any other class
> impacted that you want me to take a look at? If not and all tests pass I'd
> say just go ahead and merge into master.
>
> About testing whether it is allocation-free, there is this ticket
> LOG4J2-1295 <https://issues.apache.org/jira/browse/LOG4J2-1295> that is
> still open.
> I'm thinking the Allocation Instrumenter (
> https://github.com/google/allocation-instrumenter) would serve our
> purposes quite well here.
> I just haven't had the bandwidth to look at this in more depth. It
> probably involves running a test in a separate VM with the -agent startup
> option. Not sure if we can do that with a normal log4j junit test or
> whether the test would need to start a separate VM with the proper startup
> options and then get that the result of that process via a file or
> something... It would actually be really good if you or someone else could
> make progress on that Jira, because I currently don't have the bandwidth to
> look at it yet.
>
>
> On Sat, Mar 12, 2016 at 1:33 AM, Mikael Ståldal <[email protected]
> > wrote:
>
>> Is it OK to merge to master?
>>
>> Remko, can you help me to verify that it is properly allocation-free
>> (when using
>> <GelfLayout host="test" compressionType="OFF"/>)?
>>
>>
>> On Tue, Mar 8, 2016 at 5:36 PM, Mikael Ståldal <[email protected]
>> > wrote:
>>
>>> I did it a bit differently, but now there are unit tests for
>>> GelfLayout.encode().
>>>
>>> On Tue, Mar 8, 2016 at 3:51 PM, Remko Popma <[email protected]>
>>> wrote:
>>>
>>>> I added some tests to PatternLayoutTest, please take a look.
>>>>
>>>> On Tue, Mar 8, 2016 at 11:56 PM, Mikael Ståldal <
>>>> [email protected]> wrote:
>>>>
>>>>> I have done some work on this for GelfLayout. Please review branch
>>>>> gelf-layout-gc-free
>>>>>
>>>>> Is there any convenient way to unit-test the encode method of a
>>>>> layout? Do we do that for PatternLayout?
>>>>>
>>>>> On Wed, Feb 24, 2016 at 11:48 PM, Ralph Goers <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> I haven’t had 5 minutes to spare in 3 days. I will try to look at
>>>>>> this tonight.
>>>>>>
>>>>>> Ralph
>>>>>>
>>>>>> On Feb 24, 2016, at 3:46 PM, Gary Gregory <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>> On Tue, Feb 23, 2016 at 8:23 AM, Gary Gregory <[email protected]
>>>>>> > wrote:
>>>>>>
>>>>>>> I see we now have:
>>>>>>>
>>>>>>> org.apache.logging.log4j.core.layout.AbstractStringLayout.Serializer2
>>>>>>>
>>>>>>> Should we
>>>>>>> deprecate 
>>>>>>> org.apache.logging.log4j.core.layout.AbstractStringLayout.Serializer
>>>>>>> and reimplement everything in terms of Serializer2, even if objects are
>>>>>>> allocated?
>>>>>>>
>>>>>>
>>>>>> Thoughts on this?
>>>>>>
>>>>>> Gary
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Gary
>>>>>>>
>>>>>>> On Tue, Feb 23, 2016 at 7:59 AM, Remko Popma <[email protected]>
>>>>>>>  wrote:
>>>>>>>
>>>>>>>> Layout now extends Encoder so now it has this method:
>>>>>>>>
>>>>>>>> encode(LogEvent source, ByteBufferDestination destination)
>>>>>>>>
>>>>>>>> PatternLayout implements this method. It delegates the work of
>>>>>>>> converting the StringBuilder to bytes and writing these bytes into the
>>>>>>>> ByteBufferDestination to the TextEncoderHelper class. No objects are
>>>>>>>> created during this conversion.
>>>>>>>>
>>>>>>>> The final piece is (Rolling)RandomAccessFileAppender, whose manager
>>>>>>>> implements ByteBufferDestination. This appender calls the #encode() 
>>>>>>>> methos
>>>>>>>> on the layout (other managers still call Layout#toByteArray).
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Feb 24, 2016 at 12:47 AM, Mikael Ståldal <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> I cannot really find it.
>>>>>>>>>
>>>>>>>>> On Tue, Feb 23, 2016 at 3:59 PM, Remko Popma <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Yes, that was implemented in
>>>>>>>>>> https://issues.apache.org/jira/browse/LOG4J2-1274.
>>>>>>>>>>
>>>>>>>>>> Please also see the description and discussion in the epic
>>>>>>>>>> https://issues.apache.org/jira/browse/LOG4J2-1270.
>>>>>>>>>>
>>>>>>>>>> Sent from my iPhone
>>>>>>>>>>
>>>>>>>>>> On 2016/02/23, at 23:56, Mikael Ståldal <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>> Do we have any way to convert a StringBuilder to a byte[],
>>>>>>>>>> without any intermediate String?
>>>>>>>>>>
>>>>>>>>>> It seems like org.apache.logging.log4j.core.util.StringEncoder cannot
>>>>>>>>>> do it.
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> [image: MagineTV]
>>>>>>>>>>
>>>>>>>>>> *Mikael Ståldal*
>>>>>>>>>> Senior software developer
>>>>>>>>>>
>>>>>>>>>> *Magine TV*
>>>>>>>>>> [email protected]
>>>>>>>>>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>>>>>>>>> <http://www.magine.com/>
>>>>>>>>>>
>>>>>>>>>> Privileged and/or Confidential Information may be contained in
>>>>>>>>>> this message. If you are not the addressee indicated in this message
>>>>>>>>>> (or responsible for delivery of the message to such a person),
>>>>>>>>>> you may not copy or deliver this message to anyone. In such case,
>>>>>>>>>> you should destroy this message and kindly notify the sender by
>>>>>>>>>> reply email.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> [image: MagineTV]
>>>>>>>>>
>>>>>>>>> *Mikael Ståldal*
>>>>>>>>> Senior software developer
>>>>>>>>>
>>>>>>>>> *Magine TV*
>>>>>>>>> [email protected]
>>>>>>>>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>>>>>>>> <http://www.magine.com/>
>>>>>>>>>
>>>>>>>>> Privileged and/or Confidential Information may be contained in
>>>>>>>>> this message. If you are not the addressee indicated in this message
>>>>>>>>> (or responsible for delivery of the message to such a person), you
>>>>>>>>> may not copy or deliver this message to anyone. In such case,
>>>>>>>>> you should destroy this message and kindly notify the sender by
>>>>>>>>> reply email.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> E-Mail: [email protected] | [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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> E-Mail: [email protected] | [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
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> [image: MagineTV]
>>>>>
>>>>> *Mikael Ståldal*
>>>>> Senior software developer
>>>>>
>>>>> *Magine TV*
>>>>> [email protected]
>>>>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>>>>
>>>>> Privileged and/or Confidential Information may be contained in this
>>>>> message. If you are not the addressee indicated in this message
>>>>> (or responsible for delivery of the message to such a person), you may
>>>>> not copy or deliver this message to anyone. In such case,
>>>>> you should destroy this message and kindly notify the sender by reply
>>>>> email.
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> [image: MagineTV]
>>>
>>> *Mikael Ståldal*
>>> Senior software developer
>>>
>>> *Magine TV*
>>> [email protected]
>>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>>
>>> Privileged and/or Confidential Information may be contained in this
>>> message. If you are not the addressee indicated in this message
>>> (or responsible for delivery of the message to such a person), you may
>>> not copy or deliver this message to anyone. In such case,
>>> you should destroy this message and kindly notify the sender by reply
>>> email.
>>>
>>
>>
>>
>> --
>> [image: MagineTV]
>>
>> *Mikael Ståldal*
>> Senior software developer
>>
>> *Magine TV*
>> [email protected]
>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>
>> Privileged and/or Confidential Information may be contained in this
>> message. If you are not the addressee indicated in this message
>> (or responsible for delivery of the message to such a person), you may
>> not copy or deliver this message to anyone. In such case,
>> you should destroy this message and kindly notify the sender by reply
>> email.
>>
>
>


-- 
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