Package io.prestosql.memory
Class ClusterMemoryManager
- java.lang.Object
-
- io.prestosql.memory.ClusterMemoryManager
-
- All Implemented Interfaces:
ClusterMemoryPoolManager
public class ClusterMemoryManager extends Object implements ClusterMemoryPoolManager
-
-
Constructor Summary
Constructors Constructor Description ClusterMemoryManager(io.airlift.http.client.HttpClient httpClient, InternalNodeManager nodeManager, LocationFactory locationFactory, org.weakref.jmx.MBeanExporter exporter, io.airlift.json.JsonCodec<MemoryInfo> memoryInfoCodec, io.airlift.json.JsonCodec<MemoryPoolAssignmentsRequest> assignmentsRequestJsonCodec, QueryIdGenerator queryIdGenerator, LowMemoryKiller lowMemoryKiller, ServerConfig serverConfig, MemoryManagerConfig config, NodeMemoryConfig nodeMemoryConfig, NodeSchedulerConfig schedulerConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChangeListener(MemoryPoolId poolId, Consumer<MemoryPoolInfo> listener)
void
destroy()
long
getClusterMemoryBytes()
long
getClusterTotalMemoryReservation()
long
getClusterUserMemoryReservation()
Map<MemoryPoolId,MemoryPoolInfo>
getMemoryPoolInfo()
int
getNumberOfLeakedQueries()
long
getQueriesKilledDueToOutOfMemory()
long
getTotalAvailableProcessors()
Map<String,Optional<MemoryInfo>>
getWorkerMemoryInfo()
boolean
memoryPoolExists(MemoryPoolId poolId)
void
process(Iterable<QueryExecution> runningQueries, Supplier<List<BasicQueryInfo>> allQueryInfoSupplier)
-
-
-
Constructor Detail
-
ClusterMemoryManager
@Inject public ClusterMemoryManager(io.airlift.http.client.HttpClient httpClient, InternalNodeManager nodeManager, LocationFactory locationFactory, org.weakref.jmx.MBeanExporter exporter, io.airlift.json.JsonCodec<MemoryInfo> memoryInfoCodec, io.airlift.json.JsonCodec<MemoryPoolAssignmentsRequest> assignmentsRequestJsonCodec, QueryIdGenerator queryIdGenerator, LowMemoryKiller lowMemoryKiller, ServerConfig serverConfig, MemoryManagerConfig config, NodeMemoryConfig nodeMemoryConfig, NodeSchedulerConfig schedulerConfig)
-
-
Method Detail
-
addChangeListener
public void addChangeListener(MemoryPoolId poolId, Consumer<MemoryPoolInfo> listener)
- Specified by:
addChangeListener
in interfaceClusterMemoryPoolManager
-
memoryPoolExists
public boolean memoryPoolExists(MemoryPoolId poolId)
-
process
public void process(Iterable<QueryExecution> runningQueries, Supplier<List<BasicQueryInfo>> allQueryInfoSupplier)
-
getMemoryPoolInfo
public Map<MemoryPoolId,MemoryPoolInfo> getMemoryPoolInfo()
-
getWorkerMemoryInfo
public Map<String,Optional<MemoryInfo>> getWorkerMemoryInfo()
-
destroy
@PreDestroy public void destroy() throws IOException
- Throws:
IOException
-
getTotalAvailableProcessors
public long getTotalAvailableProcessors()
-
getNumberOfLeakedQueries
public int getNumberOfLeakedQueries()
-
getClusterUserMemoryReservation
public long getClusterUserMemoryReservation()
-
getClusterTotalMemoryReservation
public long getClusterTotalMemoryReservation()
-
getClusterMemoryBytes
public long getClusterMemoryBytes()
-
getQueriesKilledDueToOutOfMemory
public long getQueriesKilledDueToOutOfMemory()
-
-