| |
Server
Enhancements
Console Enhancements
JVMPI Agent
Enhancements
Installation
& Deployment Changes
Terminal
Enhancements
|
Server
Enhancements
Distributed
JMS Trace Extension
The JMS trace extension has been enhanced to support
the tracing of JMS Message routed across multiple JVM's. This new enhancement
also support the intra-JVM tracing of JMS message
produced and consumed by different threads. This
is extremely useful for J2EE applications that
contain Session beans producing JMS messages which are then consumed
by MessageDriven Beans within the same container instance.
Commonj WorkManager and
TimeManager Trace Extension
The extension traces and profiles instances of WorkManager, WorkItem, WorkItem,
WorkEvent, WorkListener, TimerManager, Timer, TimerListener,
accessed directly or indirectly via a JNDI lookup
ensuring that only component boundary profiling
and tracing is performed.

JAX-RPC
(WebService) Trace Extension
The extension traces and profiles instances of javax.xml.rpc.Service and javax.xml.rpc.Call accessed directly or indirectly via a JNDI lookup
ensuring that only component boundary profiling
and tracing is performed.

RMI Trace Extension
The extension traces and profiles instances of java.rmi.Remote accessed directly or indirectly via a JNDI lookup
ensuring that only component boundary profiling
and tracing is performed.
EJB3 Trace Extension
The extension traces and profiles instances of javax.persistence.EntityManager and javax.persistence.Query accessed directly or indirectly via a JNDI lookup
ensuring that only component boundary profiling
and tracing is performed. This Insight article describes the deployment and configuration
steps in detail for Oracle EJB3 Preview.
This Insight article describes the deployment and configuration
steps in detail for JBoss EJB3/Seam

Java
Connector Architecture (JCA CCI) Trace Extension
The extension traces and profiles instances of ConnectionFactory, Connection, Interaction,
and Record accessed directly or indirectly via a JNDI lookup
ensuring that only component boundary profiling
and tracing is performed.
JTS
XAResource Trace Extension
The
extension traces and profiles instances of XAResource accessed directly or indirectly via
a JNDI lookup ensuring that only component boundary
profiling and tracing is performed.
Directory/LDAP Trace Extension
The extension has been enhanced to include tracing
and profiling of instances of DirContext, LdapContext, InitialContextFactory,
and NamingEnumerations accessed directly or indirectly via a JNDI lookup.
The enhancement is specifically for LDAP providers
deployed as JCA resource adaptors and using the InitialContextFactory interface as the RA connection factory interface.
Java Content Repository (JCR)
Trace Extension
The extension traces and profiles instances of Repository,
Workspace, Session, Node,
Property, Version, VersionHistory,
Query, QueryManager, Lock and NodeType accessed directly or indirectly via a JNDI lookup
ensuring that only component boundary profiling
and tracing is performed.

Java 5 Annotations
The profiler can reflectively inspect packages,
classes, methods and fields appending annotation information to a snapshot.
Hibernate 2.0 / 3.0 Trace
Extension
The extension traces and profiles instances of SessionFactory, Session, Query,
and Transaction accessed directly or indirectly via a JNDI lookup
ensuring that only component boundary profiling
and tracing is performed.
JDO (Vendor Neutral) Trace Extension
The extension traces and profiles instances of PersistenceManagerFactory, PersistenceManager, Connection, Query, Extent and Transaction accessed directly or indirectly via a JNDI lookup
ensuring that only component boundary profiling
and tracing is performed.

JBoss
EJB Interceptor Trace Extension
The JBoss distributed trace extension is based on the JBoss
pluggable container and client proxy interceptor
framework. The trace extension supports the tracing
of all EJB (session, entity, and message driven
beans) method invocations within in the container
or remote clients. The extension can trace calls
across JVMs. This Insight article describes the deployment and configuration
steps in detail. The following screen shot shows
a console cluster snapshot containing both client
and server traces. The client side traces coming
into the JBoss server can be seen to start at
row 5. With JXInsight's distributed tracing capabilities
it is possible to trace the record clock time,
CPU, object allocations for a single request spanning
multi JVM's.
Spring
AOP Trace Extension
One of the key components of the Spring
framework is its AOP framework which allows users
to implement custom aspects, complementing their
use of OOP with AOP. JXInsight trace extension
provides a plug-in replacement for the basic performance
and debugging interceptors distributed with the
Spring libraries. The JXInsight TraceInterceptor
provides high resolution clock counters, JVM statistics
including GC time, CPU time, object allocations,
thread blocking and waiting per trace interval
as well as call stack inspection and classification
and integration into the award winning JXInsight
console. This Insight article describes the configuration steps required.

JUnit
Trace Extension
The Ant trace extension can dynamically integrate
JXInsight JUnit trace extension supporting tracing
of local and remote (forked) JUnitTasks. The following
screenshot shows the eXtensible distributed tracing
and profiling capabilities of JXInsight: Ant task
(process=1515) to a forked JUnit
Test Case (process=1516). This Insight article describes the configuration steps required.
Apache
Ant Trace Extension
The Apache Ant trace extension traces and profiles
the execution of project, targets, and tasks.
The following screen shot shows the trace tree
created during the execution of the run-client
target contained in the build example file of
the J2EE™ Tutorial/Samples Application -Dukes
Bank.
JDBC Drivers and DataSources
- The JDBC URL 1.x to JDBC driver classname mapping
has been expanded to include drivers from JNetDirect,
INet, Microsoft, MYSQL, IDS.
- The JDBInsight Oracle specific JDBC classes
have been upgraded to support the latest (10g)
method signatures defined in oracle.jdbc.* interfaces.
- Added Opta [SQL Server] DataSource classes with
similiar JavaBean properties for easy interchange.
com.inet.tds.TdsDataSource =>
com.jinspired.jdbinsight.drivers.jdbc2.TdsDataSource
com.inet.tds.PDataSource =>
com.jinspired.jdbinsight.drivers.jdbc2.TdsPDataSource
Console
Enhancements
Ease
of Use
Added server system property -Djxinsight.server.name=<instance-name> that when detected by the console in a server
snapshot (profile, timeline, metric) will be used
as the label for the server instead of hostname:port.
The console status bar now displays the profiling
interval and duration for a cluster, server, or
snapshot
Color Themes
The JXInsight console now supports the definition
and installation of color theme for common elements
of the console's user interface. The current color
themes are default, monday, tufte, hessian, breeze and mactopia.
To change from the default theme to the tufte
color scheme edit the jxinsight.console.config file located in the installation root setting
the system property to jxinsight.console.theme=
tufte
Color Theme: tufte (Inspired
by Edward Tufte's illustrations in his three beautiful
information visualization books)
Classes Perspective
The Classes perspective can includes all fields
and methods for EJB 3 objects annotated with @Entity or @Embeddable. It also includes all methods for EJB 3 objects
annotated with @Stateful or @Stateless.
Class and method tooltips now display annotation
information including annotation type and values.
Classifications
The classification of call stack now includes
EJB annotations. The mapping of annotation type
to a JXInsight classification is as follows
javax.persistence.Entity = ejb:entity
javax.persistence.Embeddable = ejb:embeddable
javax.ejb.Stateful = ejb:session
javax.ejb.Stateless = ejb:session

JDBC
Call Trace View
The persistence partition in the Calls perspective
includes classes and methods with JCR, EJB3, JAX-RPC,
Hibernate, commonj classifications.
Icon Set Redesign and Color
Encoding
JXInsight 4.0 includes a complete redesigned of
all call stack icons to align with color encoding
in trace icons and graphical views

Inject
Trace
Added Inject Trace menu command on server node
within the browser navigation pane. The command
inserts a new trace entry onto the trace stack
for all future traces within the server's JVM.
The injection spans thread groups and threads.
It can be viewed somewhat like a system trace
root identifier but over time dynamic.
Snapshot
Note
The global text note can be applied to a snapshot
containing additional information about the execution
context and environment.
JVMPI
Agent Enhancements
Platform
Support
The JVMPI agent now includes native 64bit support
for Windows 64 bit and Linux
64 bit JVMs.
<JXINSIGHT-INSTALL-ROOT> /bin/windows-x86-64/jdbinsight.dll
<JXINSIGHT-INSTALL-ROOT> /bin/linux-x86-64/libjdbinsight.so
Agent
System Properties
There is are new system properties to enable or
disable JVMPI agent events on startup of the JXInsight
server. The benefit of the new system properties
is the ability to turn on expensive JVMPI events
such as object allocations following the initialization
of the application server and/or container. Instead
of -Xrunjdbinsight:a=t specify -Djxinsight.server.agent.events.allocation.enabled=true.
jxinsight.server.agent.events.blocking.enabled=true|false
jxinsight.server.agent.events.waiting.enabled=true|false
jxinsight.server.agent.events.allocation.enabled=true|false
jxinsight.server.agent.events.gc.enabled=true|false
Installation
& Deployment Changes
Java
Libraries
The old library jdbidriver.jar has been renamed
and partitioned into multiple jars to support
the class loading of particular trace extension
into child class loaders which is typical within
J2EE application server and web container classloader
hierarchies. When deploying a jxinsight-ext-*.jar
library the jxinsight-core.jar must be deployed
instead of jxinsight-all.jar. The jxinsight-core.jar
must be visible to all trace extensions via the
same classloader or a direct/indirect parent classloader. For backward compatibility the jxinsight-all.jar
(previously named jdbidriver.jar) is built with
all JXInsight and JDBInsight classes and resources.
| Jar
Name |
Description |
| jxinsight-all.jar |
All
classes from jxinsight-core.jar, jxinsight-ext-*.jar
and jxinsight-jdbc-drivers.jar |
| jxinsight-core.jar |
JXInsight
Tracer and Profiler and JSE trace extensions
(JDBC, CORBA, JNDI, RMI, JMX) |
| jxinsight-jdbc-drivers.jar |
JDBInsight
JDBC Drivers and DataSources |
| jxinsight-ext-j2ee.jar |
J2EE
trace extensions (JMS, JCA, EJB, JTS, JTA,
Servlets/JSP, JAX-RPC) |
| jxinsight-ext-jcr.jar |
Java
Content Repository (JCR) trace extension |
| jxinsight-ext-vbj.jar |
Borland
VisiBroker (distributed) trace extension |
| jxinsight-ext-kodo.jar |
SolarMetric
Kodo JDO trace extension |
| jxinsight-ext-jboss.jar |
JBoss
EJB (distributed) trace extension |
| jxinsight-ext-ant.jar |
Apache
Ant trace extension |
| jxinsight-ext-junit.jar |
JUnit
trace extension |
| jxinsight-ext-jdo.jar |
JDO
trace extension |
| jxinsight-ext-hibernate.jar |
Hibernate
3.0 and 2.0 trace extensions |
| jxinsight-ext-ejb3.jar |
EJB3 trace extension (Note:
The EJB3 trace extension is not included
in jxinsight-ext-j2ee.jar) |
| jxinsight-ext-commonj.jar |
commonj WorkManager and TimerManager trace extensions |
| jxinsight-ext-spring.jar |
Spring Framework AOP based Trace Interceptor |
| jxinsight-ext-hpovobs.jar |
HP OpenView OBS TraceInterceptor |
System
Properties
All system properties have been changed from jdbinsight.* to jxinsight.*. For backward compatibility
existing jdbinsight.* properties will be recognized
though it is strongly recommended that all customers
upgrade their existing configurations.
Public
Trace Extensions Classes
Public trace extension classes have been migrated
from com.jinspired.jdbinsight.trace.* to com.jinspired.jxinsight.trace.*. For
backward compatibility the classes in com.jinspired.jdbinsight.trace.*
still remain though in most cases they merely
extend from the migrated versions in com.jinspired.jxinsight.trace.*.
The JDBInsight Driver and DataSource classes remain unchanged.
Script
Changes
The console and terminal scripts have been renamed
from jdbiconsole.(bat|sh) and jdbiterminal.(bat|sh)
to jxinsight-console.(bat|sh) and jxinsight-terminal.(bat|sh).
Native
Agent Library
The JVMPI agent library has not been renamed and
still retains the jdbinsight reference (jdbinsight.*|libjdbinsight.*).
We have choosen to leave this unchanged so as
to differentiate our forthcoming JVMTI agent which
will reference jxinsight (jxinsight.*|libjxinsight.*).
Terminal Enhancements
Monitor
Command
Added new server monitor command. The monitor
command allows the dynamic setting of JVMPI events
such as garbage collection, blocking, waiting,
object allocations as well as server options profile
and timeline analysis.
Options
-status: retrieve the status of all monitoring
events and profiling.
-events: instructs the server to dynamically start
monitoring gc, blocking, waiting and allocations.
Note: events not listed within the -event {g|b|w|a}
parameter set will be switched off.
-profile: instructs the server to start|stop profiling.
-timeline: instructs the server to start|stop
timeline analysis.
-host: specify a host name default is localhost
-port: specify a port number default is 1515.
Examples
> monitor -events gbwa -profile start -timeline
stop -h localhost -p 1515
> monitor -events bw -pr start -tl start -h
localhost -p 1515 monitor -status -h localhost
-p 1515
InjectTrace
Added command to which inserts a new trace entry
onto the trace stack for all future traces within
the server's JVM. The injection spans thread groups
and threads. It can be viewed somewhat like a
system trace root identifier but over time dynamic.
Note: Spaces
within the trace name are currently not supported
from within the terminal.
Options
-get: retrieve the currently specified trace.
-set: specify a new trace entry onto the trace
stack for all future traces.
-remove: remove the currently set trace.
-host: direct the injecttrace action to a specified
host.
-port: specify the active port for a specifed
server.
Examples
injecttrace -set traceName -host 172.29.20.20
injecttrace -get -host 172.29.20.20
injecttrace -remove -host 172.29.20.20
|
|
|
|
|