Nikhil created LOG4J2-1048:
------------------------------

             Summary: FileConfigurationMonitor - High CPU usage
                 Key: LOG4J2-1048
                 URL: https://issues.apache.org/jira/browse/LOG4J2-1048
             Project: Log4j 2
          Issue Type: Bug
          Components: Configurators, Core
    Affects Versions: 2.3
            Reporter: Nikhil


I am observing some high system CPU usage as a result of high number of calls 
to System.currentTimeMillis() in FileConfigurationMonitor.checkConfiguration() 
method.

The checkConfiguration() method is called as part of Logger's every 
log/logIfEnabled and isEnabled method, therefore getting called thousands of 
times in my application when under moderate load. Each one of these calls 
therefore results in calling System.currentTimeMillis().

The following code change, where the currentTimeMillis() is called only when 
required seemed to reduce the cpu load

-final long current = System.currentTimeMillis();-
-if(((counter.incrementAndGet() & MASK) == 0) && (current >= nextCheck))-

Fixed as
{code}
 final long current;
        if (((counter.incrementAndGet() & MASK) == 0) && ((current = 
System.currentTimeMillis()) >= nextCheck)) {
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to