InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

JXInsight 5.6: Problem Diagnostic, Transaction Analysis and App Mgmt

Posted by Steven Haines on Jun 24, 2008

Sections
Development
Topics
Java ,
Artifacts & Tools
Tags
Performance Evaluation ,
JXInsight
Last week JInspired announced the release of JXInsight 5.6, its enterprise Java performance monitoring, problem diagnostic, transaction analysis and application management solution. InfoQ spoke to William Louth, the JXInsight product architect, get the inside scoop.

The primary focus for the latest release of JXInsight has been:

"Delivering a resource metering solution that could be used to measure a large number of very fine grain events (method calls) whilst still keeping the overhead to a minimum and within industry standards for monitoring of production systems.”

According to their website, where they published snippets from their SPECjvm2008 results, their raw overhead (as measured by operations per minute) eclipsed that of their competitors.

Another benefit that you’ll notice in this release is faster startup times and a smaller memory footprint. This is due to the fact that they enhanced their AspectJ load-time weaver to transparently “switch from load-time to binary weaving following the first execution of an application.” This allows you to avoid much of the instrumentation overhead that you would normally absorb during the startup of a large application.

For the Java community, one of the big drivers for trying JXInsight is the availability of a free developer edition of JXInsight. Asked about  JInspired’s motivation behind releasing it at no cost, William stated:

“Each month we have on average 1,000 downloads of our free development edition. The benefit to us is that developers have sufficient time to play and experiment with the tool before making a purchase for a test or production environment. JXInsight has been designed to tackle the most complex of problems related to performance, transaction semantics, runtime capacity and reliability - problems I have encountered myself in the field. So it does not present a primitive GREEN and RED circles dashboard but instead provides an unprecedented amount information visualized from many different perspectives and in unique ways.”

The free developer edition includes all the capabilities of the server edition, but limits console and terminal connectivity to the first 45 minutes. You are still able to analyze snapshots offline with no time limit, but you are only able to capture snapshots within the first 45 minutes that your JVM is running.

With respect to the user interface, the following  shows an example of a trace that runs from an HTTP request through a JNDI lookup of a database connection pool, and then into the SQL that was executed:



The next image then continues the story by looking deeper into the database behavior itself:



JXInsight has a different implementation strategy from many of the performance analysis vendors by implementing an “Open API” abstraction layer that is independent of its instrumentation logic. Asked about the details of how JXInsight gathers its data, William responded:

“JXInsight uses various different approaches including AspectJ AOP, native BCI, Interceptors (CORBA), Listeners (JSF PhaseListener), Filters (ServletFilter), Dynamic Proxies (Spring AOP), and Wrappers (JDBInsight JDBC DataSources), JMX (Management Metrics), as well as product specific API's (Coherence, GridGain). In the last 2 releases we have focused much more on AspectJ shipping 400+ technology specific aspect extension libraries though we are planning on looking at providing similar extensions based on other upcoming instrumentation toolkits can also be extended by our customers.”

So where are they taking JXInsight from here? William and his team are focused on the following for version 5.7:

“The main goal with this release is to bridge the gap between system monitoring data models (metrics) and software monitoring data models (probes, traces and transactions) by being able to relate elements in one model to elements in another model in either direction.”

Moving beyond the free developer edition, here is the Server Edition pricing:

Price: 5,600 USD for 2 CPU Base Installation, 1,600 USD Per Additional CPU Only Applicable to US Based Customers
Price: 3,900 EURO for 2 CPU Base Installation, 1,100 EURO Per Additional CPU
You can find more information about performance and scalability at: http://www.infoq.com/performance-scalability

No comments

Watch Thread Reply

Educational Content

Jesper Boeg on Priming Kanban

In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.