hmci/src/main/groovy/biz/nellemann/hmci/ManagedSystem.groovy

100 lines
3.0 KiB
Groovy
Raw Normal View History

package biz.nellemann.hmci
2020-08-07 06:13:48 +00:00
import groovy.util.logging.Slf4j
@Slf4j
class ManagedSystem extends MetaSystem {
2020-08-07 06:13:48 +00:00
public String id
public String name
public String type
public String model
public String serialNumber
// From PCM Data
2020-08-07 14:27:42 +00:00
ManagedSystem(String id, String name, String type, String model, String serialNumber) {
2020-08-07 06:13:48 +00:00
this.id = id
this.name = name
this.type = type
this.model = model
this.serialNumber = serialNumber
2020-08-07 06:13:48 +00:00
}
String toString() {
return "[${id}] ${name} (${type}-${model} ${serialNumber})"
}
Object getMetrics(String metric) {
switch (metric) {
case "SystemSharedProcessorPool":
return getSharedProcessorPools()
break
}
}
2020-08-10 13:44:14 +00:00
Map<String,BigDecimal> getMemoryMetrics() {
HashMap<String, BigDecimal> map = [
totalMem: metrics.systemUtil.utilSamples.first().serverUtil.memory.totalMem.first(),
availableMem: metrics.systemUtil.utilSamples.first().serverUtil.memory.availableMem.first(),
configurableMem: metrics.systemUtil.utilSamples.first().serverUtil.memory.configurableMem.first(),
assignedMemToLpars: metrics.systemUtil.utilSamples.first().serverUtil.memory.assignedMemToLpars.first(),
]
return map
}
Map<String,BigDecimal> getProcessorMetrics() {
HashMap<String, BigDecimal> map = [
availableProcUnits: metrics.systemUtil.utilSamples.first().serverUtil.processor.totalProcUnits.first(),
utilizedProcUnits: metrics.systemUtil.utilSamples.first().serverUtil.processor.utilizedProcUnits.first(),
availableProcUnits: metrics.systemUtil.utilSamples.first().serverUtil.processor.availableProcUnits.first(),
configurableProcUnits: metrics.systemUtil.utilSamples.first().serverUtil.processor.configurableProcUnits.first(),
]
return map
}
Map<String, BigDecimal> getPhysicalProcessorPool() {
HashMap<String, BigDecimal> map = [
assignedProcUnits: metrics.systemUtil.utilSamples.first().serverUtil.physicalProcessorPool.assignedProcUnits.first(),
availableProcUnits: metrics.systemUtil.utilSamples.first().serverUtil.physicalProcessorPool.availableProcUnits.first(),
]
return map
}
Map<String, Map<String, BigDecimal>> getSharedProcessorPools() {
Map<String, Map> map = new HashMap<String, Map>()
metrics.systemUtil.utilSamples.first().serverUtil.sharedProcessorPool.each {
HashMap<String, BigDecimal> innerMap = [
assignedProcUnits: it.assignedProcUnits.first(),
availableProcUnits: it.availableProcUnits.first(),
]
map.put(it.name, innerMap)
}
return map
}
// SystemSharedAdapters
// SystemGenericPhysicalAdapters
// SystemGenericVirtualAdapters
// SystemGenericPhysicalAdapters
// SystemGenericAdapters
// SystemFiberChannelAdapters
2020-08-07 14:27:42 +00:00
2020-08-07 06:13:48 +00:00
}