[ https://issues.apache.org/jira/browse/LOG4J2-1595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Remko Popma updated LOG4J2-1595: -------------------------------- Description: Review current Filter implementation classes and change them to be garbage-free where feasible. Document on the web site which filters are garbage free and which are not. h4. Current status * (-) BurstFilter (allocates, non-trivial to change) * (/) CompositeFilter (adding & removing elements produces garbage for thread safety, no allocation in steady state) - since 2.6 * (/) DynamicThresholdFilter (garbage free since 2.6) * (/) LevelRangeFilter (garbage free since 2.8) * (/) MapFilter (garbage free since 2.8, but needs LOG4J2-1683 since MapMessage allocates during filtering and logging) * (/) MarkerFilter (garbage free since 2.8) * (-) RegexFilter (not garbagefree due to JDK regex library) * (-) ScriptFilter (not garbagefree: creates new Binding object for each event) * StructuredDataFilter (TBD) * (/) ThreadContextMapFilter (garbage free since 2.8) * (/) ThresholdFilter (garbage free since 2.8) * TimeFilter (uses Calendar to calculate millisSinceMidnight for each event. Can refactor by reusing some of the FixedDateFormat logic.) was: Review current Filter implementation classes and change them to be garbage-free where feasible. Document on the web site which filters are garbage free and which are not. h4. Current status * (-) BurstFilter (allocates, non-trivial to change) * (/) CompositeFilter (adding & removing elements produces garbage for thread safety, no allocation in steady state) - since 2.6 * (/) DynamicThresholdFilter (garbage free since 2.6) * (/) LevelRangeFilter (garbage free since 2.8) * (/) MapFilter (garbage free since 2.8, but needs LOG4J2-1683 since MapMessage allocates during filtering and logging) * (/) MarkerFilter (garbage free since 2.8) * (-) RegexFilter (not garbagefree due to JDK regex library) * (-) ScriptFilter (not garbagefree: creates new Binding object for each event) * StructuredDataFilter (TBD) * ThreadContextMapFilter (creates iterator for each event to loop over the map. Easy to change by constructing ThreadContextMapFilter with an ArrayContextData instead of a Map, and overriding unrolled vararg methods) * (/) ThresholdFilter (garbage free since 2.8) * TimeFilter (uses Calendar to calculate millisSinceMidnight for each event. Can refactor by reusing some of the FixedDateFormat logic.) > (GC) Avoid allocating temporary objects in Filter implementations > ----------------------------------------------------------------- > > Key: LOG4J2-1595 > URL: https://issues.apache.org/jira/browse/LOG4J2-1595 > Project: Log4j 2 > Issue Type: New Feature > Components: Filters > Affects Versions: 2.6.2 > Reporter: Remko Popma > Assignee: Remko Popma > Fix For: 2.8 > > > Review current Filter implementation classes and change them to be > garbage-free where feasible. Document on the web site which filters are > garbage free and which are not. > h4. Current status > * (-) BurstFilter (allocates, non-trivial to change) > * (/) CompositeFilter (adding & removing elements produces garbage for thread > safety, no allocation in steady state) - since 2.6 > * (/) DynamicThresholdFilter (garbage free since 2.6) > * (/) LevelRangeFilter (garbage free since 2.8) > * (/) MapFilter (garbage free since 2.8, but needs LOG4J2-1683 since > MapMessage allocates during filtering and logging) > * (/) MarkerFilter (garbage free since 2.8) > * (-) RegexFilter (not garbagefree due to JDK regex library) > * (-) ScriptFilter (not garbagefree: creates new Binding object for each > event) > * StructuredDataFilter (TBD) > * (/) ThreadContextMapFilter (garbage free since 2.8) > * (/) ThresholdFilter (garbage free since 2.8) > * TimeFilter (uses Calendar to calculate millisSinceMidnight for each event. > Can refactor by reusing some of the FixedDateFormat logic.) -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org