Security: There is no need
to open up ports between the monitored
processes and the management server
so as to profile each JVM runtime.
Communication: Customers
can use existing communication protocols
(HTTP, FTP, JMS) to transfer performance
snapshots from agents to shared directories
accessible to JXInsight management consoles
and terminals. Access authorization
can be delegated to underlying platform
file system security.
Fault Tolerance: With each
agent having a high degree of autonomy
there is no single point of failure.
Multiple managment consoles and terminals
can be run to routinely monitor, analyse,
and store profiling snapshots. Snapshots
recording for particular partitions
can be replicated across consoles and
terminals.
Partitioning: Unlimited
flexibility in partitioning the management
domain across operations staff. Management
consoles and terminals can be configured
to monitor different client and application
server processes. The JXInsight management
console can aggregate snapshots into
clusters containing arbitrary sets of
application client and application server
processes.
Distributed Tracing:
Distributed tracing can be performed
offline and does not require a central
management server to perform real-time
trace identification generation, correlation,
aggregation and association. JXInsight's
approach is so flexible that is possible
to correlate traces at various levels
of granulatity: cluster, host, process,
thread group, thread, request parameters,
request timestamp, trace context stacks,
component or object instance, etc. JXInsight
unlike other management systems does
not require an unique trace identifier
to be generated and maintained in memory
across multiple processe and to be resolved
by a central system. Tracing across
JVM processes can even be performed
by simply passing system properties
from one process to another via the
command line [
Ant/JUnit
Example].