You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2017/10/18 13:52:53 UTC
[3/4] qpid-broker-j git commit: QPID-7799: [Java Broker] Modify
broker and virtual host store upgraders to add statistics related context
variables and logging rules
QPID-7799: [Java Broker] Modify broker and virtual host store upgraders to add statistics related context variables and logging rules
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/d253bea1
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/d253bea1
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/d253bea1
Branch: refs/heads/master
Commit: d253bea18fb976ec7868e12e1867698211a51afb
Parents: 06a3072
Author: Alex Rudyy <or...@apache.org>
Authored: Wed Oct 18 13:41:45 2017 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Oct 18 14:52:42 2017 +0100
----------------------------------------------------------------------
.../store/BrokerStoreUpgraderAndRecoverer.java | 36 ++++++++++++++++++++
.../VirtualHostStoreUpgraderAndRecoverer.java | 34 +++++++++++++++++-
...irtualHostStoreUpgraderAndRecovererTest.java | 5 +++
3 files changed, 74 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d253bea1/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java b/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
index 3c04785..e69fe77 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
@@ -569,6 +569,7 @@ public class BrokerStoreUpgraderAndRecoverer extends AbstractConfigurationStoreU
{
if (record.getType().equals("Broker"))
{
+ boolean rebuildRecord = false;
Map<String, Object> attributes = new HashMap<>(record.getAttributes());
Map<String, String> additionalContext = new HashMap<>();
for (String attributeName : BROKER_ATTRIBUTES_MOVED_INTO_CONTEXT.keySet())
@@ -581,6 +582,20 @@ public class BrokerStoreUpgraderAndRecoverer extends AbstractConfigurationStoreU
}
}
+ if (attributes.containsKey("statisticsReportingResetEnabled"))
+ {
+ attributes.remove("statisticsReportingResetEnabled");
+ rebuildRecord = true;
+ }
+
+ if (attributes.containsKey("statisticsReportingPeriod")
+ && Integer.parseInt(String.valueOf(attributes.get("statisticsReportingPeriod"))) > 0)
+ {
+ additionalContext.put("qpid.broker.statisticsReportPattern", "messagesIn=${messagesIn}, bytesIn=${bytesIn:byteunit}, messagesOut=${messagesOut}, bytesOut=${bytesOut:byteunit}");
+
+ rebuildRecord = true;
+ }
+
if (!additionalContext.isEmpty())
{
Map<String, String> newContext = new HashMap<>();
@@ -591,6 +606,11 @@ public class BrokerStoreUpgraderAndRecoverer extends AbstractConfigurationStoreU
newContext.putAll(additionalContext);
attributes.put("context", newContext);
+ rebuildRecord = true;
+ }
+
+ if (rebuildRecord)
+ {
record = new ConfiguredObjectRecordImpl(record.getId(),
record.getType(),
attributes,
@@ -610,6 +630,22 @@ public class BrokerStoreUpgraderAndRecoverer extends AbstractConfigurationStoreU
upgradeHttpPortIfRequired(record);
}
}
+ else if (record.getType().equals("BrokerLogger"))
+ {
+ Map<String,Object> attributes = new HashMap<>();
+ attributes.put("name", "statistics-" + record.getAttributes().get("name"));
+ attributes.put("level", "INFO");
+ attributes.put("loggerName", "qpid.statistics.*");
+ attributes.put("type", "NameAndLevel");
+
+
+ final ConfiguredObjectRecord filterRecord = new ConfiguredObjectRecordImpl(UUID.randomUUID(),
+ "BrokerLogInclusionRule",
+ attributes,
+ Collections.singletonMap("BrokerLogger",
+ record.getId()));
+ getUpdateMap().put(filterRecord.getId(), filterRecord);
+ }
}
private void upgradeHttpPortIfRequired(final ConfiguredObjectRecord record)
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d253bea1/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java b/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
index 62fc386..0bf0aef 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
@@ -38,6 +38,7 @@ import org.apache.qpid.server.filter.FilterSupport;
import org.apache.qpid.server.model.AbstractConfigurationChangeListener;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.Binding;
+import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Queue;
@@ -631,9 +632,10 @@ public class VirtualHostStoreUpgraderAndRecoverer extends AbstractConfigurationS
Map<String, Object> attributes = new HashMap<>(record.getAttributes());
boolean modified = attributes.remove("queue_deadLetterQueueEnabled") != null;
Object context = attributes.get("context");
+ Map<String,Object> contextMap = null;
if(context instanceof Map)
{
- Map<String,Object> contextMap = new HashMap<>((Map<String,Object>) context);
+ contextMap = new HashMap<>((Map<String,Object>) context);
modified |= contextMap.remove("queue.deadLetterQueueEnabled") != null;
if (modified)
{
@@ -641,6 +643,20 @@ public class VirtualHostStoreUpgraderAndRecoverer extends AbstractConfigurationS
}
}
+ int brokerStatisticsReportingPeriod = ((Broker) _virtualHostNode.getParent()).getStatisticsReportingPeriod();
+ if (brokerStatisticsReportingPeriod > 0)
+ {
+ attributes.put("statisticsReportingPeriod", brokerStatisticsReportingPeriod);
+ if (contextMap == null)
+ {
+ contextMap = new HashMap<>();
+ }
+
+ contextMap.put("qpid.virtualhost.statisticsReportPattern", "${ancestor:virtualhost:name}: messagesIn=${messagesIn}, bytesIn=${bytesIn:byteunit}, messagesOut=${messagesOut}, bytesOut=${bytesOut:byteunit}");
+ attributes.put("context", contextMap);
+ modified = true;
+ }
+
if (modified)
{
record = new ConfiguredObjectRecordImpl(record.getId(), record.getType(), attributes, record.getParents());
@@ -780,6 +796,22 @@ public class VirtualHostStoreUpgraderAndRecoverer extends AbstractConfigurationS
record.getParents()));
}
}
+ else if (record.getType().equals("VirtualHostLogger"))
+ {
+ Map<String,Object> attributes = new HashMap<>();
+ attributes.put("name", "statistics-" + record.getAttributes().get("name"));
+ attributes.put("level", "INFO");
+ attributes.put("loggerName", "qpid.statistics.*");
+ attributes.put("type", "NameAndLevel");
+
+
+ final ConfiguredObjectRecord filterRecord = new ConfiguredObjectRecordImpl(UUID.randomUUID(),
+ "VirtualHostLogInclusionRule",
+ attributes,
+ Collections.singletonMap("VirtualHostLogger",
+ record.getId()));
+ getUpdateMap().put(filterRecord.getId(), filterRecord);
+ }
}
private long convertAttributeValueToLong(final String attributeName,
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d253bea1/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java
----------------------------------------------------------------------
diff --git a/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java b/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java
index cbfa362..40c11ee 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecovererTest.java
@@ -21,6 +21,7 @@ package org.apache.qpid.server.store;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.util.Arrays;
import java.util.Collections;
@@ -29,6 +30,8 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.OverflowPolicy;
import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -44,7 +47,9 @@ public class VirtualHostStoreUpgraderAndRecovererTest extends QpidTestCase
{
super.setUp();
+ final Broker broker = mock(Broker.class);
_virtualHostNode = mock(VirtualHostNode.class);
+ when(_virtualHostNode.getParent()).thenReturn(broker);
_store = mock(DurableConfigurationStore.class);
_upgraderAndRecoverer = new VirtualHostStoreUpgraderAndRecoverer(_virtualHostNode);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org