[
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: [email protected]):
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: [email protected]
For additional commands, e-mail: [email protected]