diff --git a/src/main/java/bdv/server/BigDataServer.java b/src/main/java/bdv/server/BigDataServer.java
index 027c46540ced7c204daae32997cc24cd267fc09b..c7d98cfedd613b79baa5fb59a138acf92f3771c9 100644
--- a/src/main/java/bdv/server/BigDataServer.java
+++ b/src/main/java/bdv/server/BigDataServer.java
@@ -4,6 +4,7 @@ import java.util.HashMap;
import mpicbg.spim.data.SpimDataException;
import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.ConnectorStatistics;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;
@@ -39,6 +40,10 @@ public class BigDataServer
LOG.info( "Set connectors: " + connector );
server.setConnectors( new Connector[] { connector } );
+ // Add Statistics bean to the connector
+ final ConnectorStatistics connectorStats = new ConnectorStatistics();
+ connector.addBean( connectorStats );
+
final String baseURL = "http://" + server.getURI().getHost() + ":" + port;
LOG.info( "Server Base URL: " + baseURL );
@@ -49,7 +54,7 @@ public class BigDataServer
final ContextHandlerCollection datasetHandlers = createHandlers( baseURL, dataSet );
handlers.addHandler( datasetHandlers );
- handlers.addHandler( new ManagerHandler( baseURL, server, statHandler, datasetHandlers ) );
+ handlers.addHandler( new ManagerHandler( baseURL, server, connectorStats, statHandler, datasetHandlers ) );
handlers.addHandler( new RequestLogHandler() );
statHandler.setHandler( handlers );
diff --git a/src/main/java/bdv/server/ManagerHandler.java b/src/main/java/bdv/server/ManagerHandler.java
index 839065c7f0b9881f0620fea65c3890821dddfc7f..cb50f04ea907d4072c26f12ff6eb4243132c9225 100644
--- a/src/main/java/bdv/server/ManagerHandler.java
+++ b/src/main/java/bdv/server/ManagerHandler.java
@@ -8,7 +8,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mpicbg.spim.data.SpimDataException;
-
+import org.eclipse.jetty.server.ConnectorStatistics;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
@@ -35,13 +35,16 @@ public class ManagerHandler extends ContextHandler
private final ContextHandlerCollection handlers;
private final StatisticsHandler statHandler;
+
+ private final ConnectorStatistics connectorStats;
- public ManagerHandler( String baseURL, Server server, StatisticsHandler statHandler, ContextHandlerCollection handlers )
+ public ManagerHandler( String baseURL, Server server, ConnectorStatistics connectorStats, StatisticsHandler statHandler, ContextHandlerCollection handlers )
{
this.baseURL = baseURL;
this.server = server;
this.handlers = handlers;
this.statHandler = statHandler;
+ this.connectorStats = connectorStats;
setContextPath( "/manager" );
}
@@ -95,6 +98,12 @@ public class ManagerHandler extends ContextHandler
ow.write( "<br/>\n" );
ow.write( "Bytes sent total: " + getByteSizeString( statHandler.getResponsesBytesTotal() ) + "<br/>\n" );
+ // Refer: http://download.eclipse.org/jetty/9.2.6.v20141205/apidocs/org/eclipse/jetty/server/ConnectorStatistics.html
+ ow.write( String.format( "%,d Message/sec<br/>%n", connectorStats.getMessagesOutPerSecond() ) );
+
+ ow.write( String.format( "Open connections = %,d<br/>%n", connectorStats.getConnectionsOpen() ) );
+ ow.write( String.format( "Max open connections = %,d<br/>%n", connectorStats.getConnectionsOpenMax() ) );
+
ow.write( "<H1> Datasets: </H1>\n" );
for ( final Handler handler : server.getChildHandlersByClass( CellHandler.class ) )