On Sun, Feb 8, 2015 at 7:15 AM, Yair Zaslavsky <yzaslavs(a)redhat.com> wrote:
----- Original Message -----
> From: "Piotr Kliczewski" <piotr.kliczewski(a)gmail.com>
> To: devel(a)ovirt.org
> Sent: Friday, February 6, 2015 3:53:54 PM
> Subject: [ovirt-devel] Engine's jvm stats via jmx and metrics
>
> Hi,
>
> During my work I found myself in situation when I realized that I have
> no clue what engine or engine's jvm is doing. I wanted to use visualvm
> [1] to monitor engine's jvm. There are two ways to monitor jvm. One of
> them is by using jstatd which is limited and the second one is jmx. I
> found a blog [2] which helped me to understand how to connect to the
> engine.
>
> In order to connect you need to run visualvm using attached script.
> Please modify JBOSS_HOME. Once visualvm is up and running you can
> click "Add jmx connection...". In connection text box please enter
> (assuming that your iptables allows 8706):
>
> service:jmx:remoting-jmx://<engine_ip>:8706
>
> and click OK. Now you can understand what is going on with engine's jvm.
>
> I am able see jvm level information but I still have no clue how well
> high level engine commands are running. I have been looking for a
> while how to integrate Metrics [3] with the engine to understand how
> engine behaves over time.
>
> I wonder if there is anyone except me interested in understanding how
> well engine is running.
>
> Thanks,
> Piotr
a. I think it is important
b. I would like to add that with Widfly + Java EE 7, and the introduction of managed
java.util.concurrent I think we should consider to move our threading infra to managed
java.util.concurrent (once we use widlfly in the project) and then you will be able to
monitor threads as well.
With my current work threading model used in the engine will change a
bit so I am looking for a way to understand what is happening with the
engine. I am happy to move to anything which will give me more
understanding how internals work.
I can think of an interim solution for now until we do.
I am happy to hear any solutions which would improve our knowledge
about how the engine work.
c. JMX is great, but what about the event notifier and the work done
on SNMP traps? why not utilize this furthermore? Or do you see this as completely two
different things and two supplementary tools?
I am not really familiar with event notifier so I am ok with using it
if it provides functionality I need. I am looking for information
which would help with day to day development and later with perf
testing. I would like to have live metrics and jvm info which would
help me to understand what is happening internally at any time. I
would like to see it as a way to monitor executed commands over a
period of time to understand how performance degrade over time.