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

EclipseLink/DesignDocs/321763

< EclipseLink‎ | DesignDocs
Revision as of 12:17, 5 August 2010 by James.sutherland.oracle.com (Talk | contribs) (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...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.