Skip to main content
Jump to: navigation, search

EclipseLink/DesignDocs/321763

< EclipseLink‎ | DesignDocs
Revision as of 13:22, 5 August 2010 by James.sutherland.oracle.com (Talk | contribs) (Future Considerations)

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.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.