in artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts [162:199]
async initBrokerInfo(): Promise<BrokerInfo> {
return new Promise<BrokerInfo>(async (resolve, reject) => {
var brokerObjectName = await this.brokerObjectName;
var response = await jolokiaService.readAttributes(brokerObjectName);
if (response) {
var name = response.Name as string;
var nodeID = response.NodeID as string;
var version = response.Version as string;
var started = "" + response.Started as string;
var globalMaxSize = response.GlobalMaxSize as number;
var addressMemoryUsage = response.AddressMemoryUsage as number;
var uptime = response.Uptime as string;
var used = 0;
var haPolicy = response.HAPolicy as string;
var addressMemoryUsageMB = 0;
var globalMaxSizeMB = globalMaxSize / 1048576;
if (addressMemoryUsage > 0) {
addressMemoryUsageMB = addressMemoryUsage / 1048576;
used = addressMemoryUsageMB / globalMaxSizeMB * 100
}
const topology = await jolokiaService.execute(brokerObjectName, LIST_NETWORK_TOPOLOGY_SIG) as string;
var brokerInfo: BrokerInfo = {
name: name, objectName: brokerObjectName,
nodeID: nodeID,
version: version,
started: started,
uptime: uptime,
globalMaxSizeMB: globalMaxSizeMB,
addressMemoryUsage: addressMemoryUsageMB,
addressMemoryUsed: used,
haPolicy: haPolicy,
networkTopology: new BrokerNetworkTopology(JSON.parse(topology))
};
resolve(brokerInfo);
}
reject("invalid response:" + response);
});
}