[ 
https://issues.apache.org/jira/browse/HADOOP-6884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898461#action_12898461
 ] 

Scott Carey commented on HADOOP-6884:
-------------------------------------

bq. Scott: build time - means we wouldn't be able to enable debug at runtime, 
that's a significant restriction compared to current state and limits 
troubleshooting capabilities.

Thats not what I meant.   I mean that at build time, the source code:
{code}
log.debug("hello " + "world" + "!");
{code}

can be transformed into:
{code}
if (log.isDebugEnabled()) {
  log.debug("hello " + "world" + "!");
}
{code}

The transformation can be at the source code level prior to compilation OR at 
byte code level post compilation.
Obviously, that is a longer term option.

Do we have any information about how much improved the performance is with the 
patch here?

> Add LOG.isDebugEnabled() guard for each LOG.debug("...")
> --------------------------------------------------------
>
>                 Key: HADOOP-6884
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6884
>             Project: Hadoop Common
>          Issue Type: Improvement
>    Affects Versions: 0.22.0
>            Reporter: Erik Steffl
>            Assignee: Erik Steffl
>             Fix For: 0.22.0
>
>         Attachments: HADOOP-6884-0.22-1.patch, HADOOP-6884-0.22.patch
>
>
> Each LOG.debug("...") should be executed only if LOG.isDebugEnabled() is 
> true, in some cases it's expensive to construct the string that is being 
> printed to log. It's much easier to always use LOG.isDebugEnabled() because 
> it's easier to check (rather than in each case reason whether it's necessary 
> or not).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to