com.gemstone.gemfire.management.CacheServerMXBean Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gemfire-core Show documentation
Show all versions of gemfire-core Show documentation
Apache Geode (incubating) provides a database-like consistency model, reliable transaction processing and a shared-nothing architecture to maintain very low latency performance with high concurrency processing
The newest version!
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.gemstone.gemfire.management;
import com.gemstone.gemfire.cache.server.CacheServer;
/**
* MBean that provides access to information and management functionality for a
* {@link CacheServer}.
*
* The will be one CacheServermBean per {@link CacheServer} started in GemFire node.
*
*
ObjectName for this MBean is GemFire:service=CacheServer,port={0},type=Member,member={1}
*
*
*
* Notification Type
* Notification Source
* Message
*
*
* gemfire.distributedsystem.cacheserver.client.joined
* CacheServer MBean Name
* Client joined with Id <Client ID>
*
*
* gemfire.distributedsystem.cacheserver.client.left
* CacheServer MBean Name
* Client crashed with Id <Client ID>
*
*
* gemfire.distributedsystem.cacheserver.client.crashed
* CacheServer MBean Name
* Client left with Id <Client ID>
*
*
*
* @author rishim
* @since 7.0
*
*/
public interface CacheServerMXBean {
/**
* Returns the port on which this CacheServer listens for clients.
*/
public int getPort();
/**
* Returns a string representing the IP address or host name that this
* CacheServer will listen on.
*/
public String getBindAddress();
/**
* Returns the configured buffer size of the socket connection for this CacheServer.
*/
public int getSocketBufferSize();
/**
* Returns the maximum amount of time between client pings. This value is used to determine the
* health of client's attached to the server.
*/
public int getMaximumTimeBetweenPings();
/**
* Returns the maximum allowed client connections.
*/
public int getMaxConnections();
/**
* Returns the maxium number of threads allowed in this CacheServer to service client requests.
*/
public int getMaxThreads();
/**
* Returns the maximum number of messages that can be enqueued in a client-queue.
*/
public int getMaximumMessageCount();
/**
* Returns the time (in seconds) after which a message in the client queue will expire.
*/
public int getMessageTimeToLive();
/**
* Returns the frequency (in milliseconds) to poll the load probe on this CacheServer.
*/
public long getLoadPollInterval();
/**
* Returns the name or IP address to pass to the client as the location
* where the server is listening. When the server connects to the locator it tells
* the locator the host and port where it is listening for client connections. If
* the host the server uses by default is one that the client can’t translate into
* an IP address, the client will have no route to the server’s host and won’t be
* able to find the server. For this situation, you must supply the server’s
* alternate hostname for the locator to pass to the client.
*/
public String getHostNameForClients();
/**
* Returns the load probe for this CacheServer.
*/
public ServerLoadData fetchLoadProbe();
/**
* Returns whether or not this CacheServer is running.
*
* @return True of the server is running, false otherwise.
*/
public boolean isRunning();
/**
* Returns the capacity (in megabytes) of the client queue.
*/
public int getCapacity();
/**
* Returns the eviction policy that is executed when the capacity of the client
* queue is reached.
*/
public String getEvictionPolicy();
/**
* Returns the name of the disk store that is used for persistence.
*/
public String getDiskStoreName();
/**
* Returns the number of sockets accepted and used for client to server messaging.
*/
public int getClientConnectionCount();
/**
* Returns the number of client virtual machines connected.
*/
public int getCurrentClients();
/**
* Returns the average get request latency.
*/
public long getGetRequestAvgLatency();
/**
* Returns the average put request latency.
*/
public long getPutRequestAvgLatency();
/**
* Returns the total number of client connections that timed out and were
* closed.
*/
public int getTotalConnectionsTimedOut();
/**
* Returns the total number of client connection requests that failed.
*/
public int getTotalFailedConnectionAttempts();
/**
* Returns the current number of connections waiting for a thread to start
* processing their message.
*/
public int getThreadQueueSize();
/**
* Returns the current number of threads handling a client connection.
*/
public int getConnectionThreads();
/**
* Returns the load from client to server connections as reported by the load
* probe installed in this server.
*/
public double getConnectionLoad();
/**
* Returns the estimate of how much load is added for each new connection as
* reported by the load probe installed in this server.
*/
public double getLoadPerConnection();
/**
* Returns the load from queues as reported by the load probe installed in
* this server.
*/
public double getQueueLoad();
/**
* Returns the estimate of how much load is added for each new queue as
* reported by the load probe installed in this server.
*/
public double getLoadPerQueue();
/**
* Returns the rate of get requests.
*/
public float getGetRequestRate();
/**
* Returns the rate of put requests.
*/
public float getPutRequestRate();
/**
* Returns the total number of bytes sent to clients.
*/
public long getTotalSentBytes();
/**
* Returns the total number of bytes received from clients.
*/
public long getTotalReceivedBytes();
/**
* Returns the number of cache client notification requests.
*/
public int getNumClientNotificationRequests();
/**
* Returns the average latency for processing client notifications.
*/
public long getClientNotificationAvgLatency();
/**
* Returns the rate of client notifications.
*/
public float getClientNotificationRate();
/**
* Returns the number of registered CQs.
*/
public long getRegisteredCQCount();
/**
* Returns the number of active (currently executing) CQs.
*/
public long getActiveCQCount();
/**
* Returns the rate of queries.
*/
public float getQueryRequestRate();
/**
* Returns the total number of indexes in use by the member.
*/
public int getIndexCount();
/**
* Returns a list of names for all indexes.
*/
public String[] getIndexList();
/**
* Returns the total time spent updating indexes due to changes in the data.
*/
public long getTotalIndexMaintenanceTime();
/**
* Remove an index.
*
* @param indexName
* Name of the index to be removed.
*/
public void removeIndex(String indexName) throws Exception;
/**
* Returns a list of names for all registered CQs.
*/
public String[] getContinuousQueryList();
/**
* Execute an ad-hoc CQ on the server
*
* @param queryName
* Name of the CQ to execute.
* @deprecated This method is dangerous because it only modifies the
* target cache server - other copies of the CQ on other servers are
* not affected. Using the client side CQ methods to modify a CQ.
*/
@Deprecated
public void executeContinuousQuery(String queryName) throws Exception;
/**
* Stop (pause) a CQ from executing
*
* @param queryName
* Name of the CQ to stop.
*
* @deprecated This method is dangerous because it only modifies the
* target cache server - other copies of the CQ on other servers are
* not affected. Using the client side CQ methods to modify a CQ.
*/
@Deprecated
public void stopContinuousQuery(String queryName) throws Exception;
/**
* Unregister all CQs from a region
*
* @param regionName
* Name of the region from which to remove CQs.
* @deprecated This method is dangerous because it only modifies the
* target cache server - other copies of the CQ on other servers are
* not affected. Using the client side CQ methods to modify a CQ.
*/
@Deprecated
public void closeAllContinuousQuery(String regionName) throws Exception;
/**
* Unregister a CQ
*
* @param queryName
* Name of the CQ to unregister.
* @deprecated This method is dangerous because it only modifies the
* target cache server - other copies of the CQ on other servers are
* not affected. Using the client side CQ methods to modify a CQ.
*/
@Deprecated
public void closeContinuousQuery(String queryName) throws Exception;
/**
* Returns a list of IDs for all connected clients.
*
* @return A list of IDs or a length 0 array if no clients are registered.
*/
public String[] getClientIds() throws Exception;
/**
* Returns health and statistic information for the give client id. Some of the
* information (CPUs, NumOfCacheListenerCalls, NumOfGets,NumOfMisses,
* NumOfPuts,NumOfThreads, ProcessCpuTime) only available for clients which
* have set a "StatisticsInterval".
*
* @param clientId
* ID of the client for which to retrieve information.
*/
public ClientHealthStatus showClientStats(String clientId) throws Exception;
/**
* Returns the number of clients who have existing subscriptions.
*/
public int getNumSubscriptions();
/**
* Returns health and statistic information for all clients. Some of the
* information (CPUs, NumOfCacheListenerCalls, NumOfGets,NumOfMisses,
* NumOfPuts,NumOfThreads, ProcessCpuTime) only available for clients which
* have set a "StatisticsInterval".
*/
public ClientHealthStatus[] showAllClientStats() throws Exception;
/**
* Shows a list of client with their queue statistics. Client queue statistics
* shown in this method are the following
*
* eventsEnqued,eventsRemoved , eventsConflated ,markerEventsConflated ,
* eventsExpired, eventsRemovedByQrm , eventsTaken , numVoidRemovals
*
* @return an array of ClientQueueDetail
* @throws Exception
*/
public ClientQueueDetail[] showClientQueueDetails() throws Exception;
/**
*
* Shows queue statistics of the given client. Client queue statistics
* shown in this method are the following
*
* eventsEnqued,eventsRemoved , eventsConflated ,markerEventsConflated ,
* eventsExpired, eventsRemovedByQrm , eventsTaken , numVoidRemovals
*
* @param clientId the ID of client which is returned by the attribute ClientIds
* @return ClientQueueDetail
* @throws Exception
*/
public ClientQueueDetail showClientQueueDetails(String clientId) throws Exception;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy