| /* |
| * ========================================================================= |
| * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved. |
| * This product is protected by U.S. and international copyright |
| * and intellectual property laws. Pivotal products are covered by |
| * more patents listed at http://www.pivotal.io/patents. |
| * ======================================================================== |
| */ |
| package com.gemstone.gemfire.management; |
| |
| import com.gemstone.gemfire.cache.CacheListener; |
| import com.gemstone.gemfire.cache.CacheWriter; |
| import com.gemstone.gemfire.cache.EvictionAlgorithm; |
| import com.gemstone.gemfire.cache.Region; |
| import com.gemstone.gemfire.cache.wan.GatewaySender; |
| |
| /** |
| * MBean that provides access to information and management functionality for a |
| * {@link Region}. |
| * |
| * @author rishim |
| * @since 7.0 |
| * |
| */ |
| public interface DistributedRegionMXBean { |
| |
| /** |
| * Returns the name of the Region. |
| */ |
| public String getName(); |
| |
| /** |
| * Returns the number of members hosting/using the Region. |
| */ |
| public int getMemberCount(); |
| |
| /** |
| * Returns a list of names/IDs of the members hosting the Region. |
| */ |
| public String[] getMembers(); |
| |
| /** |
| * Returns the type (data policy) of the Region. |
| */ |
| public String getRegionType(); |
| |
| /** |
| * Returns the full path of the Region. |
| */ |
| public String getFullPath(); |
| |
| /** |
| * Returns the name of the parent Region. |
| */ |
| public String getParentRegion(); |
| |
| /** |
| * Returns a list of the names of the subregions. |
| * |
| * @param recursive |
| * <code>true</code> to recursively traverse and find sub-regions. |
| */ |
| public String[] listSubRegionPaths(boolean recursive); |
| |
| /** |
| * Returns the attributes of the Region. |
| */ |
| public RegionAttributesData listRegionAttributes(); |
| |
| /** |
| * Returns the partition attributes of the Region. |
| */ |
| public PartitionAttributesData listPartitionAttributes(); |
| |
| /** |
| * Returns the fixed partition attributes of the Region. |
| */ |
| public FixedPartitionAttributesData[] listFixedPartitionAttributesData(); |
| |
| /** |
| * Returns the eviction attributes of the Region. |
| */ |
| public EvictionAttributesData listEvictionAttributes(); |
| |
| /** |
| * Returns the membership attributes of the Region. |
| */ |
| public MembershipAttributesData listMembershipAttributes(); |
| |
| /** |
| * Returns the time of the most recent modification. |
| * For partitioned region it will be -1. This feature is not supported for partitioned regions. |
| */ |
| public long getLastModifiedTime(); |
| |
| /** |
| * Returns the time of the most recent access. |
| * For partitioned region it will be -1. This feature is not supported for partitioned regions. |
| */ |
| public long getLastAccessedTime(); |
| |
| /** |
| * Returns the number of times that a cache miss occurred. |
| * For partitioned region it will be -1. This feature is not supported for partitioned regions. |
| */ |
| public long getMissCount(); |
| |
| /** |
| * Returns the number of times that a hit occurred. |
| * For partitioned region it will be -1. This feature is not supported for partitioned regions. |
| */ |
| public long getHitCount(); |
| |
| /** |
| * Returns the hit to miss ratio. |
| * For partitioned region it will be -1. This feature is not supported for partitioned regions. |
| */ |
| public float getHitRatio(); |
| |
| |
| /** |
| * Returns the number of entries in the Region. |
| * |
| * For HDFS regions it will be count of only in memory data. |
| */ |
| public long getSystemRegionEntryCount(); |
| |
| /** |
| * Returns the number of gets per second. |
| */ |
| public float getGetsRate(); |
| |
| /** |
| * Returns the number of puts per second. |
| */ |
| public float getPutsRate(); |
| |
| /** |
| * Returns the number of creates per second. |
| */ |
| public float getCreatesRate(); |
| |
| /** |
| * Returns the number of destroys per second. |
| */ |
| public float getDestroyRate(); |
| |
| /** |
| * Returns the number of putAlls per second. |
| */ |
| public float getPutAllRate(); |
| |
| /** |
| * Returns the number of local puts per second. |
| */ |
| public float getPutLocalRate(); |
| |
| /** |
| * Returns the number of remote puts per second. |
| */ |
| public float getPutRemoteRate(); |
| |
| /** |
| * Returns the latency for the most recent remote put. |
| */ |
| public long getPutRemoteLatency(); |
| |
| /** |
| * Returns the average latency for remote puts. |
| */ |
| public long getPutRemoteAvgLatency(); |
| |
| /** |
| * Returns the current number of entries whose values are only on disk (not in |
| * memory). Entries may not exist in memory if they have been overflowed to |
| * disk or not yet been faulted in after a recovery. |
| */ |
| public long getTotalEntriesOnlyOnDisk(); |
| |
| /** |
| * Returns the current number of entries held in memory. |
| */ |
| public long getTotalDiskEntriesInVM(); |
| |
| /** |
| * Returns the number of entries per second for all disks. |
| */ |
| public float getDiskReadsRate(); |
| |
| /** |
| * Returns the number of entries per second for all disks. |
| */ |
| public float getDiskWritesRate(); |
| |
| /** |
| * Returns the current number of disk tasks (op-log compaction, asynchronous |
| * recoveries, etc) that are waiting for a thread to run. |
| * @deprecated |
| */ |
| public long getDiskTaskWaiting(); |
| |
| /** |
| * Returns the current number of disk writes in progress. |
| */ |
| public long getTotalDiskWritesProgress(); |
| |
| /** |
| * Returns the average latency of a call to a {@link CacheWriter}. |
| */ |
| public long getCacheWriterCallsAvgLatency(); |
| |
| /** |
| * Returns the average latency of a call to a {@link CacheListener}. |
| */ |
| public long getCacheListenerCallsAvgLatency(); |
| |
| /** |
| * Returns the entry eviction rate as triggered by the LRU policy. |
| */ |
| |
| public float getLruEvictionRate(); |
| |
| /** |
| * Returns the rate of entries destroyed either by destroy cache operations or |
| * eviction. |
| */ |
| public float getLruDestroyRate(); |
| |
| /** |
| * Returns the number of buckets on this member. Only applicable for partitioned |
| * regions. |
| */ |
| public int getBucketCount(); |
| |
| /** |
| * Returns the number of primary buckets on this member. Only applicable for |
| * partitioned regions. |
| */ |
| public int getPrimaryBucketCount(); |
| |
| /** |
| * Returns the number of buckets without full redundancy. Only applicable for |
| * partitioned regions. |
| */ |
| public int getNumBucketsWithoutRedundancy(); |
| |
| /** |
| * Returns the total number of entries in all buckets. Only applicable for |
| * partitioned regions. |
| */ |
| public int getTotalBucketSize(); |
| |
| /** |
| * Returns the average number of entries in bucket. Only applicable for |
| * partitioned regions. |
| */ |
| public int getAvgBucketSize(); |
| |
| /** |
| * Returns the total number of bytes used by all disks. |
| */ |
| public long getDiskUsage(); |
| |
| /** |
| * Returns the average number of read requests per second. |
| */ |
| public float getAverageReads(); |
| |
| /** |
| * Returns the average number of write requests per second. |
| */ |
| public float getAverageWrites(); |
| |
| /** |
| * Returns whether the Region sends data to a {@link GatewaySender}. |
| * |
| * @return True if the Region sends data, false otherwise. |
| */ |
| public boolean isGatewayEnabled(); |
| |
| /** |
| * Returns whether persistence is enabled. |
| * |
| * @return True if persistence is enabled, false otherwise. |
| */ |
| public boolean isPersistentEnabled(); |
| |
| /** |
| * Returns the aggregate entry size (in megabytes) of all entries. This will |
| * provide a correct value only if the eviction algorithm has been set to |
| * {@link EvictionAlgorithm#LRU_MEMORY}. |
| */ |
| public long getEntrySize(); |
| |
| /** |
| * Returns the number of members whose entry count is 0. |
| */ |
| public int getEmptyNodes(); |
| |
| |
| /** |
| * An estimated entry count for HDFS Read-Write region.This may not be accurate but acts |
| * as an indicative value. |
| * |
| * For other regions it will be -1 ( Not Available) |
| */ |
| public long getEstimatedSizeForHDFSRegion(); |
| |
| } |