Facilitating the spread of knowledge and innovation in professional software development



Choose your language

InfoQ Homepage News JXInsight 5.7 Supports Activity Based Metering Solution and JMX Integration for Java Applications

JXInsight 5.7 Supports Activity Based Metering Solution and JMX Integration for Java Applications

This item in japanese


The latest version of JXInsight, an application performance monitoring and problem diagnostic solution software, supports activity based metering solution and JMX integration for Java applications. JInspired development team has recently announced the availability of JXInsight 5.7 version (nicknamed "Excel").

Activity-based costing (ABC) model identifies activities in the enterprise applications and assigns the cost of each activity resource to all products and services based on the actual consumption by each resource. JXInsight Probes provide the activity-based costing solution to assign costs to applications, services and components based on resource consumption. The probes runtime components measure the usage of resources by applications, services and components to help IT service management to combine key performance indicators (KPI) from both performance and cost management domains into a single management model.

JXInsight's Activity-based costing solution includes the following performance monitoring and management features.

  • Dynamic Group Tags:
    Tags can be used to create an additional cost center hierarchy based on the execution context that reflects much more of the dynamic aspects of the execution flow such as the name of the application, user, business transaction, web page, etc. Tagging is a way for the software to communicate the application level context for the current execution which can then be used by various extensions to the Probes runtime. It allows service management teams to charge customers (organizations, departments or users) for their metered usage of shared resources while still collecting billing from a system perspective.
  • Custom Resource Meters:
    System administrators can create their own custom meters based upon existing resource metering data. This feature allows an administrator to explicitly relate the metered resource usage of a particular Group (cost center) with other Groups (cost centers) that have a direct or indirect cost dependency. The charges provide a cost breakdown analysis of metering within a group (cost center) by other groups.
  • Metering Strategies:
    The probes runtime component allows for different metering strategies to create an adaptive cost management solution. The new version includes 3 new metering strategies: Busy, BusyThread and HighMemory. The busy strategies activate metering when a thread or managed process exhibit consistently high cpu usage for a specified period. The high memory strategy activates metering in the event of prolonged high heap memory usage.

The new release of JXInsight also supports JMX integration which includes the new probes management provider extension management beans (GroupMBean and MeteringMBean) which are registered with a local MBeanServer for every metered probe Group and associated resource Metering created. The JMX support also includes Oracle Coherence integration via the new Oracle Coherence management integration extension probe related MBeans. This managed bean is registered with Oracle Coherence grid-wide management and monitoring (JMX) framework making it possible to monitor every Metering or Group from any grid node.

The latest release also includes the following new features:

  • Java 6 Support:
    JXInsight support for Java 6 runtime is now available via a new JVMTI agent which supercedes the JVMPI agent on Java SE 5 runtime environments. Java 1.4 runtimes are still currently supported in this release though this is the last major update that will have such support.
  • Java Logging Integration:
    The new logging probes provider extension can be enabled and configured to publish a LogRecord for each resource meter reading that exceeds a particular threshold defined per log level per meter. This is useful in the integration with existing legacy system monitoring tools that offer continuous scanning of log files in order to raise alerts and detect incidents.
  • Azul Systems Resource Meters
    Support for Azul Systems compute appliance is provided via a special probes meter integration extension pack. This integration performs the resource metering locally within the compute appliance unlike other profiling solutions that require a network roundtrip back to the Azul client/proxy JVM.
  • JRuby-to-Ruby Probe Extension:
    JXInsight 5.7 delivers the cross JVM language resource metering and billing solution with the JRuby extension. The metering data can be aggregated and tracked across Java and Ruby execution boundaries via the new JRuby-to-Ruby probes extension.

The latest version of JXInsight also comes with an API that can be ported to other languages, runtime environments, and platforms. The memory footprint for the aspect oriented runtime has been reduced for applications and additionally the memory footprint and file storage size for probes metering snapshots has been reduced.

There is also a second update to JXInsight 5.7 that was released earlier this week. This update introduces two new probes providers: non-reentrant and concurrent. The nonreentrant probes provider filters out recursive firing of named probes (calls). The concurrent probes provider can help identify execution points in a request processing pipeline that represent possible bottlenecks.

JXInsight is a part of JInspired's Extensible Software Performance Engineering (XPE) is a solution that spans the application life cycle to deliver a resource metering runtime environment. XPE introduces a method for software performance management along with a service delivery framework that provides guidance to combine and integrate people and products into the software performance engineering process.

InfoQ spoke with the product architect of JXInsight William Louth about the current features and future roadmap of the project. Responding to a question on what was the main driving factor behind the new "Activity Based Costing" feature, William said:

When we designed the probes runtime we made the decision to support an unlimited number of resources meters - not just clock time or cpu time which is the standard approach for most other application performance management or profiling tools. This flexibility in the design allowed for the software execution to be metered of in terms of how a business would like to manage the software via measurement (KPI) of one or more unknown activity (thread + context) based counters. It is important to note we are reporting on key performance indicators at a fine granularity - the execution context. System level reporting is only effective for health monitoring and to some degree capacity planning especially as most software gets into production with inadequate levels performance testing or software activity analysis.

With the advent of cloud computing we quickly realized that this metered resource usage had another important management perspective - costing. We already had the resource usage tracking per the software activity monitored what we needed was a way to introduce a cost model that still allowed application monitoring from both a service management perspective and cost management perspective. The support was already there - a resource meter that was cost based and derived from one or more base resource meters activated within runtime. Subsequently we introduced support for multiple cost meters allow customers to still monitor cloud computing costs whilst having one or more additional costing models for charge back schemes or operational cost management.

How does ABC help the SOA architects and developers in SLA based service monitoring and management efforts?

With the increased awareness and interest in cloud and green computing initiatives amongst many large corporations many service oriented architects are being asked to provide a mechanism that provides adequate traceability of resource consumption to software activity. Software based services execute computing activities which consume resources - so controlling activities allows one to control costs at their source.

One of the biggest hurdles in adopting ABC outside of IT is the time spent in determining which activities are being performance and how resources are consumed. With SOA based applications and services this catalog is already collected - all that needs to be done is to be able to dynamically assign costs, via resource usage, based on one of more activities performed by the service itself.

What is the future road map of JXInsight project in terms of new features and enhancements?

We plan on having two new major releases in the coming months. The first release planned for Q1 2009 will address the disconnect between system monitoring models and software monitoring models that is ever present in the current crop of application management & monitoring products. To achieve the goal of seamless switching between system monitoring and software monitoring we will be publishing a new Open API, Metrics, that will support the dynamic registration of metrics with bindings to underlying measures such as system event counters. We already have some aspects of this in the product today but it is largely static and configuration based though we do ship with mappings for most popular platforms. With this major release most of the metrics runtime will be dynamic and able to provide metrics from non-Java systems (i.e. Oracle Database) via a proxy agent.

Our second release planned for Q2 2009 will introduce a revolutionary new approach to operations dashboard design via a dynamic and extensible visualization symbolic language that will be used to render and codify system and software state and behavioral patterns for future predictive automatic problem detection.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Congrats!

    by Cameron Purdy,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Congratulations on the release.

    I'm curious about the work that you did with Azul. We've used a number of the proprietary profiling tools that Azul has built for their appliance; are you using the same hooks? Integrating with those? We've just finished some Azul related work for the next release, and was curious if your tools would have helped ..


    Cameron Purdy
    Oracle Coherence: Data Grid for Java, .NET and C++

  • Re: Congrats!

    by William Louth,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I doubt any profiling tool would work with Azul Systems solution unless it was:

    (1) pure Java based (which implies limited counters/meters)
    (2) Azul's own RTM solution
    (3) JXInsight Probes

    Which one is better? JXInsight of course!!! You get multiple meters, custom meters, probes, metering strategies, probe providers, counters, countings, billings, charges, track and trackings,........ and each aspect can be dynamically added onto a bare metal runtime that runs rings around the competition in terms of performance.

    Unless there are some specific runtime specific issues, such as network calls between proxy JVM and compute appliance, you should be able to use our probes technology with a number of meters, counters, providers, and extensions to analyze just about any software activity.

    What is also nice is that with our new our counters Open API you can dynamically create/update key performance indicators of your software (cache.put, cache.get) and map these to resource meters (thread based) which can then be used to meter the software activity in terms of the KPI itself. You move away from using clock time primitives to something much more useful, relevant and immediate.

    And if you are adventurous or building a cloud computing platform or service you can create cost meters (activity/thread based) which can aggregate multiple weighed resource meters for chargeback schemes or simply as a way to see multiple perspectives in one number (metering).

    Expect a nice blog entry shortly on how this can be applied to software services such as a Coherence DataGrid without having to have multiple disconnected/disjointed management consoles and management models (i.e. JMX).

    The future of software (as a service in the cloud) will be based mainly on software/service activity metering. System srchitects will be forced to unify management models (performance, capacity, costing) with the activity itself being the cornerstone and not what we have today with operating system constructs such as host and process. Eventually there will be no explicit or visible compute or storage boundaries. We will monitoring and billing based on activity but at various levels (context, cost groups) and perspectives (meters).

    Kind regards,


  • Re: Congrats!

    by William Louth,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Evidently we are not process based as this is ** not ** activity based costing ** unless ** the process was only performing one single software activity for one single customer/user/cost center - hardly enterprise like.

    We provide costing at the software activity level. You ** cannot ** do this if all you are doing is pulling some statistics from a Coherence JMX MBean as the statistics are at the process level with no traceability to the activity or chain of activities. No causality, no control.


Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p