...
Example of similar tools in other products: AWR [1] [2] [3] (Oracle) ; pgbadger [4], pgmetrics [5], powa [6] (PostgresSQL).
...
The Ignite will provide public facade to manage profiling mode:
ignite.profiling().enable(); // Turns on profiling mode.
ignite.profiling().disable(); // Turns off profiling mode.ignite.profiling().isEnabled(); // Is profiling mode turn on?
Profiling mode can be managed from CLI (And JMX):
...
The Ignite will provide the public SPI interface (ProfilingSpi
) to log statistics. It can be configured via IgniteConfiguration
. It describes follow methods:
The internal processor (ProfilingProcessor)
will be used to manage profiling whole cluster. It will be availible from KernalContext
.
The new ignite-profiling
module will contain:
LogProfilingSpiImpl
) based on async logging to the configured file. report.sh(bat)
The performance report will be in a human-readable text format format (html page) and should contain:
...
Additional investigation required to gather following statistics:
The new interface will be added: ProfilingSpi
.
The new ignite facade will be added: ignite.profiling()
.
The new module will be created: ignite-profiling
.
Node left will not affect to the cluster profiling mode.
...
The Ignite will log some additional internal performance statistics to profiling files. The format is like WAL logging.
One disk-writer thread and off-heap memory buffer will be used to minimize affect on performance. Maximum file size and buffer size can be configured on start.
The new extension performance-statistics-ext
module will be introduced. It will contain the tool to build the report: build-report.sh(bat).
The JSON format is used to store aggregated statistics and next draw in the report.
The report is based on the bootstrap library and can be viewed in a browser offline.
1) JMX:
PerformanceStatisticsMBean
void start()
// Start collecting performance statistics in the cluster.void stop()
// Stop collecting performance statistics in the cluster.boolean enabled()
// True if collecting performance statistics enabled.2) Control.sh utility. Functionality is like JMX.
3) System properties:
Enabled profiling mode could will cause performance degradation.
...
Jira | ||||||
---|---|---|---|---|---|---|
|
// Links or report with relevant JIRA tickets.