Hyperon Runtime gives you built-in profilers, which you can use to figure out hot spots or verify your assumptions. You are able to use four types of profiles:
SQL profiler
JdbcProfiler is responsible for collecting SQL query statistics. It provides the following details:
JDBC query statistics in Hyperon Runtime can be fetched by using the pl.decerto.hyperon.runtime.profiler.jdbc.JdbcProfiler class. To get statistics just invoke getQueryStats() method, as shown below:
To reset load stats, invoke clear() method as shown below:
Parameter profiler provides invoke and load statistics:
Remember that the first invocation of a parameter performs two heavy operations:
All subsequent invocations are fast, as no I/O is needed - just in-memory index look up.
Parameter profiler in Hyperon Runtime can be fetched by using the pl.decerto.hyperon.runtime.profiler.engine.EngineProfiler.PARAMETER enum. To get invoke statistics just invoke getInvokeStats() method, as shown below:
To reset invoke stats, invoke clear() method as shown below:
To get load statistics just invoke getLoadStats() method, as shown below:
To reset load stats, invoke clear() method as shown below:
Function profiler provides invoke and load statistics:
Remember that the first invocation of function performs function compiling that might take some time. All subsequent invocations are fast, as no compilation is needed.
Function profiler in Hyperon Runtime can be fetched by using the pl.decerto.hyperon.runtime.profiler.engine.EngineProfiler.FUNCTION enum. To get invoke statistics just invoke getInvokeStats() method, as shown below:
To reset invoke stats, invoke clear() method as shown below:
To get load statistics just invokegetLoadStats() method, as shown below:
To reset load stats, invoke clear() method as shown below:
Domain attribute profiler provides invoke and load statistics:
Domain attribute profiler in Hyperon Runtime can be fetched by using the pl.decerto.hyperon.runtime.profiler.engine.AttributeEngineProfiler.DOMAIN enum. To get invoke statistics just invoke getInvokeStats() method, as shown below:
To reset invoke stats, invoke clear() method as shown below:
To get load statistics just invoke getLoadStats() method, as shown below:
To reset load stats, invoke clear() method as shown below:
For Hyperon Runtime-Rest profilers are available under respective REST endpoints.
SQL profiler
http://{host}:{port}/api/profiler/jdbc
Parameter usage profiler
http://{host}:{port}/api/profiler/parameter
Function usage profiler
http://{host}:{port}/api/profiler/function
Domain attribute usage profiler
http://{host}:{port}/api/profiler/domain/attr
All profilers for Hyperon Studio are available under http://{host}:{port}/hyperon/profiler. In Hyperon Studio, profilers are providing information only about your tester executions.