Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Websocket for the optional collect server #913

Open
evernat opened this issue May 8, 2020 · 0 comments
Open

Websocket for the optional collect server #913

evernat opened this issue May 8, 2020 · 0 comments

Comments

@evernat
Copy link
Member

evernat commented May 8, 2020

Preliminary note : The collect server is optional. In most cases, the javamelody monitoring is used from monitored webapps without using a collect server.

The optional collect server currently needs to call the monitored webapps using http to :

  • collect data every minute (configurable),
  • run actions on demand, such as run GC, take heap dump or clear a cache, when asked by a user from the collect server UI,
  • collect specific data on demand, such as currently executing requests, heap histogram, http sessions, database reports, MBeans, etc when asked by a user from the collect server UI.

The monitored webapps may be able to call the optional collect server using http, but the collect server calls to the monitored webapps are not always possible because of firewalls, for example when the collect server is in the cloud. See #254.
To find a solution for this case, it may help if the monitored webapps open connections to the collect server using full-duplex websocket.
The subject of this enhancement is full-duplex websocket connections started from the monitored webapps to the optional collect server, without opening http connections from the collect server.

Note : a monitored webapp can already register itself into a collect server when starting, but the collect server still calls the monitored webapp using http.
Note : the war file of the collect server may be deployed in Tomcat and Tomcat supports websocket, like Jetty. The embedded server of the collect server does not currently support websocket, but it could.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant