Spotlight on GlassFish 4.1: #7 WebSocket Session Throttling and JMX Monitoring
By David Delabassee-Oracle on Aug 21, 2014
'Spotlight on GlassFish 4.1' is a series of posts that highlights specific enhancements of the upcoming GlassFish 4.1 release. It could be a new feature, a fix, a behavior change, a tip, etc.
#7 WebSocket Session Throttling and JMX Monitoring
GlassFish 4.1 embeds Tyrus 1.8.1 which is compliant with the Maintenance Release of JSR 356 ("WebSocket API 1.1"). This release also brings brings additional features to the WebSocket support in GlassFish.
Tyrus now exposes WebSocket metrics through JMX . In GF 4.1, the following message statistics are monitored for both sent and received messages:
- messages count
- messages count per second
- average message size
- smallest message size
- largest message size
Those statistics are collected independently of the message type (global count) and per specific message type (text, binary and control message). In GF 4.1, Tyrus also monitors, and exposes through JMX, errors at the application and endpoint level.
For more information, please check Tyrus JMX Monitoring
To preserve resources on the server hosting websocket endpoints, Tyrus now offers ways to limit the number of open sessions. Those limits can be configured at different level:
- per whole application
- per endpoint
- per remote endpoint address (client IP address)
For more details, check Tyrus Session Throttling.
The next entry will focus on Tyrus new clients-side features.