use of com.oracle.coherence.plugin.visualvm.tablemodel.model.ServiceMemberData in project coherence-visualvm by oracle.
the class AbstractDataRetrieverTest method testServiceData.
/**
* Test the retrieval of ServiceData via the VisualVMModel.
*/
public void testServiceData() {
List<Map.Entry<Object, Data>> serviceData;
List<Map.Entry<Object, Data>> serviceMemberData;
VisualVMModel model = getModel();
assertClusterReady();
waitForRefresh();
// refresh the statistics
model.refreshStatistics(getRequestSender());
serviceData = model.getData(VisualVMModel.DataType.SERVICE);
setCurrentDataType(VisualVMModel.DataType.SERVICE);
// the services will be ordered as above, alphabetically
Map.Entry<Object, Data> distService1 = getData(serviceData, DIST1_SERVICE);
Map.Entry<Object, Data> distService2 = getData(serviceData, DIST2_SERVICE);
Map.Entry<Object, Data> extendProxyService = getData(serviceData, PROXY_SERVICE);
Map.Entry<Object, Data> federatedService = getData(serviceData, FEDERATED_SERVICE);
Map.Entry<Object, Data> replicatedService = getData(serviceData, REPLICATED_SERVICE);
Assert.assertNotNull(distService1);
Assert.assertNotNull(distService2);
Assert.assertNotNull(extendProxyService);
// test Federation
if (isCommercial()) {
Assert.assertNotNull(federatedService);
validateColumn(ServiceData.STATUS_HA, federatedService, "NODE-SAFE");
validateColumn(ServiceData.STORAGE_MEMBERS, federatedService, 2);
}
setCurrentDataType(VisualVMModel.DataType.SERVICE);
// validate distributed caches
validateDistributedCacheService(distService1, DIST1_SERVICE);
validateDistributedCacheService(distService2, DIST2_SERVICE);
// validate proxy server
validateColumn(ServiceData.STATUS_HA, extendProxyService, "n/a");
validateColumn(ServiceData.MEMBERS, extendProxyService, 2);
validateColumn(ServiceData.STORAGE_MEMBERS, extendProxyService, 0);
// validate replicated scheme
validateColumn(ServiceData.STATUS_HA, replicatedService, "NODE-SAFE");
validateColumn(ServiceData.STORAGE_MEMBERS, replicatedService, 2);
// set the selected service and refresh to get ServiceMemberData
model.setSelectedService(DIST1_SERVICE);
assertClusterReady();
waitForRefresh();
// refresh the statistics
model.refreshStatistics(getRequestSender());
serviceMemberData = model.getData(VisualVMModel.DataType.SERVICE_DETAIL);
setCurrentDataType(VisualVMModel.DataType.SERVICE_DETAIL);
validateData(VisualVMModel.DataType.SERVICE_DETAIL, serviceMemberData, 2);
// ensure we have correct values
int nNode = 1;
for (Map.Entry<Object, Data> entry : serviceMemberData) {
validateColumn(ServiceMemberData.NODE_ID, entry, nNode++);
validateColumn(ServiceMemberData.THREAD_COUNT, entry, 10);
validateColumn(ServiceMemberData.THREAD_IDLE_COUNT, entry, 10);
validateColumn(ServiceMemberData.THREAD_UTILISATION_PERCENT, entry, 0.0f);
}
}
use of com.oracle.coherence.plugin.visualvm.tablemodel.model.ServiceMemberData in project coherence-visualvm by oracle.
the class VisualVMModel method init.
// ---- helper methods --------------------------------------------------
/**
* Initialize anything for this instance of the model.
*/
private void init() {
m_nRefreshTime = getRefreshTime();
m_fLogJMXQueryTimes = isLogQueryTimes();
String sReporterDisabled = System.getProperty(PROP_REPORTER_DISABLED);
// version >= 12.1.3
if ("true".equalsIgnoreCase(sReporterDisabled)) {
setReporterAvailable(false);
}
// force update on first time
m_ldtLastUpdate = System.currentTimeMillis() - m_nRefreshTime - 1L;
// populate mapCollectedData which contains an entry for each type
m_mapCollectedData = new HashMap<DataType, List<Entry<Object, Data>>>();
for (DataType type : DataType.values()) {
m_mapCollectedData.put(type, null);
}
// intialize the data retrievers map
f_mapDataRetrievers.put(CacheData.class, new CacheData());
f_mapDataRetrievers.put(ClusterData.class, new ClusterData());
f_mapDataRetrievers.put(MemberData.class, new MemberData());
f_mapDataRetrievers.put(ServiceData.class, new ServiceData());
f_mapDataRetrievers.put(ServiceMemberData.class, new ServiceMemberData());
f_mapDataRetrievers.put(ProxyData.class, new ProxyData());
f_mapDataRetrievers.put(MachineData.class, new MachineData());
f_mapDataRetrievers.put(CacheDetailData.class, new CacheDetailData());
f_mapDataRetrievers.put(CacheFrontDetailData.class, new CacheFrontDetailData());
f_mapDataRetrievers.put(TopicData.class, new TopicData());
f_mapDataRetrievers.put(PersistenceData.class, new PersistenceData());
f_mapDataRetrievers.put(PersistenceNotificationsData.class, new PersistenceNotificationsData());
f_mapDataRetrievers.put(CacheStorageManagerData.class, new CacheStorageManagerData());
f_mapDataRetrievers.put(HttpSessionData.class, new HttpSessionData());
f_mapDataRetrievers.put(FederationDestinationData.class, new FederationDestinationData());
f_mapDataRetrievers.put(FederationDestinationDetailsData.class, new FederationDestinationDetailsData());
f_mapDataRetrievers.put(FederationOriginData.class, new FederationOriginData());
f_mapDataRetrievers.put(FederationOriginDetailsData.class, new FederationOriginDetailsData());
f_mapDataRetrievers.put(RamJournalData.class, new RamJournalData());
f_mapDataRetrievers.put(FlashJournalData.class, new FlashJournalData());
f_mapDataRetrievers.put(JCacheConfigurationData.class, new JCacheConfigurationData());
f_mapDataRetrievers.put(JCacheStatisticsData.class, new JCacheStatisticsData());
f_mapDataRetrievers.put(HttpProxyData.class, new HttpProxyData());
f_mapDataRetrievers.put(HttpProxyMemberData.class, new HttpProxyMemberData());
f_mapDataRetrievers.put(HotCacheData.class, new HotCacheData());
f_mapDataRetrievers.put(HotCachePerCacheData.class, new HotCachePerCacheData());
f_mapDataRetrievers.put(NodeStorageData.class, new NodeStorageData());
f_mapDataRetrievers.put(ExecutorData.class, new ExecutorData());
f_mapDataRetrievers.put(GrpcProxyData.class, new GrpcProxyData());
// Loop through each data retriever and initialize the map of
// report XML. Doing it this way we load it only once
Iterator<Map.Entry<Class, DataRetriever>> iter = f_mapDataRetrievers.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<Class, DataRetriever> entry = iter.next();
String sReport = entry.getValue().getReporterReport();
if (sReport != null) {
String sReportXML = getReportXML(sReport);
if (sReportXML != null) {
f_mapReportXML.put(entry.getKey(), sReportXML);
}
}
}
}
Aggregations