Skip to main content
Jump to: navigation, search

Difference between revisions of "EclipseLink/DesignDocs/321763"

(Future Considerations)
(Requirements)
Line 31: Line 31:
 
= Requirements =
 
= Requirements =
  
Make use of the existing SessionProfiler API that was designed for DMS.
+
* Make use of the existing SessionProfiler API that was designed for DMS.
Support multi-threading.
+
* Support multi-threading.
Support a server environment.
+
* Support a server environment.
Be configurable without any Java code.
+
* Be configurable without any Java code.
  
 
= Design Constraints =
 
= Design Constraints =

Revision as of 13:23, 5 August 2010

Design Specification: Performance Monitor

ER 321763

Feedback

Document History

Date Author Version Description & Notes
2010-08-05 James 0.1 Draft

Project overview

We currently have two profilers, the PerformanceProfiler and the QueryMonitor. The PerformanceProfiler provides detailed information, but is not very useful in a server environment. The QueryMonitor is useful in a server environment, but does not provide detailed information. EclipseLink already contains an extensive profiling and monitoring API that was previously developed under TopLink for Oracle DMS, but does not provide a profiler implementation that makes use of these APIs.

The PerformanceMonitor's goal is to somewhat unify the PerformanceProfiler and QueryMonitor to provide detailed profiling and monitoring information in a mutli-threaded server environment.

Concepts

Profiling is mainly concerned with timing information (time spent in cache, querying), monitoring is mainly concerned with state information (cache size, number of transactions).

Requirements

  • Make use of the existing SessionProfiler API that was designed for DMS.
  • Support multi-threading.
  • Support a server environment.
  • Be configurable without any Java code.

Design Constraints

Functionality

Testing

Output of profiler should be analyzed under SRG test run, performance tests, and in JEE performance benchmark runs.

API

  • ProfilerType - PerformanceMonitor
  • PerformanceMonitor
    • getOperationTimings()
    • setDumpTime(int)

Config files

  • persistence.xml
    • <property name="eclipselink.profiler" value="PerformanceMonitor"/>

Documentation

Should be documented under performance section of JPA user guide.

Open Issues

Issue # Owner Description / Notes
1 Are there additional metrics to profile?

Decisions

Issue # Description / Notes Decision

Future Considerations

  • Additional metrics.
  • JMX support.

Back to the top