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.
EclipseLink/DesignDocs/321763
Design Specification: Performance Monitor
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.