26.11.3 Retrieving and Inspecting the Execution Environment
Execution environments are bound to a session. You can retrieve the execution environment for a session by calling getExecutionEnvironment()
on a PgxSession
:
opg4j> execEnv.getValues()
==> [analysis-pool.max_num_threads=4, analysis-pool.weight=4, analysis-pool.priority=MEDIUM, io-pool.num_threads_per_task=4, fast-track-analysis-pool.max_num_threads=4, fast-track-analysis-pool.weight=1, fast-track-analysis-pool.priority=HIGH]
import oracle.pgx.api.*;
import java.util.List;
import java.util.Map.Entry;
List<Entry<String, Object>> currentValues = execEnv.getValues();
for (Entry<String, Object> value : currentValues) {
System.out.println(value.getKey() + " = " + value.getValue());
}
See Enterprise Scheduler Configuration Guide for the values of an unmodified execution environment.
To retrieve the sub-environments use the getIoEnvironment()
,
getAnalysisEnvironment()
and
getFastAnalysisEnvironment()
methods. Each sub-environment has their own
getValues()
method for retrieving the configuration of the
sub-environment.
opg4j> var ioEnv = execEnv.getIoEnvironment()
ioEnv ==> IoEnvironment[pool=io-pool]
opg4j> ioEnv.getValues()
$5 ==> {num_threads_per_task=4}
opg4j> var analysisEnv = execEnv.getAnalysisEnvironment()
analysisEnv ==> CpuEnvironment[pool=analysis-pool]
opg4j> analysisEnv.getValues()
$7 ==> {max_num_threads=4, weight=4, priority=MEDIUM}
opg4j> var fastAnalysisEnv = execEnv.getFastAnalysisEnvironment()
fastAnalysisEnv ==> CpuEnvironment[pool=fast-track-analysis-pool]
opg4j> fastAnalysisEnv.getValues()
$9 ==> {max_num_threads=4, weight=1, priority=HIGH}
import oracle.pgx.api.*;
import oracle.pgx.api.executionenvironment.*;
import java.util.Map;
IoEnvironment ioEnv = execEnv.getIoEnvironment();
CpuEnvironment analysisEnv = execEnv.getAnalysisEnvironment();
CpuEnvironment fastAnalysisEnv = execEnv.getFastAnalysisEnvironment();
for (Entry<String, Object> value : ioEnv.getValues().getEntrySet()) {
System.out.println(value.getKey() + " = " + value.getValue());
}
for (Entry<String, Object> value : analysisEnv.getValues().getEntrySet()) {
System.out.println(value.getKey() + " = " + value.getValue());
}
for (Entry<String, Object> value : fastAnalysisEnv.getValues().getEntrySet()) {
System.out.println(value.getKey() + " = " + value.getValue());
}
Parent topic: Advanced Task Scheduling Using Execution Environments