apache / incubator-heron

Apache Heron (Incubating) is a realtime, distributed, fault-tolerant stream processing engine from Twitter
https://heron.apache.org/
Apache License 2.0
3.64k stars 598 forks source link

Enable JMX profiling on Heron Instances #1960

Open yohan233 opened 7 years ago

yohan233 commented 7 years ago

In Storm 0.9.7, we've been experimenting with enabling remote JMX profiling on Storm worker processes. Heron Instances are analogous, with the exception that they run only one topology task at a time.

In Storm we are able to use the topology.worker.childopts configuration in storm.yaml, adding the appropriate JVM options:

 -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=<port>
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=<hostname/ip>

The only change to the storm code ended up being the ability to have the value of com.sun.management.jmxremote.port be automatically set to the worker port + 1000.

billonahill commented 7 years ago

Port logic could be related to #1936 where we could potentially do something similar for debug ports.