Home

News: JDBInsight 1.1 (JDBC Profiler) Standard Edition Now Shipping

  1. Inspired today announced the availability of JDBInsight 1.1 Standard Edition. This release includes new visualizations that set a new standard in ease of use and graphical communication. JDBInsight is the only J2EE performance profiler to offer low runtime overheads as little as 2%.

    Check out JInspired.
    Check out the Visualize the Invisible Tour.

    Press Release
    ====================

    Dublin, Ireland— May 15, 2002— Inspired Limited today announced the availability of JDBInsight 1.1 Standard Edition. The new version includes new visualizations that set the standard in terms of ease of use and graphical communication. JDBInsight is the only J2EE performance profiler to offer low runtime overheads as little as 2%. No other profiler or performance-monitoring tool on the market provides this low level of intrusion while at the same time providing detailed transactional analysis.

    JDBInsight analyses the access of enterprise data by J2EE™ client-, web-, and bean containers. The analysis can encompass transaction executions, spanning multiple J2EE™ containers. JDBInsight captures timing and execution information for enterprise data accessed by Servlets, JavaServer Pages, Session- and Entity Beans using JDBC™ or an Entity Bean using a container's persistence engine.

    Five Reasons For Choosing JDBInsight to Target J2EE™ Performance Problems

    1. Minimal Performance Overhead - During performance test runs of ECperf, JDBInsight introduced as little as 2% overhead to the runtime. Similar runs with open source solutions showed 50% degradation in the throughput figures. Using a Java profiler would result in an even greater degradation, rendering any profiling information useless.

    2. Early Detection - Unlike most other J2EE performance assurance offerings, JDBInsight enables development teams to target performance from day one. Since most tuning efforts result in changes to application design and code, it is important this is addressed early rather than late. JDBInsight enables project management to control development time and hardware costs.
     
    3. Targets Biggest Bottleneck - Java profilers in most cases cannot identify application bottlenecks even with application server class and package filtering. The information that is provided is usually incomplete and without context. JDBInsight focuses specifically on the expensive interaction between applications and databases.
     
    4. Visualizes the Invisible - With the increasing usage of persistence frameworks in J2EE™ application development, architects and developers find it impossible to determine what database interactions are occurring. One of the biggest problems is that the inner workings are encapsulated, thus testers are limited to black box testing, slowing down development. JDBInsight provides a visualization of the transactional nature of a J2EE™ application, unmatched by any other similar offering.
     
    5. Application Server and Database Independent - JDBInsight allows developers to identify poorly performing SQL, independent of database and trace tools. J2EE™ developers need not configure a database for tracing, nor spend time learning different tools for extracting traces. JDBInsight goes far beyond the sophistication of current database tracing tools, by compacting transaction history trees and providing detailed statistics at various levels of detail. Developers using different application servers also benefit from the fact that the product is application server independent.

    Raves and Reviews
    “[JDBInsight] will be a great help to us in discovering the right path to follow for optimal J2EE performance”
    Senior Engineer, CRM Product

    “JDBInsight is a powerful tool for understanding and optimizing J2EE applications using JDBC. It collects a wealth of data about your running application. It then presents these data in a GUI that lets the user get in and see what the application is doing in fascinating and insightful ways. To my knowledge, the product is currently unique in the market”
    Technical Architect, CORBA/J2EE Application Server Product

    “JDBInsight was fundamental in providing us with a detailed understanding as to how our container generated and managed persistence.”
    J2EE Consultant, Leading Software Corporation

    "I really appreciate [JDBInsight]. Very easy to install (server and GUI). The GUI is very nice and user friendly. Excellent work !!!"
    Project Manager, European Financial Institution

    "The product looks really impressive"
    Senior Software Developer, Leading Software Design Consultancy Company

    “With JDBInsight we were able to perform detailed tests based upon our domain, thus we were able to make decisions in respect of JDBC drivers.”
    Technical Lead, Telecom Product

    “I love to see the product embedded within our product. Customers would love it!!!”
    Cluster Engineer, Application Server Vendor

    “This tool might be a very good jewel in our application server product.”
    Senior CORBA Consultant, Leading Software Corporation



  2. I think the -real- link is http://www.jinspired.com

  3. thanks Tyler, I fixed the link.
  4. Hi!

    I downloaded your product but it seems there is no way to prove it with our j2ee system. Is there a demo license?

    ::tyler
  5. To give an example of how JDBInsight 1.1 can highlight problems in a containers cmp engine take a look at the following tables in the schema view for the Borland/BAS/Ecperf snapshot.

    m_parts
    m_inventory

    You will notice that each table has 2 select statements with a difference slight difference in the fields selected.

    For m_parts:

    SELECT p_id, p_name, p_desc, p_rev, p_planner, p_type, p_ind, p_lomark, p_himark FROM M_parts WHERE p_id = ?
    (Average: 2.18ms)

    SELECT p_name, p_desc, p_rev, p_planner, p_type, p_ind, p_lomark, p_himark FROM M_parts WHERE p_id = ?
    (Average: 1.44ms)

    The first select seems strange in that the p_id is being selected while at the same being used in the where clause part using an equals operator. The second query performs slightly faster than the first; it does not select the p_id column. Is this a conincidence? Well lets take a look at the m_invetory select statements.

    SELECT in_p_id, in_qty, in_ordered, in_location, in_acc_code, in_act_date FROM M_inventory WHERE in_p_id = ?
    (Average: 3.43ms)

    SELECT in_qty, in_ordered, in_location, in_acc_code, in_act_date FROM M_inventory WHERE in_p_id = ?
    (Average: 1.08ms)

    The differences in times might seem small at face value but when you take into account the number of times (+10,000) the statements are executed it looks a different picture, especially when you are trying to do as little as possible at the database.

    William Louth
    Product Architect
    Inspired
  6. I currently work on a system where all database access is done through stored procedures. Can JDBInsight work on CallableStatements?
  7. Hi,

    The CallableStatement support did not make it into the 1.1 Release. It is there from a server-side (Driver) perspective but I required some more time to integrate it better into the various client side views before releasing it.

    The testing of the integration should be done over the coming week with a customer release scheduled for the first week in June.

    William
  8. Thanks! Looking forward to trying it out. It seems kind of like a waiste to do performance tuning by adjusting StringBuffer sizes (Java code profiling) when 99% of the time is spent in the database...
  9. Hi Thomas,

    Its really nice hearing that some developers recognize that Java profilers in most cases are of little value when it comes to EJB performance tuning.

    Unless of course you want to help identify performance bottlenecks for an application server vendor and you don't mind not getting paid for it, ;-).

    I currently offer performance tuning services to application server vendors in Europe and most of the customer assignments I am sent in on are related to the container-to-database layer.

    Some of the issues can be attributed to poor architectural design (when viewed in relation to technology choice, EJB), others are database design but most of the time its the SQL and Transactions logic thats killing the performance.

    I think overtime CMP engines will become better and better especially when they start to do runtime profiling. For example I have noticed that most of the methods in a session beans interface can be clearly demarcated in terms of read access and write access. Developers have a tendency to have update, insert, select and delete clearly delineated. With this knowledge you could probably write a container profiler that would look at the transactional characteristic of an entry point over time and determine its a read-only transaction in which case the container could take a read-only connection from the connection pool. Read-only connections tend to be faster.


    William Louth
    Product Architect
    Inspired

    william dot louth at jinspired dot com

    PS: Send me an email and I will notify you when we have an early access version.