Scalable java performance monitoring tool


Performance and scalability: Scalable java performance monitoring tool

  1. Scalable java performance monitoring tool (14 messages)

    This has been posted before in this forum, but I did not find any satisfactory answers.
    Looking for a monitoring and diagnostic tool to use during load tests in our QA and pre-production environments.
    There are several types of problems which appear only after sustained usage in production or load testing such as
    - Increased memory footprint
    - Intermittent slowdowns with increasing response times
    We use JProbe and Optimizeit in our development environments and for unit testing and profiling.
    However their overhead does not permit them to be used in the the load tests.

    Any suggestions for tools which can track resource and memory consumption by process/request/method?
  2. I am using Wiley Introspect and e-jTechnologies JProfiler for my WebSphere Portal applications.

    Both tracks resource and memory consumption by process/request/method. I would suggest to use Wiley Introspect in QUAL/Pre-PROD (Staging) environment as it is non-intrusive. While I would use ejTechnologies JProfiler in DEV environment as it uses JVMPI attaching to JVM process.

    Hope this helps...
  3. I've used Wiley Introscope before on WebSphere and Weblogic app servers. Simply fantastic tool. Highly recommended.

    OptimizeIt, you CAN trim down things it monitors. For just GC collections, I've used just jvmstat bundled with java 5. Many JMX monitoring tools are also available.

    Nice thing about Wiley (Especially in regards to WebSphere) are the canned reports for things like SQL statements, external calls, etc.
  4. Try the eG Java Monitoring tool - see

    Low overhead, works with any J2EE application server or standalone applications. An online demonstration is available at

  5. You can try Auptyma's Java Application Monitor.
    It is a direct memory sampling tool which does not use bytecode instrumentation/JVMPI/JVMTI. So it is very low overhead. There is a free trial available for Linux and Solaris.


  6. Hi,

    You should really check out JXInsight which was recently tested alongside other APM solutions for one of the biggest EJB/CORBA based applications in Europe that powers the postal sorting distribution system. JXInsight was the only solution found to NOT crash the application servers or introduce an unacceptable performance overhead.

    JXInsight has one of the most impressive performance visualization management consoles. Our extensible trace API has integrations for many technologies and products. HP OpenView has used the extensibility of the product to deliver a distributed tracing and profiling solution for their next generation products starting with HP OpenView ServiceDesk 5.0 which was only just announced this week. By integrating their own tracing framework with ours they deliver a powerful management console to all SD 5.0 customers.

    Performance Insight Articles:


    William Louth
    JXInsight Product Architect

    "J*EE tuning, testing and tracing with JXInsight"
  7. Try Mercury's Diagnostics tools. They have a range of diagnostics tools for development, testing (including LoadRunner integrations), and production monitoring. You can download a free version of their development profiler from
    Note that this is free for development purposes. For production monitoring, they have another tool that is a bit more feature-rich than their development version. Feel free to contact me directly if you'd like more info.

    Clay Roach
    J2EE 911

    Nor as full featured, maybe, but works with most JDKs and has really low overhead. Very simple to use, too.
  9. There is this one --
  10. Try using JAMon[ Go to top ]

    refer to

    The Java Application Monitor (JAMon) is a free, simple, high performance, thread safe, Java API that allows developers to easily monitor production applications. JAMon can be used to determine application performance bottlenecks, user/application interactions, track application scalability, and more. JAMon 1.0 gathers aggregate performance statistics such as hits, execution times (total, average, minimum, maximum, standard deviation), as well as concurrency information such as simultaneous application requests
  11. Only looking at the app server? Why? Does it exist in a vaccuum? no, nothing does. OPNET's Panorama provides statistical correlation on performance changes across tiers, taking the heavy lifting of "manual analysis" out of the equation for you. how do you know if db issues are the cause or symptom of performance changes you see on your app server? is there a particular or JSP/servlet that is consuming more resources on one system and having a trickle effect across your end-to-end environment? Panorama is the only solution currently available tha provides a "holistic" look at the application and its moving parts. www.opnet.com Jamie jwetzel at opnet dot com 760.510.1787
  12. awesome jvm monitor[ Go to top ]


    Based on the analysis of these metrics, the eG Java Monitor gives you a comprehensive view of the activities within a JVM:

    • It lets you see which threads are running in the JVM and what state they are in (such as runnable, blocked, waiting, timed waiting, deadlocked, or high CPU)
    • You also have access to a stack trace for each thread showing class, method, and line of code (to troubleshoot problems down to the line of code level)
    • And you can monitor the performance of garbage collection processes, CPU and memory usage, and JVM restarts.

    The monitoring can be done in an agent-based or an agentless manner. Adminstrators get to choose which approach works for them. A single agent can monitor all the JVMs running on a system. Licensing for the monitoring solution is by the number of servers monitored and not based on the number of applications monitored.

    Diagnosing a high CPU problem in a Java application down to the
    code level using the eG Java Monitor

    Metrics regarding the performance of the JVM are collected in real-time and stored in a relational database for later analysis. The historical data and reports are ideal for post-mortem diagnosis and pin-pointing where the root-cause of a problem lies. At the same time, the real-time metrics are analyzed and alerts generated as and when problems occur.

  13. I’ve used a tool called ClearStone, which used to be based on Oracle Coherence (a high-performance data grid) so it can scale up to support very large environments. I think now they are based on Cassandra and Neo4j. Anyway it is the only Java monitoring tool I know that is built for large systems from the ground up, worth checking out.
    HTH, Stacey

  14. Java Interactive Profiler can be used. I have used this to track the profiling information of a webapplication.

  15. I have used Introscope - Wiely , which is very good and comparatively light weigth tool for using in load testing environment. its also used in many production environments - it supports lots of metrics which u can use to identify performance /memory problems.