[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rhq-commits
Subject:    [rhq] Branch 'jay-avail' - modules/core
From:       mazz <mazz () fedoraproject ! org>
Date:       2013-11-27 15:27:07
Message-ID: 20131127152707.1E9BA60DBC () fedorahosted ! org
[Download RAW message or body]

 modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java \
|   21 ++++++----  1 file changed, 13 insertions(+), 8 deletions(-)

New commits:
commit bd327772cdf65afeed256c154fe4b10c7f6e62cb
Author: John Mazzitelli <mazz@redhat.com>
Date:   Wed Nov 27 10:27:02 2013 -0500

    To reduce the memory footprint of the proxy, make logger static.
    We don't want one logger instance per proxy.

diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java \
b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
 index 40edfa7..4e14581 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
                
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/AvailabilityProxy.java
 @@ -40,11 +40,16 @@ import org.rhq.core.pluginapi.availability.AvailabilityFacet;
  * second, the next call to {@link #getAvailability()} will return the
  * calculated availability, if available.
  *
+ * With the potential of having thousands, and even tens of thousands, of instances
+ * of this proxy, we must ensure that we keep it as lean as possible to reduce
+ * memory footprint of the agent. For example, we do not create a logger object for
+ * every proxy. Instead, LOG is static. This should be OK for how this proxy is \
used. + *
  * @author Elias Ross
  */
 public class AvailabilityProxy implements AvailabilityFacet, \
Callable<AvailabilityType> {  
-    private final Log log = LogFactory.getLog(AvailabilityProxy.class);
+    private static final Log LOG = LogFactory.getLog(AvailabilityProxy.class); // \
purposefully static, don't create one per proxy  
     /**
      * How long to wait for a resource to return their availability immediately (in \
ms). @@ -177,13 +182,13 @@ public class AvailabilityProxy implements \
                AvailabilityFacet, Callable<Availabili
             } else if (availAsyncConsecutiveTimeouts == AVAIL_SYNC_TIMEOUT_LIMIT) {
                 // log one time that we are disabling synchronous checks for this \
resource  ++availAsyncConsecutiveTimeouts;
-                if (log.isDebugEnabled()) {
-                    log.debug("Disabling synchronous availability collection for [" \
+ resourceComponent + "]; [" +                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Disabling synchronous availability collection for [" \
                + resourceComponent + "]; ["
                         + AVAIL_SYNC_TIMEOUT_LIMIT + "] consective timeouts \
exceeding [" + AVAIL_SYNC_TIMEOUT + "ms]");  }
             }
         } catch (InterruptedException e) {
-            log.debug("InterruptedException; shut down is (likely) in progress.");
+            LOG.debug("InterruptedException; shut down is (likely) in progress.");
             availabilityFuture.cancel(true);
             availabilityFuture = null;
             Thread.currentThread().interrupt();
@@ -207,8 +212,8 @@ public class AvailabilityProxy implements AvailabilityFacet, \
Callable<Availabili  case DOWN:
             break;
         default:
-            if (log.isDebugEnabled()) {
-                log.debug("ResourceComponent " + resourceComponent + " \
getAvailability() returned " + type +            if (LOG.isDebugEnabled()) {
+                LOG.debug("ResourceComponent " + resourceComponent + " \
                getAvailability() returned " + type
                     + ". This is invalid and is being replaced with DOWN.");
             }
             result = DOWN;
@@ -220,8 +225,8 @@ public class AvailabilityProxy implements AvailabilityFacet, \
Callable<Availabili  if (result != last) {
             if (result == UP) {
                 if (availAsyncConsecutiveTimeouts >= AVAIL_SYNC_TIMEOUT_LIMIT) {
-                    if (log.isDebugEnabled()) {
-                        log.debug("Enabling synchronous availability collection for \
[" + resourceComponent +                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Enabling synchronous availability collection for \
                [" + resourceComponent
                             + "]; Availability has just changed from [" + last + "] \
to UP.");  }
                 }


_______________________________________________
rhq-commits mailing list
rhq-commits@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/rhq-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic