More tests and removal of redundant metrics in some VIOS measurements.
This commit is contained in:
parent
bd5ad22b73
commit
7d010e7968
13
build.gradle
13
build.gradle
|
@ -35,7 +35,7 @@ dependencies {
|
||||||
|
|
||||||
application {
|
application {
|
||||||
mainClass.set('biz.nellemann.hmci.Application')
|
mainClass.set('biz.nellemann.hmci.Application')
|
||||||
applicationDefaultJvmArgs = [ "-server", "-Xms256m", "-Xmx1024m" ]
|
applicationDefaultJvmArgs = [ "-server", "-Xms256m", "-Xmx1024m", "-XX:+UseG1GC" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
test {
|
test {
|
||||||
|
@ -96,7 +96,7 @@ jacocoTestCoverageVerification {
|
||||||
violationRules {
|
violationRules {
|
||||||
rule {
|
rule {
|
||||||
limit {
|
limit {
|
||||||
minimum = 0.4 // TODO: Raise when more tests are implemented
|
minimum = 0.5 // TODO: Raise when more tests are implemented
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -118,5 +118,14 @@ jar {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.create("packages") {
|
||||||
|
group "build"
|
||||||
|
|
||||||
|
dependsOn ":build"
|
||||||
|
dependsOn ":buildDeb"
|
||||||
|
dependsOn ":buildRpm"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
sourceCompatibility = 1.8
|
sourceCompatibility = 1.8
|
||||||
targetCompatibility = 1.8
|
targetCompatibility = 1.8
|
||||||
|
|
|
@ -3,9 +3,9 @@ Description=HMC Insights Service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
#User=nobody
|
#User=nobody
|
||||||
#Group=nogroup
|
#Group=nobody
|
||||||
TimeoutStartSec=0
|
TimeoutSec=20
|
||||||
Restart=always
|
Restart=on-failure
|
||||||
ExecStart=/opt/hmci/bin/hmci
|
ExecStart=/opt/hmci/bin/hmci
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
|
|
@ -249,6 +249,7 @@ class ManagedSystem extends MetaSystem {
|
||||||
fieldsMap.put("timeSpentWaitingForDispatch", vios.processor.timePerInstructionExecution);
|
fieldsMap.put("timeSpentWaitingForDispatch", vios.processor.timePerInstructionExecution);
|
||||||
fieldsMap.put("timePerInstructionExecution", vios.processor.timeSpentWaitingForDispatch);
|
fieldsMap.put("timePerInstructionExecution", vios.processor.timeSpentWaitingForDispatch);
|
||||||
fieldsMap.put("weight", vios.processor.weight);
|
fieldsMap.put("weight", vios.processor.weight);
|
||||||
|
fieldsMap.put("mode", vios.processor.mode);
|
||||||
log.trace("getViosProcessorMetrics() - fields: " + fieldsMap);
|
log.trace("getViosProcessorMetrics() - fields: " + fieldsMap);
|
||||||
|
|
||||||
list.add(new Measurement(tagsMap, fieldsMap));
|
list.add(new Measurement(tagsMap, fieldsMap));
|
||||||
|
@ -304,7 +305,6 @@ class ManagedSystem extends MetaSystem {
|
||||||
fieldsMap.put("receivedPackets", adapter.receivedPackets);
|
fieldsMap.put("receivedPackets", adapter.receivedPackets);
|
||||||
fieldsMap.put("droppedPackets", adapter.droppedPackets);
|
fieldsMap.put("droppedPackets", adapter.droppedPackets);
|
||||||
fieldsMap.put("transferredBytes", adapter.transferredBytes);
|
fieldsMap.put("transferredBytes", adapter.transferredBytes);
|
||||||
fieldsMap.put("physicalLocation", adapter.physicalLocation);
|
|
||||||
log.trace("getViosNetworkSharedAdapters() - fields: " + fieldsMap);
|
log.trace("getViosNetworkSharedAdapters() - fields: " + fieldsMap);
|
||||||
|
|
||||||
list.add(new Measurement(tagsMap, fieldsMap));
|
list.add(new Measurement(tagsMap, fieldsMap));
|
||||||
|
@ -347,7 +347,6 @@ class ManagedSystem extends MetaSystem {
|
||||||
fieldsMap.put("sentPhysicalPackets", adapter.sentPhysicalPackets);
|
fieldsMap.put("sentPhysicalPackets", adapter.sentPhysicalPackets);
|
||||||
fieldsMap.put("transferredBytes", adapter.transferredBytes);
|
fieldsMap.put("transferredBytes", adapter.transferredBytes);
|
||||||
fieldsMap.put("transferredPhysicalBytes", adapter.transferredPhysicalBytes);
|
fieldsMap.put("transferredPhysicalBytes", adapter.transferredPhysicalBytes);
|
||||||
fieldsMap.put("physicalLocation", adapter.physicalLocation);
|
|
||||||
log.trace("getViosNetworkVirtualAdapters() - fields: " + fieldsMap);
|
log.trace("getViosNetworkVirtualAdapters() - fields: " + fieldsMap);
|
||||||
|
|
||||||
list.add(new Measurement(tagsMap, fieldsMap));
|
list.add(new Measurement(tagsMap, fieldsMap));
|
||||||
|
@ -435,7 +434,6 @@ class ManagedSystem extends MetaSystem {
|
||||||
fieldsMap.put("readBytes", adapter.readBytes);
|
fieldsMap.put("readBytes", adapter.readBytes);
|
||||||
fieldsMap.put("writeBytes", adapter.writeBytes);
|
fieldsMap.put("writeBytes", adapter.writeBytes);
|
||||||
fieldsMap.put("transmittedBytes", adapter.transmittedBytes);
|
fieldsMap.put("transmittedBytes", adapter.transmittedBytes);
|
||||||
fieldsMap.put("physicalLocation", adapter.physicalLocation);
|
|
||||||
log.trace("getViosStorageFiberChannelAdapters() - fields: " + fieldsMap);
|
log.trace("getViosStorageFiberChannelAdapters() - fields: " + fieldsMap);
|
||||||
|
|
||||||
list.add(new Measurement(tagsMap, fieldsMap));
|
list.add(new Measurement(tagsMap, fieldsMap));
|
||||||
|
@ -503,7 +501,6 @@ class ManagedSystem extends MetaSystem {
|
||||||
fieldsMap.put("writeBytes", adapter.writeBytes);
|
fieldsMap.put("writeBytes", adapter.writeBytes);
|
||||||
fieldsMap.put("transmittedBytes", adapter.transmittedBytes);
|
fieldsMap.put("transmittedBytes", adapter.transmittedBytes);
|
||||||
fieldsMap.put("type", adapter.type);
|
fieldsMap.put("type", adapter.type);
|
||||||
fieldsMap.put("physicalLocation", adapter.physicalLocation);
|
|
||||||
log.trace("getViosStoragePhysicalAdapters() - fields: " + fieldsMap);
|
log.trace("getViosStoragePhysicalAdapters() - fields: " + fieldsMap);
|
||||||
|
|
||||||
list.add(new Measurement(tagsMap, fieldsMap));
|
list.add(new Measurement(tagsMap, fieldsMap));
|
||||||
|
@ -538,7 +535,6 @@ class ManagedSystem extends MetaSystem {
|
||||||
fieldsMap.put("writeBytes", adapter.writeBytes);
|
fieldsMap.put("writeBytes", adapter.writeBytes);
|
||||||
fieldsMap.put("transmittedBytes", adapter.transmittedBytes);
|
fieldsMap.put("transmittedBytes", adapter.transmittedBytes);
|
||||||
fieldsMap.put("type", adapter.type);
|
fieldsMap.put("type", adapter.type);
|
||||||
fieldsMap.put("physicalLocation", adapter.physicalLocation);
|
|
||||||
log.trace("getViosStorageVirtualAdapters() - fields: " + fieldsMap);
|
log.trace("getViosStorageVirtualAdapters() - fields: " + fieldsMap);
|
||||||
|
|
||||||
list.add(new Measurement(tagsMap, fieldsMap));
|
list.add(new Measurement(tagsMap, fieldsMap));
|
||||||
|
|
|
@ -135,8 +135,165 @@ class ManagedSystemTest extends Specification {
|
||||||
|
|
||||||
then:
|
then:
|
||||||
listOfMeasurements.size() == 2
|
listOfMeasurements.size() == 2
|
||||||
|
listOfMeasurements.first().fields['mode'] == "share_idle_procs_active"
|
||||||
listOfMeasurements.first().fields['entitledProcUnits'] == 1.0
|
listOfMeasurements.first().fields['entitledProcUnits'] == 1.0
|
||||||
listOfMeasurements.first().fields['utilizedCappedProcUnits'] == 0.12
|
listOfMeasurements.first().fields['utilizedCappedProcUnits'] == 0.12
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test getViosNetworkLpars"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-managed-system.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
|
||||||
|
when:
|
||||||
|
system.processMetrics(testJson)
|
||||||
|
List<Measurement> listOfMeasurements = system.getViosNetworkLpars()
|
||||||
|
|
||||||
|
then:
|
||||||
|
listOfMeasurements.size() == 2
|
||||||
|
listOfMeasurements.first().tags['viosname'] == "VIOS1"
|
||||||
|
listOfMeasurements.first().fields['clientlpars'] == 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test getViosNetworkSharedAdapters"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-managed-system.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
|
||||||
|
when:
|
||||||
|
system.processMetrics(testJson)
|
||||||
|
List<Measurement> listOfMeasurements = system.getViosNetworkSharedAdapters()
|
||||||
|
|
||||||
|
then:
|
||||||
|
listOfMeasurements.size() == 2
|
||||||
|
listOfMeasurements.first().tags['viosname'] == "VIOS1"
|
||||||
|
listOfMeasurements.first().tags['location'] == "U8247.22L.213C1BA-V1-C2-T1"
|
||||||
|
listOfMeasurements.first().fields['type'] == "sea"
|
||||||
|
listOfMeasurements.first().fields['transferredBytes'] == 14180.2d
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test getViosNetworkVirtualAdapters"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-managed-system.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
|
||||||
|
when:
|
||||||
|
system.processMetrics(testJson)
|
||||||
|
List<Measurement> listOfMeasurements = system.getViosNetworkVirtualAdapters()
|
||||||
|
|
||||||
|
then:
|
||||||
|
listOfMeasurements.size() == 4
|
||||||
|
listOfMeasurements.first().tags['viosname'] == "VIOS1"
|
||||||
|
listOfMeasurements.first().tags['location'] == "U8247.22L.213C1BA-V1-C2"
|
||||||
|
listOfMeasurements.first().tags['vswitchid'] == "0"
|
||||||
|
listOfMeasurements.first().fields['transferredBytes'] == 8245.4d
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test getViosNetworkGenericAdapters"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-managed-system.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
|
||||||
|
when:
|
||||||
|
system.processMetrics(testJson)
|
||||||
|
List<Measurement> listOfMeasurements = system.getViosNetworkGenericAdapters()
|
||||||
|
|
||||||
|
then:
|
||||||
|
listOfMeasurements.size() == 6
|
||||||
|
listOfMeasurements.first().tags['viosname'] == "VIOS1"
|
||||||
|
listOfMeasurements.first().tags['location'] == "U78CB.001.WZS0BYF-P1-C10-T3"
|
||||||
|
listOfMeasurements.first().fields['receivedBytes'] == 1614.567d
|
||||||
|
listOfMeasurements.first().fields['sentBytes'] == 3511.833d
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test getViosStorageLpars"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-managed-system.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
|
||||||
|
when:
|
||||||
|
system.processMetrics(testJson)
|
||||||
|
List<Measurement> listOfMeasurements = system.getViosStorageLpars()
|
||||||
|
|
||||||
|
then:
|
||||||
|
listOfMeasurements.size() == 2
|
||||||
|
listOfMeasurements.first().tags['viosname'] == "VIOS1"
|
||||||
|
listOfMeasurements.first().fields['clientlpars'] == 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test getViosStorageFiberChannelAdapters"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-managed-system.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
|
||||||
|
when:
|
||||||
|
system.processMetrics(testJson)
|
||||||
|
List<Measurement> listOfMeasurements = system.getViosStorageFiberChannelAdapters()
|
||||||
|
|
||||||
|
then:
|
||||||
|
listOfMeasurements.size() == 4
|
||||||
|
listOfMeasurements.first().tags['viosname'] == "VIOS1"
|
||||||
|
listOfMeasurements.first().tags['location'] == "U78CB.001.WZS0BYF-P1-C12-T1"
|
||||||
|
listOfMeasurements.first().fields['numOfReads'] == 0.0
|
||||||
|
listOfMeasurements.first().fields['numOfWrites'] == 0.067d
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test getViosStoragePhysicalAdapters"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-managed-system.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
|
||||||
|
when:
|
||||||
|
system.processMetrics(testJson)
|
||||||
|
List<Measurement> listOfMeasurements = system.getViosStoragePhysicalAdapters()
|
||||||
|
|
||||||
|
then:
|
||||||
|
listOfMeasurements.size() == 2
|
||||||
|
listOfMeasurements.first().tags['viosname'] == "VIOS1"
|
||||||
|
listOfMeasurements.first().tags['location'] == "U78CB.001.WZS0BYF-P1-C14-T1"
|
||||||
|
listOfMeasurements.first().fields['numOfReads'] == 0.0
|
||||||
|
listOfMeasurements.first().fields['numOfWrites'] == 19.467d
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test getViosStorageVirtualAdapters"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-managed-system.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
|
||||||
|
when:
|
||||||
|
system.processMetrics(testJson)
|
||||||
|
List<Measurement> listOfMeasurements = system.getViosStorageVirtualAdapters()
|
||||||
|
|
||||||
|
then:
|
||||||
|
listOfMeasurements.size() == 3
|
||||||
|
listOfMeasurements.first().tags['viosname'] == "VIOS1"
|
||||||
|
listOfMeasurements.first().tags['location'] == "U8247.22L.213C1BA-V1-C6"
|
||||||
|
listOfMeasurements.first().fields['numOfReads'] == 0.0
|
||||||
|
listOfMeasurements.first().fields['numOfWrites'] == 0.0
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,4 +23,40 @@ class SystemEnergyTest extends Specification {
|
||||||
system.energy.metrics.systemUtil.sample.energyUtil.thermalUtil.baseboardTemperatures.first().temperatureReading == 45.0
|
system.energy.metrics.systemUtil.sample.energyUtil.thermalUtil.baseboardTemperatures.first().temperatureReading == 45.0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test power readings for ManagedSystem Energy"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-energy.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
|
||||||
|
when:
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
system.energy.processMetrics(testJson)
|
||||||
|
List<Measurement> measurements = system.energy.getPowerMetrics()
|
||||||
|
|
||||||
|
then:
|
||||||
|
measurements.first().tags.get('servername') == 'Test Name'
|
||||||
|
measurements.first().fields.get('powerReading') == 542.0f
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void "test thermal readings for ManagedSystem Energy"() {
|
||||||
|
|
||||||
|
setup:
|
||||||
|
def testFile = new File(getClass().getResource('/pcm-data-energy.json').toURI())
|
||||||
|
def testJson = testFile.getText('UTF-8')
|
||||||
|
|
||||||
|
when:
|
||||||
|
ManagedSystem system = new ManagedSystem("e09834d1-c930-3883-bdad-405d8e26e166", "Test Name","Test Type", "Test Model", "Test S/N")
|
||||||
|
system.energy.processMetrics(testJson)
|
||||||
|
List<Measurement> measurements = system.energy.getThermalMetrics()
|
||||||
|
|
||||||
|
then:
|
||||||
|
measurements.first().tags.get('servername') == 'Test Name'
|
||||||
|
measurements.first().fields.get('cpuTemperature_1') == 46.0f
|
||||||
|
measurements.first().fields.get('cpuTemperature_2') == 54.0f
|
||||||
|
measurements.first().fields.get('inletTemperature_1') == 26.0f
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue