JDBInsight 3.0 / JXInsight 1.0 Announced

Discussions

News: JDBInsight 3.0 / JXInsight 1.0 Announced

  1. JDBInsight 3.0 / JXInsight 1.0 Announced (2 messages)

    JInspired is pleased to announce the availabilty of JDBInsight 3.0 / JXInsight 1.0 - a J2EE/CORBA/JDBC performance management and monitoring tool that has advance and eXtensible transaction analysis and trace capabilities.

    Introducing JXInsight 1.0
    JDBInsight is now part of a wider tool suite, JXInsight, that provides distributed tracing capabilities across JVM’s running on different hosts. JDBInsight 3.0/ JXInsight 1.0 come with highly configurable trace integrations for J2EE Web Containers (Tomcat, Jetty, and any other Servlet 2.3 compliant container) as well as CORBA client and server containers (Borland VisiBroker).

    The JXInsight console can correlate multiple traces as a result of user actions/transactions providing comprehensive JVM statistics (CPU, Clock, Blocking, Waiting, GC and Memory Allocation) as well as relating such actions to JDBInsight transaction paths.

    Installers and PDF Documentation can be accessed from the following URL:
    http://www.jinspired.com/products/jdbinsight/downloads/index.html

    Whats New in JDBInsight 3.0 / JXInsight 1.0

    JVM / JDBC Metrics Mode
    A new Metric mode has been added within the console that provides a high level view of the last 60 minutes of JVM and JDBC activity. The JVM counters such as waiting and blocking relate to all activity within the VM including non-JDBC work.

    JXInsight Distributed eXtensible Tracing
    The new Trace API provides flexible instrumentation and measurement capabilities allowing for specific individual code blocks to be profiled in terms of object allocation, thread waiting and blocking, GC and CPU and wall clock times.

    JXInsight 1.0 offers two extensions for distributed tracing and profiling. The VisiBroker trace extension allows for tracing of remote calls from a CORBA client to a CORBA server as well as profiling the time and resource consumption of inbound CORBA server requests. Neither JVMs need to be JDBC clients.

    The Servlet/JSP extension enables the profiling and tracing of servlet service requests. Again there is no requirement for any code within the container to execute JDBC work. By adding the trace filter to the web.xml of a J2EE application users can have high level profiling of inbound http service requests. Statistics for clock, CPU, blocking and waiting, GC and object allocations can be captured and aggregated at various levels via the flexible trace identifiers configuration. In the event that JDBC work is initiated during the scope of a trace transaction paths and interceptions will be associated.

    Note: future trace extensions for AOP and SOA technologies are in the works.

    Additional Console Commands
    • Dump Profile Dumps the current profile model to the servers local file system.
    • JVM Properties Displays the JVM System properties including those set by the JDBInsight mode.
    • JVM Threads Displays the current thread groups and threads within the server JVM process.
    • Recording Provides a dialog that automates the reset, snapshot and export actions for use case testing.
    • Shutdown Calls System.exit(0) in the remote JVM process.

    Additional Terminal Commands
    The terminal add-on now permits the displaying of metric information, this is a high level view of the last 60 minutes of JVM and JDBC activity. The information provides crucial information related to transactions, jdbc, threads amongst others. The metrics command has the ability to output this high level summary categorized by type and value. The –repeat option allows the metric information to be re-displayed or output to a file after a period of time, specified in seconds.

    Java Source Code Viewer Integrated Into Console
    The console now provides the ability to view the source of frames on the call stack of intercepted methods.

    Annotations of Exported Snapshots
    It is now possible to attach notes to individual attribute values within a snapshot. This reduces the need to create separate textual documents noting observations found within snapshots. Now different users can collaborate in the performance engineering exercise by adding notes into the snapshot and exchanging snapshots via email.

    Statistical Distributions and Improved Transaction / SQL Analysis
    • The distribution related columns (Median, Mode, Inter-quartile, Semi-quartile, Lower-quartile, Upper-quartile, Standard Deviation, and Coefficient of Variance) can help determine whether the average values reported are not affected by outliners.
    • The SQL analysis related columns (Columns (*), Tables (*)) help quickly identify transaction paths that select a from a large number of tables and columns.
    • The row retrieval counts and total columns help quickly identify transaction paths processing large amounts of row data.

    Code Sources and JXInsight Traces added to Call Trace Analysis
    The call trace view now includes the option of displaying Java packages and Code Sources across the various Java related partitions (Presentation, Process, and Persistence). This can help consolidate call statistics into more meaningful application units. The view also includes a new partition, Traces, that contains JXInsight traces. Lines are drawn from traces to database objects (tables and columns) based on the active trace stack during the interception of JDBC method calls.

    Increased OS Platform Coverage
    • Mac OSX
    • AIX

    Additional Call Stack Classifications
    • iBatis
    • Java Swing
    • JMS

    Configuration and Change Management
    The configuration perspective with the profile mode provides a relatively easy means of associating change and configuration with specific exported execution profiles of a monitored application. The configuration perspective presents a view of the various monitored configurations for the application.

    Improved and Extended Documentation
    The Install Guide has more driver and container examples. The User Guide has new chapters as well as additional tips. Each platform installer includes native agents for Windows, Linux, Solaris, AIX and HP-UX platforms.
  2. JDBInsight 3.0 / JXInsight 1.0 Announced[ Go to top ]

    I literally just gave up trying to use P6spy + Irongrid on my WLS 7x platform. We use TxDatsource and this combo just doesn't work.

    I like your product, however a few questions, given my recent and fresh in mind bitter memories:
    a) we have zillion of classes , entities beans and DAOs.
    Do I have to touch the existing code to make JDBInsight work ?

    2) Any known issues with WLS Txdata source with Oracle 9i Connection pool.
  3. Oracle and WebLogic 7.x Platform Support[ Go to top ]

    a) There are 2 basic steps for WebLogic integration.
    http://www.jinspired.com/products/jdbinsight/installguide.pdf

    1 - Add the JVM parameter, -Xrunjdbinsight, on to the command line of the WebLogic startup script.
    2 - Configure the datasource to use one of the various drivers or datasources we ship with the product. There are oracle specific drivers and datasources for return implementations of Oracle's interfaces defined in the package oracle.jdbc.*.

    The only time I have heard of a change requirement was when the customer was referring to classes defined in the package oracle.jdbc.driver.* instead of oracle.jdbc.* which contains the interfaces - which our oracle driver classes implement.

    b) Apart from the above there are no know issues. Since JDBInsight 2.0 we have shipped profile snapshots of WebLogic running ECperf / SPECjAppserver configured for Oracle. The snapshots are accessible from the console.

    An example is as follows:

    <JDBCConnectionPool CapacityIncrement="1"
    DriverName="oracle.jdbc.driver.OracleDriver"
    InitialCapacity="40" MaxCapacity="40"
    Name="ecperfConnectionPool" PreparedStatementCacheSize="300"
    Properties="user=username;password=password;protocol=thin"
    Targets="ecperfserver" URL="jdbc:oracle:thin:@localhost:1521:JINSPIRED"/>

    Change to

    <JDBCConnectionPool CapacityIncrement="1"
    DriverName="com.jinspired.jdbinsight.drivers.jdbc1x.Driver"
    InitialCapacity="40" MaxCapacity="40"
    Name="ecperfConnectionPool" PreparedStatementCacheSize="300"
    Properties="user=username;password=password;protocol=thin"
    Targets="ecperfserver" URL="jdbc:jdbinsight:oracle:thin:@localhost:1521:JINSPIRED"/>

    If your code casts to specific Oracle JDBC interfaces

    <JDBCConnectionPool CapacityIncrement="1"
    DriverName="oracle.jdbc.driver.OracleDriver"
    InitialCapacity="40" MaxCapacity="40"
    Name="ecperfConnectionPool" PreparedStatementCacheSize="300"
    Properties="user=username;password=password;protocol=thin"
    Targets="ecperfserver" URL="jdbc:oracle:thin:@localhost:1521:JINSPIRED"/>

    Change to

    <JDBCConnectionPool CapacityIncrement="1"
    DriverName="com.jinspired.jdbinsight.drivers.jdbc1x.OracleDriver"
    InitialCapacity="40" MaxCapacity="40"
    Name="ecperfConnectionPool" PreparedStatementCacheSize="300"
    Properties="user=username;password=password;protocol=thin"
    Targets="ecperfserver" URL="jdbc:orainsight:oracle:thin:@localhost:1521:JINSPIRED"/>


    Note the slight change in URL and the driver name. This allows for quickly turning on or off the monitoring of the datasource and allows for multiple datasources / connection pools to be configured differently in terms of profiling.


    Kind regards,


    William Louth
    Product Architect
    JInspired


    "J2EE tuning, tracing and testing with Insight"
    http://www.jinspired.com