diff --git a/jetty-documentation/src/main/asciidoc/operations-guide/old_docs/extras/statistics-handler.adoc b/jetty-documentation/src/main/asciidoc/operations-guide/old_docs/extras/statistics-handler.adoc
index b605a0656ef..e655667e6fb 100644
--- a/jetty-documentation/src/main/asciidoc/operations-guide/old_docs/extras/statistics-handler.adoc
+++ b/jetty-documentation/src/main/asciidoc/operations-guide/old_docs/extras/statistics-handler.adoc
@@ -29,60 +29,25 @@
[[statistics-handler-usage]]
==== Usage
-Jetty currently has two levels of request statistic collection:
+Jetty currently has two main statistics collection mechanisms:
-* Subclasses of `AbstractConnector` class optionally can collect statistics about connections as well as number of requests.
-* The `StatisticsHandler` class may be used to collect request statistics.
+* Instances of `ConnectionStatistics` can collect statistics for each connection of a connector.
+* The `StatisticsHandler` class may be used to collect statistics for HTTP requests.
-In addition to these, subclasses of the `SessionHandler` and `DefaultSessionCache` classes optionally can collect session statistics.
+The `StatisticsHandler` and `ConnectionStatistics` are not included in the default Jetty configuration, these need to be configured manually or enabled using the Jetty `stats` module on the command line.
+[source, screen, subs="{sub-order}"]
+....
+$ java -jar {$jetty.home}/start.jar --add-to-start=stats
+....
-`AbstractConnector`, `SessionHandler` and `DefaultSessionCache` statistics are turned off by default and must either be configured manually for each instance or turned on via JMX interface.
-The `StatisticsHandler` is not included in default Jetty configuration, and needs to be configured manually.
+In addition to these, the `SessionHandler` and `DefaultSessionCache` classes collect statistics for sessions.
+These statistics are enabled by default and are accessible via JMX interface.
_____
[NOTE]
To view statistics, you have to be able to connect to Jetty using either JConsole or some other JMX agent. See xref:using-jmx[] for more information.
_____
-[[connector-statistics]]
-==== Connector statistics
-
-Detailed statistics on connection duration and number of requests are only collated when a connection is closed.
-The current and maximum number of connections are the only "live" statistics.
-//To learn how to turn on connector statistics please see the Jetty Statistics tutorial, although this is not recommended and it is best to use a JMX agent to select statistics only when needed.
-
-The following example shows how to turn on connector statistics in Jetty xml.
-This example comes from within `jetty-http.xml`.
-
-[source, xml, subs="{sub-order}"]
-----
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- 30000
-
-
-
-
-
-
-
-
-
-----
-
[[request-statistics]]
==== Request Statistics
@@ -90,22 +55,53 @@ To collect request statistics a `StatisticsHandler` must be configured as one of
Typically this can be done as the top level handler, but you may choose to configure a statistics handler for just one context by creating a context configuration file.
You can enable the `StatisticsHandler` by activating the `stats` modules on the command line.
-[source, screen, subs="{sub-order}"]
-....
-$ java -jar {$jetty.home}/start.jar --add-to-start=stats
-....
-
Alternately, if you are making multiple changes to the Jetty configuration, you could include statistics handler configuration into your own Jetty xml configuration.
The following fragment shows how to configure a top level statistics handler:
[source, xml, subs="{sub-order}"]
----
-
-
-
-
-
-
+
+
+
+
+
+
+
+----
+
+[[connection-statistics]]
+==== Connection Statistics
+
+Detailed statistics on connection duration and number of messages are only collated when a connection is closed.
+The current and maximum number of connections are the only "live" statistics.
+
+The following example shows how to turn on connection statistics in the Jetty XML format.
+
+[source, xml, subs="{sub-order}"]
+----
+
+
+
+
+
+
+
+----
+
+A special variant of `ConnectionStatistics` called `IncludeExcludeConnectionStatistics` allows you to refine which types of connection you want to collect statistics for.
+
+The following example shows how this can be used to record statistics only for WebSocket connections.
+[source, xml, subs="{sub-order}"]
+----
+
+
+
+
+
+
+
+
+
----
[[session-statistics]]
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionCache.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionCache.java
index 33204480d8c..0e3eb5ddc04 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionCache.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionCache.java
@@ -92,10 +92,7 @@ public class DefaultSessionCache extends AbstractSessionCache
{
if (id == null)
return null;
-
- Session session = _sessions.get(id);
-
- return session;
+ return _sessions.get(id);
}
@Override
@@ -177,21 +174,18 @@ public class DefaultSessionCache extends AbstractSessionCache
@Override
public Session newSession(HttpServletRequest request, SessionData data)
{
- Session s = new Session(getSessionHandler(), request, data);
- return s;
+ return new Session(getSessionHandler(), request, data);
}
@Override
public Session newSession(SessionData data)
{
- Session s = new Session(getSessionHandler(), data);
- return s;
+ return new Session(getSessionHandler(), data);
}
@Override
public boolean doReplace(String id, Session oldValue, Session newValue)
{
- boolean result = _sessions.replace(id, oldValue, newValue);
- return result;
+ return _sessions.replace(id, oldValue, newValue);
}
}