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
SnappyData store based off Pivotal GemFireXD
/*
* Copyright (c) 2010-2015 Pivotal Software, Inc. All rights reserved.
*
* Licensed 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. See accompanying
* LICENSE file.
*/
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}.
*
* Notification emitted are
* a)gemfire.distributedsystem.cacheserver.client.joined
* b)gemfire.distributedsystem.cacheserver.client.left
* c)gemfire.distributedsystem.cacheserver.client.crashed
*
* @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.
*/
public void executeContinuousQuery(String queryName) throws Exception;
/**
* Stop (pause) a CQ from executing
*
* @param queryName
* Name of the CQ to stop.
*/
public void stopContinuousQuery(String queryName) throws Exception;
/**
* Unregister all CQs from a region
*
* @param regionName
* Name of the region from which to remove CQs.
*/
public void closeAllContinuousQuery(String regionName) throws Exception;
/**
* Unregister a CQ
*
* @param queryName
* Name of the CQ to unregister.
*/
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 a client. Information is 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. Information is
* only available for clients which have set a "StatisticsInterval".
*/
public ClientHealthStatus[] showAllClientStats() throws Exception;
}