Don't know whether there is a method to retrieve an ID for the worker. Maybe try using the PID of the process? https://stackoverflow.com/questions/35842/how-can-a-java-program-get-its-own-process-id <https://stackoverflow.com/questions/35842/how-can-a-java-program-get-its-own-process-id>
On Fri, Feb 6, 2015 at 7:47 AM, Yury Ruchin <[email protected]> wrote: > Hi, > > The worker slot ports are somewhat being statically configured for Storm > cluster ( > https://storm.apache.org/documentation/Setting-up-a-Storm-cluster.html) > and my understanding is that configured ports should not change. After all, > these ports are what workers' receive threads use when doing interprocess > communication ( > http://www.michael-noll.com/blog/2013/06/21/understanding-storm-internal-message-buffers/ > ). > > I think it can (and should) be checked experimentally, by killing worker > process and observing which port will the worker re-created by supervisor > occupy. > > Regards, > Yury > > 2015-02-05 22:01 GMT+03:00 Chinmay Soman <[email protected]>: > >> Hey all, >> >> I'm trying to monitor the CPU/memory usage per worker (or JVM). The way >> we're doing this in our setup is to send these metrics for the registered >> metric name using a Graphite reporter. Currently, this metric name is >> constructed using the following components: >> >> <topology-specific-name>.class-name.metric-name.componentID.taskID >> >> The problem with this naming is that each task redundantly reports the >> same value (in case of JVM related metrics). What I really want is one >> metric per worker instead of per task. >> >> Is there any way to get a logical worker ID ? From the documentation it >> seems like there is a worker port (which probably keeps changing). Or is >> there a better way to do this ? >> >> Please let me know. >> >> -- >> Thanks and regards >> >> Chinmay Soman >> > >
