You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Remko Popma (JIRA)" <ji...@apache.org> on 2016/04/18 17:56:25 UTC
[jira] [Comment Edited] (LOG4J2-1334) Garbage-free synchronous
logging: add LogEventFactory that reuses a cached LogEvent
[ https://issues.apache.org/jira/browse/LOG4J2-1334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244659#comment-15244659 ]
Remko Popma edited comment on LOG4J2-1334 at 4/18/16 3:55 PM:
--------------------------------------------------------------
I made good progress on this ticket in the last week. Still to do:
(/) I need to add more unit tests for MutableLogEvent and the ReusableLogEventFactory.
(-) Two of the current unit tests fail when I enable synchronous garbage-free logging: CsvParameterLayoutTest and LoggerTest.paramWithExceptionTest(). Both are related to LOG4J2-1342: passing on parameters in a (reusable) ParameterizedMessage from the application thread to the asynchronous background thread.
(-) The new GcFreeMixedSyncAyncLoggingTest fails because AsyncLoggerConfigDisruptor#prepareEvent allocates objects.
(-) Started working on a latency test to compare garbage-free logging to classic logging.
was (Author: remkop@yahoo.com):
I made good progress on this ticket in the last week. Still to do:
- I need to add more unit tests for MutableLogEvent and the ReusableLogEventFactory.
- Two of the current unit tests fail when I enable synchronous garbage-free logging: CsvParameterLayoutTest and one more (forgot which). Both are related to LOG4J2-1342: passing on parameters in a ParameterizedMessage from the application thread to the asynchronous background thread.
- The new GcFreeMixedSyncAyncLoggingTest fails because objects are still being allocated somewhere when enqueueing a MutableLogEvent.
- Started working on a latency test to compare garbage-free logging to classic logging.
> Garbage-free synchronous logging: add LogEventFactory that reuses a cached LogEvent
> -----------------------------------------------------------------------------------
>
> Key: LOG4J2-1334
> URL: https://issues.apache.org/jira/browse/LOG4J2-1334
> Project: Log4j 2
> Issue Type: Improvement
> Components: Core
> Affects Versions: 2.5
> Reporter: Remko Popma
> Assignee: Remko Popma
> Fix For: 2.6
>
>
> Until now I kept the scope of the garbage-free logging epic LOG4J2-1270 limited to asynchronous logging with all loggers asynchronous. This seemed a natural thing to do since async loggers already have pre-allocated all LogEvent instances.
> Now that LOG4J2-1270 is nearing completion it looks as if the only thing that is required to allow synchronous logging to be garbage-free is a reusable LogEvent implementation, stored in a ThreadLocal. This ticket is to analyse and track the work for this option.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org