Class InternalResourceGroup
java.lang.Object
io.trino.execution.resourcegroups.InternalResourceGroup
- All Implemented Interfaces:
ResourceGroup
Resource groups form a tree, and all access to a group is guarded by the root of the tree.
Queries are submitted to leaf groups. Never to intermediate groups. Intermediate groups
aggregate resource consumption from their children, and may have their own limitations that
are enforced.
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionInternalResourceGroup(String name, BiConsumer<InternalResourceGroup, Boolean> jmxExportListener, Executor executor) protectedInternalResourceGroup(Optional<InternalResourceGroup> parent, String name, BiConsumer<InternalResourceGroup, Boolean> jmxExportListener, Executor executor) -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidgenerateCpuQuota(long elapsedSeconds) longintgetId()getInfo()booleanintgetOrCreateSubGroup(String name) intintintintlongio.airlift.stats.CounterStatintinthashCode()protected voidinternalGenerateCpuQuota(long elapsedSeconds) protected booleanvoidrun(ManagedQueryExecution query) voidsetCpuQuotaGenerationMillisPerSecond(long rate) voidsetHardConcurrencyLimit(int hardConcurrencyLimit) voidsetHardCpuLimit(Duration limit) voidsetJmxExport(boolean export) voidsetMaxQueuedQueries(int maxQueuedQueries) voidsetSchedulingPolicy(SchedulingPolicy policy) voidsetSchedulingWeight(int weight) voidsetSoftConcurrencyLimit(int softConcurrencyLimit) voidsetSoftCpuLimit(Duration limit) voidsetSoftMemoryLimitBytes(long limit) toString()voidvoidprotected io.trino.execution.resourcegroups.ResourceUsage
-
Field Details
-
DEFAULT_WEIGHT
public static final int DEFAULT_WEIGHT- See Also:
-
-
Constructor Details
-
InternalResourceGroup
public InternalResourceGroup(String name, BiConsumer<InternalResourceGroup, Boolean> jmxExportListener, Executor executor) -
InternalResourceGroup
protected InternalResourceGroup(Optional<InternalResourceGroup> parent, String name, BiConsumer<InternalResourceGroup, Boolean> jmxExportListener, Executor executor)
-
-
Method Details
-
getFullInfo
-
getInfo
-
getPathToRoot
-
getId
- Specified by:
getIdin interfaceResourceGroup
-
getRunningQueries
public int getRunningQueries() -
getQueuedQueries
public int getQueuedQueries() -
getWaitingQueuedQueries
public int getWaitingQueuedQueries() -
getSoftMemoryLimitBytes
public long getSoftMemoryLimitBytes()- Specified by:
getSoftMemoryLimitBytesin interfaceResourceGroup
-
setSoftMemoryLimitBytes
public void setSoftMemoryLimitBytes(long limit) - Specified by:
setSoftMemoryLimitBytesin interfaceResourceGroup
-
getSoftCpuLimit
- Specified by:
getSoftCpuLimitin interfaceResourceGroup
-
setSoftCpuLimit
- Specified by:
setSoftCpuLimitin interfaceResourceGroup
-
getHardCpuLimit
- Specified by:
getHardCpuLimitin interfaceResourceGroup
-
setHardCpuLimit
- Specified by:
setHardCpuLimitin interfaceResourceGroup
-
getCpuQuotaGenerationMillisPerSecond
public long getCpuQuotaGenerationMillisPerSecond()- Specified by:
getCpuQuotaGenerationMillisPerSecondin interfaceResourceGroup
-
setCpuQuotaGenerationMillisPerSecond
public void setCpuQuotaGenerationMillisPerSecond(long rate) - Specified by:
setCpuQuotaGenerationMillisPerSecondin interfaceResourceGroup
-
getSoftConcurrencyLimit
public int getSoftConcurrencyLimit()- Specified by:
getSoftConcurrencyLimitin interfaceResourceGroup
-
setSoftConcurrencyLimit
public void setSoftConcurrencyLimit(int softConcurrencyLimit) - Specified by:
setSoftConcurrencyLimitin interfaceResourceGroup
-
getHardConcurrencyLimit
public int getHardConcurrencyLimit()- Specified by:
getHardConcurrencyLimitin interfaceResourceGroup
-
setHardConcurrencyLimit
public void setHardConcurrencyLimit(int hardConcurrencyLimit) - Specified by:
setHardConcurrencyLimitin interfaceResourceGroup
-
getMaxQueuedQueries
public int getMaxQueuedQueries()- Specified by:
getMaxQueuedQueriesin interfaceResourceGroup
-
setMaxQueuedQueries
public void setMaxQueuedQueries(int maxQueuedQueries) - Specified by:
setMaxQueuedQueriesin interfaceResourceGroup
-
getTimeBetweenStartsSec
public io.airlift.stats.CounterStat getTimeBetweenStartsSec() -
getSchedulingWeight
public int getSchedulingWeight()- Specified by:
getSchedulingWeightin interfaceResourceGroup
-
setSchedulingWeight
public void setSchedulingWeight(int weight) - Specified by:
setSchedulingWeightin interfaceResourceGroup
-
getSchedulingPolicy
- Specified by:
getSchedulingPolicyin interfaceResourceGroup
-
setSchedulingPolicy
- Specified by:
setSchedulingPolicyin interfaceResourceGroup
-
getJmxExport
public boolean getJmxExport()- Specified by:
getJmxExportin interfaceResourceGroup
-
setJmxExport
public void setJmxExport(boolean export) - Specified by:
setJmxExportin interfaceResourceGroup
-
getOrCreateSubGroup
-
run
-
updateGroupsAndProcessQueuedQueries
public void updateGroupsAndProcessQueuedQueries() -
generateCpuQuota
public void generateCpuQuota(long elapsedSeconds) -
triggerProcessQueuedQueries
public void triggerProcessQueuedQueries() -
updateResourceUsageAndGetDelta
protected io.trino.execution.resourcegroups.ResourceUsage updateResourceUsageAndGetDelta() -
internalGenerateCpuQuota
protected void internalGenerateCpuQuota(long elapsedSeconds) -
internalStartNext
protected boolean internalStartNext() -
subGroups
-
toString
-
equals
-
hashCode
public int hashCode()
-