Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Index.php?title=EclipseLink/DesignDocs/321763"

(New page: <div style="margin:5px;float:right;border:1px solid #000000;padding:5px">__TOC__</div> = Design Specification: Performance Monitor = [http://bugs.eclipse.org/321763 ER 321763] [[Talk:Ecl...)
 
(Removing all content from page)
 
Line 1: Line 1:
<div style="margin:5px;float:right;border:1px solid #000000;padding:5px">__TOC__</div>
 
= Design Specification: Performance Monitor =
 
  
[http://bugs.eclipse.org/321763 ER 321763]
 
 
[[Talk:EclipseLink/DesignDocs/321763 | Feedback]]
 
 
= Document History =
 
{|{{BMTableStyle}}
 
|-{{BMTHStyle}}
 
! 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=
 
 
{|{{BMTableStyle}}
 
|-{{BMTHStyle}}
 
! Issue #
 
! Owner
 
! Description / Notes
 
|-
 
| 1
 
| Are there additional metrics to profile?
 
|}
 
 
= Decisions =
 
 
{|{{BMTableStyle}}
 
|-{{BMTHStyle}}
 
! Issue #
 
! Description / Notes
 
! Decision
 
|-
 
|-
 
|}
 
 
= Future Considerations =
 
Additional metrics.
 

Latest revision as of 12:18, 5 August 2010

Back to the top