3 Replies Latest reply on Apr 15, 2008 9:50 PM by Andreas Watler

    Monitoring Console

    Andreas Watler Newbie


      I have a question about how the Monitoring Console works.

      I wanted to do some performance tests / comparisons with the console,
      so I'm especially interested in the processing times of actions (and later smooks transformations).

      To start the tests I have files that I drop into the ESB, resulting in messages
      passing through my services.
      I tested now with a file that generates 20 messages, so i expected to have 20 processing time result for one particular action.
      But I had only two entries, both exactly the same value.

      So I first thought, not all messages where registered by the Monitoring Console
      (I see the messages pass through the action because of console output),
      perhaps because the messages are being generated too fast.

      I then waited a few minutes and got further processing time-entries,
      without any messages passing through the services at all.
      All these entries have exactly the same value.
      I know from earlier tests that at some point these values change,
      but haven't yet figured out, when that happens.

      On the other hand, when I drop a file that produces only a single message,
      I get one entry, each time with a different value.
      So in this case it seems to work just fine.

      So my questions are:
      - Does the Monitoring Console register some control messages here
      (because entries appear without any messages being sent)?
      - Why doesn't the console register all of my messages I actually sent on the ESB,
      when I use a file that results in multiple messages?
      Does the Monitoring Console miss messages, when they pass through in to short intervals?
      - Why is it, that so much of the values are exactly the same?

      I could do my test using many files that produce one message,
      and dropping these files one at a time.
      But that would take allot of time, and I would really like to avoid that.

      Thanks for the help

        • 1. Re: Monitoring Console
          Andreas Watler Newbie

          By the way...

          ...when i drop in a few files at the same time, each generating a message,
          I only get one entry, too.

          So it really seems the messages come to fast for the Monitoring Console to recognize them.


          • 2. Re: Monitoring Console
            Tom Cunningham Master

            Hi Andreas,

            The monitoring console does scheduled collections of statistics from the nodes based on a configurable polling time - by default it is 10 minutes, but it can be easily adjusted downwards (see the jboss.esb:service=DataFilerScheduler MBean in jmx-console to adjust this), or you can force a collection manually. I think that is why you're only seeing two entries. You're not going to see an entry for each message you pass through, but you should see accurate counts for messages passing through your actions and services.

            If you need higher-precision benchmarking times than what you are seeing - or instant results, I'd suggest adding benchmarking times to the action itself, or possibly surrounding the action you are interested in benchmarking in the action chain with a custom benchmarking action.

            I would be very interested in hearing what your wishlist of benchmarking functions is - measurement and management is something we are actively working on and this is something we'd like to improve upon. Take a look at this blog entry to see the directions we're going with governance and tooling:


            • 3. Re: Monitoring Console
              Andreas Watler Newbie


              I knew that polling time, but thought that the data was still collected somewhere.
              Well, what I want to do is compare different transformation methods.
              Some of them using some kind of Smooks transformations, some don't.

              For this I want feed the pipeline with lots of different messages,
              so I can calculate good averages for processing times.
              Of course I don't want to wait after each message I sent into the ESB,
              just to get multiple values.

              Since I already have a setup where my transforming actions are surrounded
              with other actions, I started building my own benchmark stuff now.
              Any suggestions on how to do this, perhaps using some of the ESB features would be welcome.