[
https://issues.apache.org/jira/browse/METRON-2195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16896360#comment-16896360
]
Michael Miklavcic commented on METRON-2195:
-------------------------------------------
{quote}My next question is does anybody have a prioritised list of performance
sensitive areas I should be hunting through to update to the new logging
wrapper?
{quote}
I would look at the writers, for starters. Beyond that, I think it's going to
be a trial and error exercise. Minimally, address the HDFSWriter logging
statement in the original example. One option that's a bit brute force could be
doing a grep in the full code base on LOG.trace( and LOG.debug( and looking for
any obvious complex calls. I just ran this locally and trace appears to be
quite manageable. grep --include *.java -R LOG.trace .|wc -l
50
Debug came up with 264 results, but that's still not egregious to look for low
hanging fruit. I agree with your conclusion that we should not worry as much
about "error" logging, because those are typically already gated by try/catch
blocks.
One additional note about this API - I think we need to be conspicuously clear
that this is a temporary solution and add appropriate javadoc warnings to the
interface that references this ticket. We might also consider adopting the
Hadoop API annotation approach (i.e. @ Unstable), but that's probably overkill
for a private API. The last piece of this should be to create a Jira for
upgrading SLF4J. Here's an example for upgrading JUnit -
https://issues.apache.org/jira/browse/METRON-2037
> Add defensive log level checks when constructing logs is expensive
> ------------------------------------------------------------------
>
> Key: METRON-2195
> URL: https://issues.apache.org/jira/browse/METRON-2195
> Project: Metron
> Issue Type: Improvement
> Reporter: Otto Fowler
> Assignee: Dale Richardson
> Priority: Critical
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> There are instances where we log, and output strings for json objects and
> other things that are quite expensive.
> These are done regardless of the log level being enabled and can increase
> performance significantly:
> https://gist.github.com/mmiklavc/7fd6af13bfa0ca05d9b3f4e7806c8d77
> https://github.com/apache/metron/blob/master/metron-platform/metron-writer/metron-writer-storm/src/main/java/org/apache/metron/writer/hdfs/HdfsWriter.java#L127
> We need to find places where this happens, and employ the best practice check
> for the log level being enabled ( best practice if your parameters or log
> message construction takes a lot of time ).
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)