You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by lq...@apache.org on 2017/05/22 16:22:44 UTC
[2/7] qpid-broker-j git commit: QPID-7794: [Java Broker] periodically
log flow to disk statistics on VirtualHost
QPID-7794: [Java Broker] periodically log flow to disk statistics on VirtualHost
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/11a7522f
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/11a7522f
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/11a7522f
Branch: refs/heads/6.1.x
Commit: 11a7522f32d4394cf2d574917bbfad30ca15d9c7
Parents: 5920ed7
Author: Lorenz Quack <lq...@apache.org>
Authored: Mon May 22 14:18:28 2017 +0100
Committer: Lorenz Quack <lq...@apache.org>
Committed: Mon May 22 16:17:09 2017 +0100
----------------------------------------------------------------------
.../server/logging/messages/BrokerMessages.java | 120 ------------------
.../messages/Broker_logmessages.properties | 7 +-
.../server/logging/messages/QueueMessages.java | 120 ------------------
.../messages/Queue_logmessages.properties | 6 +-
.../logging/messages/VirtualHostMessages.java | 121 ++++++++++++++-----
.../messages/VirtualHost_logmessages.properties | 2 +
.../apache/qpid/server/model/BrokerImpl.java | 16 ---
.../apache/qpid/server/queue/AbstractQueue.java | 56 +--------
.../server/virtualhost/AbstractVirtualHost.java | 10 ++
9 files changed, 110 insertions(+), 348 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
index 73f3744..6998e4b 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
@@ -46,11 +46,9 @@ public class BrokerMessages
public static final String BROKER_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker";
public static final String READY_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.ready";
public static final String FAILED_CHILDREN_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.failed_children";
- public static final String FLOW_TO_DISK_ACTIVE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.flow_to_disk_active";
public static final String LISTENING_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.listening";
public static final String STARTUP_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.startup";
public static final String MANAGEMENT_MODE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.management_mode";
- public static final String FLOW_TO_DISK_INACTIVE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.flow_to_disk_inactive";
public static final String STATS_MSGS_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.stats_msgs";
public static final String PLATFORM_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.platform";
public static final String CONFIG_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "broker.config";
@@ -67,11 +65,9 @@ public class BrokerMessages
LoggerFactory.getLogger(BROKER_LOG_HIERARCHY);
LoggerFactory.getLogger(READY_LOG_HIERARCHY);
LoggerFactory.getLogger(FAILED_CHILDREN_LOG_HIERARCHY);
- LoggerFactory.getLogger(FLOW_TO_DISK_ACTIVE_LOG_HIERARCHY);
LoggerFactory.getLogger(LISTENING_LOG_HIERARCHY);
LoggerFactory.getLogger(STARTUP_LOG_HIERARCHY);
LoggerFactory.getLogger(MANAGEMENT_MODE_LOG_HIERARCHY);
- LoggerFactory.getLogger(FLOW_TO_DISK_INACTIVE_LOG_HIERARCHY);
LoggerFactory.getLogger(STATS_MSGS_LOG_HIERARCHY);
LoggerFactory.getLogger(PLATFORM_LOG_HIERARCHY);
LoggerFactory.getLogger(CONFIG_LOG_HIERARCHY);
@@ -199,64 +195,6 @@ public class BrokerMessages
/**
* Log a Broker message of the Format:
- * <pre>BRK-1014 : Message flow to disk active : Message memory use {0,number,#}KB exceeds threshold {1,number,#.##}KB</pre>
- * Optional values are contained in [square brackets] and are numbered
- * sequentially in the method call.
- *
- */
- public static LogMessage FLOW_TO_DISK_ACTIVE(Number param1, Number param2)
- {
- String rawMessage = _messages.getString("FLOW_TO_DISK_ACTIVE");
-
- final Object[] messageArguments = {param1, param2};
- // Create a new MessageFormat to ensure thread safety.
- // Sharing a MessageFormat and using applyPattern is not thread safe
- MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
-
- final String message = formatter.format(messageArguments);
-
- return new LogMessage()
- {
- public String toString()
- {
- return message;
- }
-
- public String getLogHierarchy()
- {
- return FLOW_TO_DISK_ACTIVE_LOG_HIERARCHY;
- }
-
- @Override
- public boolean equals(final Object o)
- {
- if (this == o)
- {
- return true;
- }
- if (o == null || getClass() != o.getClass())
- {
- return false;
- }
-
- final LogMessage that = (LogMessage) o;
-
- return getLogHierarchy().equals(that.getLogHierarchy()) && toString().equals(that.toString());
-
- }
-
- @Override
- public int hashCode()
- {
- int result = toString().hashCode();
- result = 31 * result + getLogHierarchy().hashCode();
- return result;
- }
- };
- }
-
- /**
- * Log a Broker message of the Format:
* <pre>BRK-1002 : Starting : Listening on {0} port {1,number,#}</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
@@ -431,64 +369,6 @@ public class BrokerMessages
/**
* Log a Broker message of the Format:
- * <pre>BRK-1015 : Message flow to disk inactive : Message memory use {0,number,#}KB within threshold {1,number,#.##}KB</pre>
- * Optional values are contained in [square brackets] and are numbered
- * sequentially in the method call.
- *
- */
- public static LogMessage FLOW_TO_DISK_INACTIVE(Number param1, Number param2)
- {
- String rawMessage = _messages.getString("FLOW_TO_DISK_INACTIVE");
-
- final Object[] messageArguments = {param1, param2};
- // Create a new MessageFormat to ensure thread safety.
- // Sharing a MessageFormat and using applyPattern is not thread safe
- MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
-
- final String message = formatter.format(messageArguments);
-
- return new LogMessage()
- {
- public String toString()
- {
- return message;
- }
-
- public String getLogHierarchy()
- {
- return FLOW_TO_DISK_INACTIVE_LOG_HIERARCHY;
- }
-
- @Override
- public boolean equals(final Object o)
- {
- if (this == o)
- {
- return true;
- }
- if (o == null || getClass() != o.getClass())
- {
- return false;
- }
-
- final LogMessage that = (LogMessage) o;
-
- return getLogHierarchy().equals(that.getLogHierarchy()) && toString().equals(that.toString());
-
- }
-
- @Override
- public int hashCode()
- {
- int result = toString().hashCode();
- result = 31 * result + getLogHierarchy().hashCode();
- return result;
- }
- };
- }
-
- /**
- * Log a Broker message of the Format:
* <pre>BRK-1009 : {0,choice,0#delivered|1#received} : {1,number,#.###} msg/s peak : {2,number,#} msgs total</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
index b74ad36..0883aef 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
@@ -49,10 +49,9 @@ MAX_MEMORY = BRK-1011 : Maximum Memory : Heap : {0,number} bytes Direct : {1,num
MANAGEMENT_MODE = BRK-1012 : Management Mode : User Details : {0} / {1}
-# 0 - Total message size
-# 1 - Target memory size
-FLOW_TO_DISK_ACTIVE = BRK-1014 : Message flow to disk active : Message memory use {0,number,#}KB exceeds threshold {1,number,#.##}KB
-FLOW_TO_DISK_INACTIVE = BRK-1015 : Message flow to disk inactive : Message memory use {0,number,#}KB within threshold {1,number,#.##}KB
+# These are no longer in use
+#FLOW_TO_DISK_ACTIVE = BRK-1014 : Message flow to disk active : Message memory use {0,number,#}KB exceeds threshold {1,number,#.##}KB
+#FLOW_TO_DISK_INACTIVE = BRK-1015 : Message flow to disk inactive : Message memory use {0,number,#}KB within threshold {1,number,#.##}KB
FATAL_ERROR = BRK-1016 : Fatal error : {0} : See log file for more information
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java
index 0e4883d..6206283 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java
@@ -49,8 +49,6 @@ public class QueueMessages
public static final String UNDERFULL_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "queue.underfull";
public static final String CREATED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "queue.created";
public static final String DELETED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "queue.deleted";
- public static final String FLOW_TO_DISK_ACTIVE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "queue.flow_to_disk_active";
- public static final String FLOW_TO_DISK_INACTIVE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "queue.flow_to_disk_inactive";
static
{
@@ -59,8 +57,6 @@ public class QueueMessages
LoggerFactory.getLogger(UNDERFULL_LOG_HIERARCHY);
LoggerFactory.getLogger(CREATED_LOG_HIERARCHY);
LoggerFactory.getLogger(DELETED_LOG_HIERARCHY);
- LoggerFactory.getLogger(FLOW_TO_DISK_ACTIVE_LOG_HIERARCHY);
- LoggerFactory.getLogger(FLOW_TO_DISK_INACTIVE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.Queue_logmessages", _currentLocale);
}
@@ -360,122 +356,6 @@ public class QueueMessages
};
}
- /**
- * Log a Queue message of the Format:
- * <pre>QUE-1015 : Message flow to disk inactive : Queue : depth {0,number,#.##} kB, threshold {1,number,#.##} kB / Broker : direct memory used {2,number,#.##} MB, threshold {3,number,#.##} MB</pre>
- * Optional values are contained in [square brackets] and are numbered
- * sequentially in the method call.
- *
- */
- public static LogMessage FLOW_TO_DISK_INACTIVE(Number param1, Number param2, Number param3, Number param4)
- {
- String rawMessage = _messages.getString("FLOW_TO_DISK_INACTIVE");
-
- final Object[] messageArguments = {param1, param2, param3, param4};
- // Create a new MessageFormat to ensure thread safety.
- // Sharing a MessageFormat and using applyPattern is not thread safe
- MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
-
- final String message = formatter.format(messageArguments);
-
- return new LogMessage()
- {
- public String toString()
- {
- return message;
- }
-
- public String getLogHierarchy()
- {
- return FLOW_TO_DISK_INACTIVE_LOG_HIERARCHY;
- }
-
- @Override
- public boolean equals(final Object o)
- {
- if (this == o)
- {
- return true;
- }
- if (o == null || getClass() != o.getClass())
- {
- return false;
- }
-
- final LogMessage that = (LogMessage) o;
-
- return getLogHierarchy().equals(that.getLogHierarchy()) && toString().equals(that.toString());
-
- }
-
- @Override
- public int hashCode()
- {
- int result = toString().hashCode();
- result = 31 * result + getLogHierarchy().hashCode();
- return result;
- }
- };
- }
-
- /**
- * Log a Queue message of the Format:
- * <pre>QUE-1014 : Message flow to disk active : Queue : depth {0,number,#.##} kB, threshold {1,number,#.##} kB / Broker : direct memory used {2,number,#.##} MB, threshold {3,number,#.##} MB</pre>
- * Optional values are contained in [square brackets] and are numbered
- * sequentially in the method call.
- *
- */
- public static LogMessage FLOW_TO_DISK_ACTIVE(Number param1, Number param2, Number param3, Number param4)
- {
- String rawMessage = _messages.getString("FLOW_TO_DISK_ACTIVE");
-
- final Object[] messageArguments = {param1, param2, param3, param4};
- // Create a new MessageFormat to ensure thread safety.
- // Sharing a MessageFormat and using applyPattern is not thread safe
- MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
-
- final String message = formatter.format(messageArguments);
-
- return new LogMessage()
- {
- public String toString()
- {
- return message;
- }
-
- public String getLogHierarchy()
- {
- return FLOW_TO_DISK_ACTIVE_LOG_HIERARCHY;
- }
-
- @Override
- public boolean equals(final Object o)
- {
- if (this == o)
- {
- return true;
- }
- if (o == null || getClass() != o.getClass())
- {
- return false;
- }
-
- final LogMessage that = (LogMessage) o;
-
- return getLogHierarchy().equals(that.getLogHierarchy()) && toString().equals(that.toString());
-
- }
-
- @Override
- public int hashCode()
- {
- int result = toString().hashCode();
- result = 31 * result + getLogHierarchy().hashCode();
- return result;
- }
- };
- }
-
private QueueMessages()
{
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties
index 3ef8370..c5c7e84 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties
@@ -26,6 +26,6 @@ DELETED = QUE-1002 : Deleted : ID: {0}
OVERFULL = QUE-1003 : Overfull : Size : {0,number} bytes, Capacity : {1,number}
UNDERFULL = QUE-1004 : Underfull : Size : {0,number} bytes, Resume Capacity : {1,number}
-# use similar number to the broker for similar topic
-FLOW_TO_DISK_ACTIVE = QUE-1014 : Message flow to disk active : Queue : depth {0,number,#.##} kB, threshold {1,number,#.##} kB / Broker : direct memory used {2,number,#.##} MB, threshold {3,number,#.##} MB
-FLOW_TO_DISK_INACTIVE = QUE-1015 : Message flow to disk inactive : Queue : depth {0,number,#.##} kB, threshold {1,number,#.##} kB / Broker : direct memory used {2,number,#.##} MB, threshold {3,number,#.##} MB
+# These are no longer in use
+#FLOW_TO_DISK_ACTIVE = QUE-1014 : Message flow to disk active : Queue : depth {0,number,#.##} kB, threshold {1,number,#.##} kB / Broker : direct memory used {2,number,#.##} MB, threshold {3,number,#.##} MB
+#FLOW_TO_DISK_INACTIVE = QUE-1015 : Message flow to disk inactive : Queue : depth {0,number,#.##} kB, threshold {1,number,#.##} kB / Broker : direct memory used {2,number,#.##} MB, threshold {3,number,#.##} MB
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java
index 39f8840..5741dd8 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java
@@ -22,6 +22,7 @@ package org.apache.qpid.server.logging.messages;
import static org.apache.qpid.server.logging.AbstractMessageLogger.DEFAULT_LOG_HIERARCHY_PREFIX;
+import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.qpid.server.configuration.BrokerProperties;
import org.apache.qpid.server.logging.LogMessage;
@@ -44,38 +45,40 @@ public class VirtualHostMessages
private static Locale _currentLocale = BrokerProperties.getLocale();
public static final String VIRTUALHOST_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost";
- public static final String CLOSED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.closed";
+ public static final String CREATED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.created";
public static final String STATS_DATA_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.stats_data";
- public static final String STATS_MSGS_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.stats_msgs";
+ public static final String ERRORED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.errored";
+ public static final String CLOSED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.closed";
public static final String FILESYSTEM_FULL_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.filesystem_full";
+ public static final String FLOW_TO_DISK_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.flow_to_disk";
public static final String FILESYSTEM_NOTFULL_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.filesystem_notfull";
- public static final String CREATED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.created";
- public static final String ERRORED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.errored";
+ public static final String STATS_MSGS_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.stats_msgs";
static
{
LoggerFactory.getLogger(VIRTUALHOST_LOG_HIERARCHY);
- LoggerFactory.getLogger(CLOSED_LOG_HIERARCHY);
+ LoggerFactory.getLogger(CREATED_LOG_HIERARCHY);
LoggerFactory.getLogger(STATS_DATA_LOG_HIERARCHY);
- LoggerFactory.getLogger(STATS_MSGS_LOG_HIERARCHY);
+ LoggerFactory.getLogger(ERRORED_LOG_HIERARCHY);
+ LoggerFactory.getLogger(CLOSED_LOG_HIERARCHY);
LoggerFactory.getLogger(FILESYSTEM_FULL_LOG_HIERARCHY);
+ LoggerFactory.getLogger(FLOW_TO_DISK_LOG_HIERARCHY);
LoggerFactory.getLogger(FILESYSTEM_NOTFULL_LOG_HIERARCHY);
- LoggerFactory.getLogger(CREATED_LOG_HIERARCHY);
- LoggerFactory.getLogger(ERRORED_LOG_HIERARCHY);
+ LoggerFactory.getLogger(STATS_MSGS_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.VirtualHost_logmessages", _currentLocale);
}
/**
* Log a VirtualHost message of the Format:
- * <pre>VHT-1002 : Closed : {0}</pre>
+ * <pre>VHT-1001 : Created : {0}</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
*
*/
- public static LogMessage CLOSED(String param1)
+ public static LogMessage CREATED(String param1)
{
- String rawMessage = _messages.getString("CLOSED");
+ String rawMessage = _messages.getString("CREATED");
final Object[] messageArguments = {param1};
// Create a new MessageFormat to ensure thread safety.
@@ -93,7 +96,7 @@ public class VirtualHostMessages
public String getLogHierarchy()
{
- return CLOSED_LOG_HIERARCHY;
+ return CREATED_LOG_HIERARCHY;
}
@Override
@@ -184,16 +187,16 @@ public class VirtualHostMessages
/**
* Log a VirtualHost message of the Format:
- * <pre>VHT-1004 : {0} : {1,choice,0#delivered|1#received} : {2,number,#.###} msg/s peak : {3,number,#} msgs total</pre>
+ * <pre>VHT-1005 : {0} Unexpected fatal error</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
*
*/
- public static LogMessage STATS_MSGS(String param1, Number param2, Number param3, Number param4)
+ public static LogMessage ERRORED(String param1)
{
- String rawMessage = _messages.getString("STATS_MSGS");
+ String rawMessage = _messages.getString("ERRORED");
- final Object[] messageArguments = {param1, param2, param3, param4};
+ final Object[] messageArguments = {param1};
// Create a new MessageFormat to ensure thread safety.
// Sharing a MessageFormat and using applyPattern is not thread safe
MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
@@ -209,7 +212,65 @@ public class VirtualHostMessages
public String getLogHierarchy()
{
- return STATS_MSGS_LOG_HIERARCHY;
+ return ERRORED_LOG_HIERARCHY;
+ }
+
+ @Override
+ public boolean equals(final Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass())
+ {
+ return false;
+ }
+
+ final LogMessage that = (LogMessage) o;
+
+ return getLogHierarchy().equals(that.getLogHierarchy()) && toString().equals(that.toString());
+
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int result = toString().hashCode();
+ result = 31 * result + getLogHierarchy().hashCode();
+ return result;
+ }
+ };
+ }
+
+ /**
+ * Log a VirtualHost message of the Format:
+ * <pre>VHT-1002 : Closed : {0}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage CLOSED(String param1)
+ {
+ String rawMessage = _messages.getString("CLOSED");
+
+ final Object[] messageArguments = {param1};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return CLOSED_LOG_HIERARCHY;
}
@Override
@@ -300,14 +361,14 @@ public class VirtualHostMessages
/**
* Log a VirtualHost message of the Format:
- * <pre>VHT-1007 : Filesystem is no longer over {0,number} per cent full.</pre>
+ * <pre>VHT-1008 : Total number of bytes evacuated from memory due to flow to disk : {0,number} bytes</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
*
*/
- public static LogMessage FILESYSTEM_NOTFULL(Number param1)
+ public static LogMessage FLOW_TO_DISK(Number param1)
{
- String rawMessage = _messages.getString("FILESYSTEM_NOTFULL");
+ String rawMessage = _messages.getString("FLOW_TO_DISK");
final Object[] messageArguments = {param1};
// Create a new MessageFormat to ensure thread safety.
@@ -325,7 +386,7 @@ public class VirtualHostMessages
public String getLogHierarchy()
{
- return FILESYSTEM_NOTFULL_LOG_HIERARCHY;
+ return FLOW_TO_DISK_LOG_HIERARCHY;
}
@Override
@@ -358,14 +419,14 @@ public class VirtualHostMessages
/**
* Log a VirtualHost message of the Format:
- * <pre>VHT-1001 : Created : {0}</pre>
+ * <pre>VHT-1007 : Filesystem is no longer over {0,number} per cent full.</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
*
*/
- public static LogMessage CREATED(String param1)
+ public static LogMessage FILESYSTEM_NOTFULL(Number param1)
{
- String rawMessage = _messages.getString("CREATED");
+ String rawMessage = _messages.getString("FILESYSTEM_NOTFULL");
final Object[] messageArguments = {param1};
// Create a new MessageFormat to ensure thread safety.
@@ -383,7 +444,7 @@ public class VirtualHostMessages
public String getLogHierarchy()
{
- return CREATED_LOG_HIERARCHY;
+ return FILESYSTEM_NOTFULL_LOG_HIERARCHY;
}
@Override
@@ -416,16 +477,16 @@ public class VirtualHostMessages
/**
* Log a VirtualHost message of the Format:
- * <pre>VHT-1005 : {0} Unexpected fatal error</pre>
+ * <pre>VHT-1004 : {0} : {1,choice,0#delivered|1#received} : {2,number,#.###} msg/s peak : {3,number,#} msgs total</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
*
*/
- public static LogMessage ERRORED(String param1)
+ public static LogMessage STATS_MSGS(String param1, Number param2, Number param3, Number param4)
{
- String rawMessage = _messages.getString("ERRORED");
+ String rawMessage = _messages.getString("STATS_MSGS");
- final Object[] messageArguments = {param1};
+ final Object[] messageArguments = {param1, param2, param3, param4};
// Create a new MessageFormat to ensure thread safety.
// Sharing a MessageFormat and using applyPattern is not thread safe
MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
@@ -441,7 +502,7 @@ public class VirtualHostMessages
public String getLogHierarchy()
{
- return ERRORED_LOG_HIERARCHY;
+ return STATS_MSGS_LOG_HIERARCHY;
}
@Override
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties
index 6bab8ec..1ea2fc2 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties
@@ -29,3 +29,5 @@ ERRORED = VHT-1005 : {0} Unexpected fatal error
FILESYSTEM_FULL = VHT-1006 : Filesystem is over {0,number} per cent full, enforcing flow control.
FILESYSTEM_NOTFULL = VHT-1007 : Filesystem is no longer over {0,number} per cent full.
+
+FLOW_TO_DISK = VHT-1008 : Total number of bytes evacuated from memory due to flow to disk : {0,number} bytes
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java b/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
index b695477..6c8b4be 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
@@ -117,9 +117,6 @@ public class BrokerImpl extends AbstractContainer<BrokerImpl> implements Broker<
private Timer _reportingTimer;
private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
- /** Flags used to control the reporting of flow to disk. Protected by this */
- private boolean _totalMessageSizeExceedThresholdReported = false, _totalMessageSizeWithinThresholdReported = true;
-
@ManagedAttributeField
private int _connection_sessionCountLimit;
@ManagedAttributeField
@@ -512,19 +509,6 @@ public class BrokerImpl extends AbstractContainer<BrokerImpl> implements Broker<
}
}
- if (totalSize > _flowToDiskThreshold && !_totalMessageSizeExceedThresholdReported)
- {
- _eventLogger.message(BrokerMessages.FLOW_TO_DISK_ACTIVE(totalSize / 1024, _flowToDiskThreshold / 1024));
- _totalMessageSizeExceedThresholdReported = true;
- _totalMessageSizeWithinThresholdReported = false;
- }
- else if (totalSize <= _flowToDiskThreshold && !_totalMessageSizeWithinThresholdReported)
- {
- _eventLogger.message(BrokerMessages.FLOW_TO_DISK_INACTIVE(totalSize / 1024, _flowToDiskThreshold / 1024));
- _totalMessageSizeWithinThresholdReported = true;
- _totalMessageSizeExceedThresholdReported = false;
- }
-
final long proportionalShare = (long) ((double) _flowToDiskThreshold / (double) vhs.size());
for (Map.Entry<VirtualHost<?>, Long> entry : vhs.entrySet())
{
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
index 93cc63b..6b77266 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
@@ -1179,8 +1179,7 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
}
long estimatedQueueSize = _atomicQueueSize.get() + _atomicQueueCount.get() * _estimatedAverageMessageHeaderSize;
- _flowToDiskChecker.flowToDiskAndReportIfNecessary(message.getStoredMessage(), estimatedQueueSize,
- _targetQueueSize.get());
+ _flowToDiskChecker.flowToDiskIfNecessary(message.getStoredMessage(), estimatedQueueSize, _targetQueueSize.get());
}
public final void recover(ServerMessage message, final MessageEnqueueRecord enqueueRecord)
@@ -2599,7 +2598,6 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
QueueEntryIterator queueListIterator = getEntries().iterator();
final long estimatedQueueSize = _atomicQueueSize.get() + _atomicQueueCount.get() * _estimatedAverageMessageHeaderSize;
- _flowToDiskChecker.reportFlowToDiskStatusIfNecessary(estimatedQueueSize, _targetQueueSize.get());
final Set<NotificationCheck> perMessageChecks = new HashSet<>();
final Set<NotificationCheck> queueLevelChecks = new HashSet<>();
@@ -3897,8 +3895,6 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
private class FlowToDiskChecker
{
- final AtomicBoolean _lastReportedFlowToDiskStatus = new AtomicBoolean(false);
-
void flowToDiskIfNecessary(StoredMessage<?> storedMessage, long estimatedQueueSize, final long targetQueueSize)
{
if ((estimatedQueueSize > targetQueueSize
@@ -3908,55 +3904,5 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
storedMessage.flowToDisk();
}
}
-
- void flowToDiskAndReportIfNecessary(StoredMessage<?> storedMessage,
- final long estimatedQueueSize,
- final long targetQueueSize)
- {
- flowToDiskIfNecessary(storedMessage, estimatedQueueSize, targetQueueSize);
- reportFlowToDiskStatusIfNecessary(estimatedQueueSize, targetQueueSize);
- }
-
- void reportFlowToDiskStatusIfNecessary(final long estimatedQueueSize, final long targetQueueSize)
- {
- final long allocatedDirectMemorySize = QpidByteBuffer.getAllocatedDirectMemorySize();
- if (estimatedQueueSize > targetQueueSize
- || allocatedDirectMemorySize > _flowToDiskThreshold)
- {
- reportFlowToDiskActiveIfNecessary(estimatedQueueSize, targetQueueSize, allocatedDirectMemorySize, _flowToDiskThreshold);
- }
- else
- {
- reportFlowToDiskInactiveIfNecessary(estimatedQueueSize, targetQueueSize, allocatedDirectMemorySize, _flowToDiskThreshold);
- }
- }
-
- private void reportFlowToDiskActiveIfNecessary(long estimatedQueueSize,
- long targetQueueSize,
- long allocatedDirectMemorySize,
- long flowToDiskThreshold)
- {
- if (!_lastReportedFlowToDiskStatus.getAndSet(true))
- {
- getEventLogger().message(_logSubject, QueueMessages.FLOW_TO_DISK_ACTIVE(estimatedQueueSize / 1024.0,
- targetQueueSize / 1024.0,
- allocatedDirectMemorySize / 1024.0 / 1024.0,
- flowToDiskThreshold / 1024.0 / 1024.0));
- }
- }
-
- private void reportFlowToDiskInactiveIfNecessary(long estimatedQueueSize,
- long targetQueueSize,
- long allocatedDirectMemorySize,
- long flowToDiskThreshold)
- {
- if (_lastReportedFlowToDiskStatus.getAndSet(false))
- {
- getEventLogger().message(_logSubject, QueueMessages.FLOW_TO_DISK_INACTIVE(estimatedQueueSize / 1024.0,
- targetQueueSize / 1024.0,
- allocatedDirectMemorySize / 1024.0 / 1024.0,
- flowToDiskThreshold / 1024.0 / 1024.0));
- }
- }
}
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/11a7522f/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
index a3ccc6d..c005863 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
@@ -1833,6 +1833,9 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
private class VirtualHostHouseKeepingTask extends HouseKeepingTask
{
+
+ private long _lastReportedBytesEvacuatedFromMemory = 0L;
+
public VirtualHostHouseKeepingTask()
{
super("Housekeeping["+AbstractVirtualHost.this.getName()+"]",AbstractVirtualHost.this,_housekeepingJobContext);
@@ -1852,6 +1855,13 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
q.checkMessageStatus();
}
}
+
+ final long currentBytesEvacuatedFromMemory = getBytesEvacuatedFromMemory();
+ if (currentBytesEvacuatedFromMemory != _lastReportedBytesEvacuatedFromMemory)
+ {
+ getEventLogger().message(VirtualHostMessages.FLOW_TO_DISK(currentBytesEvacuatedFromMemory));
+ _lastReportedBytesEvacuatedFromMemory = currentBytesEvacuatedFromMemory;
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org