3

我正在尝试显示地图的统计信息。它总是显示没有命中为 0。我正在使用以下代码。

IMap<String, byte[]> map = Hazelcast.getMap("SOMEMAP");
LocalMapStatsImpl local = (LocalMapStatsImpl) map.getLocalMapStats();
System.out.println(map.getLocalMapStats());

输出是

LocalMapStatsImpl{ownedEntryCount=0, backupEntryCount=1, markedAsRemovedEntryCount=0, ownedEntryMemoryCost=0, backupEntryMemoryCost=13841, markedAsRemovedMemoryCost=0, creationTime=1323806943770, lastAccessTime=0, lastUpdateTime=0, lastEvictionTime=0, hits=0, lockedEntryCount=0, lockWaitCount=0, dirtyEntryCount=0, LocalMapOperationStats{total= 0, puts:OperationStat{count=0, averageLatency=0}, gets:OperationStat{count=0, verageLatency=0}, emoves:OperationStat{count=0, averageLatency=0}, others: 0, received events: 0}}

任何帮助表示赞赏。我想知道点击数、地图大小和条目数。

4

2 回答 2

2

确保将一些条目放入地图。从统计数据中可以看出,您在地图中只有一个条目,并且该条目由另一个节点拥有,当前节点具有该条目的备份(ownedEntryCount=0,backupEntryCount=1)。

请注意,此统计信息仅适用于当前节点本地地图。如果您有多个节点并且当前节点在您获取统计信息时不拥有任何数据,那么您将获得 0 表示没有命中或拥有的条目数。

使用 Hazelcast 1.9.4.4(截至目前的最新版本)和单节点,我可以通过以下方式获取统计信息;

IMap map = Hazelcast.getMap("test");
for (int i = 0; i < 100; i++) {
    map.put(i, i);
    map.get(i);
}
LocalMapStats stats = map.getLocalMapStats();
System.err.println(stats.getHits());
System.err.println(stats.getOwnedEntryCount());

hits 和ownedEntryCount 都显示为 100。

LocalMapStatsImpl{ownedEntryCount=100, backupEntryCount=0, markedAsRemovedEntryCount=0, ownedEntryMemoryCost=42100, backupEntryMemoryCost=0, markedAsRemovedMemoryCost=0, creationTime=1323844949878, lastAccessTime=1323844949908, lastUpdateTime=0, lastEvictionTime=0, hits=100, lockedEntryCount=0, lockWaitCount=0, dirtyEntryCount=0, LocalMapOperationStats{total= 200, puts:OperationStat{count=100, averageLatency=0}, gets:OperationStat{count=100, averageLatency=0}, removes:OperationStat{count=0, averageLatency=0}, others: 0, received events: 0}}

试试这个,看看你是否会得到相同的结果。否则,要么您的地图为空,要么您使用的版本存在错误。

于 2011-12-14T06:54:22.957 回答
1

下载 hazelcast-monitor9.3.4.jar 并在其中安装您的本地 apache 网络服务器。访问 Web 应用程序。它将启动一个登录页面。只需提供集群名称、密码和服务器:端口,然后单击连接。它将显示所有带有统计信息的地图。

于 2012-02-12T14:55:17.143 回答