Add STOMP/WebSocket stats collection

This change adds collection of stats in key infrastructure components
of the WebSocket message broker config setup and exposes the gathered
information for logging and viewing (e.g. via JMX).

WebSocketMessageBrokerStats is a single class that assembles all
gathered information and by default logs it once every 15 minutes.
Application can also easily expose to JMX through an MBeanExporter.

A new section in the reference documentation provides a summary of
the available information.

Issue: SPR-11739
This commit is contained in:
Rossen Stoyanchev
2014-07-04 15:08:52 -04:00
parent b78b2e9a03
commit ab4864da2a
10 changed files with 523 additions and 16 deletions

View File

@@ -80,7 +80,7 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@Before
public void setUp() throws Exception {
logger.debug("Setting up '" + this.testName.getMethodName() + "'");
logger.debug("Setting up before '" + this.testName.getMethodName() + "'");
this.port = SocketUtils.findAvailableTcpPort(61613);
this.responseChannel = new ExecutorSubscribableChannel();
this.responseHandler = new TestMessageHandler();
@@ -116,6 +116,7 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@After
public void tearDown() throws Exception {
try {
logger.debug("STOMP broker relay stats: " + this.relay.getStatsInfo());
this.relay.stop();
}
finally {