Provide ability to capture statistics for business transactions serviced by
the application. This would involve providing a capability to define a
business transaction in InfraRED. Based on this definition, the statistics
would be captured and reported.
Update documentation:
Usage of Request Filters: Explain how it can be leveraged for getting
useful information.
Fetch Statistics: Explain the information provided by this section in
detail and how is it relevant.
Track remote calls across VMs and provide an end-to-end call sequence
(spanning remote calls).
JDBC: Time taken to get a connection from the pool (this will identify
issues with connection pool configuration).
JMX support (expose InfraRED statistics via JMX).
Self-tuning Instrumenter
How to automatically figure out what and how much to instrument?
Measure and report the actual overhead.
Allow applications to set a certain upper-limit for the overhead and
adapt the data gathering to that overhead.
Trend analysis - pick a few metrics and a time-frame and plot the value of
those metrics over that timeframe.
Integration with other metrics
Metrics collected by application servers
Metrics collected by JVM
JDK 1.5 has a Monitoring API
JRockit has several monitoring features
Network performance.
Database metrics.
Show how much memory InfraRED takes. Control how much memory InfraRED takes
- for example, we can allow specification of maximum memory for IR.
Link top n SQL queries to their execution path. i.e. from the JDBC summary
page where we list the top 'n' queries, we should make the queries clickable
and take it to a page that shows the reverse call tree of where this query
was made from.
JMX notifications if certain queries and APIs take more than a certain time.
Notifications can be both for individual API execution times as well for
If an API/query takes more than a certain time, we can auto-trigger gathering
more statistics for that API (such as getting call-trees) so that it's easy
to debug the problem.
Report total number of calls into each layer. This will help in seeing if
load balancing is happening correctly.
Add a feature to show statistics for a list of servers one below the other.
(Right now, we aggregate stats for a set of servers or we can see the stats
for one server at a time, but we would like to select a set of servers and
see stats for each server one after another).
Reporting capability on components that are throwing the most number of
exceptions.
Correlation with weblogic metrics (Number of EJB activation/passivation,
pool sizes etc.) and integrate and correlate these stats with InfraRED.
Integration with Cactus/ JUnit tests and report failures - i.e. report on
APIs taking more than certain time and dump call trees for those APIs.
Provide an API to get the data and call trees as well.