diff --git a/build.gradle b/build.gradle index 0146626..6af8634 100644 --- a/build.gradle +++ b/build.gradle @@ -18,6 +18,10 @@ repositories { dependencies { implementation 'info.picocli:picocli:4.5.1' annotationProcessor 'info.picocli:picocli-codegen:4.5.1' + // implementation 'com.thoughtworks.xstream:xstream:1.4.13' + // https://mvnrepository.com/artifact/org.jsoup/jsoup + implementation 'org.jsoup:jsoup:1.13.1' + implementation 'com.squareup.moshi:moshi:1.11.0' implementation 'org.tomlj:tomlj:1.0.0' implementation 'org.codehaus.groovy:groovy-all:3.0.5' implementation 'com.squareup.okhttp3:okhttp:4.8.0' @@ -25,6 +29,7 @@ dependencies { implementation 'org.slf4j:slf4j-api:1.7.+' runtimeOnly 'ch.qos.logback:logback-classic:1.+' + testImplementation('org.spockframework:spock-core:2.0-M3-groovy-3.0') testImplementation("org.slf4j:slf4j-simple:1.7.+") testImplementation('com.squareup.okhttp3:mockwebserver:4.8.0') diff --git a/src/main/groovy/biz/nellemann/hmci/HmcClient.groovy b/src/main/groovy/biz/nellemann/hmci/HmcClient.groovy index 27a6d3c..3f53f69 100644 --- a/src/main/groovy/biz/nellemann/hmci/HmcClient.groovy +++ b/src/main/groovy/biz/nellemann/hmci/HmcClient.groovy @@ -16,25 +16,21 @@ package biz.nellemann.hmci import biz.nellemann.hmci.Configuration.HmcObject +import com.squareup.moshi.Moshi import groovy.transform.CompileDynamic import groovy.transform.CompileStatic import groovy.util.logging.Slf4j import groovy.xml.XmlSlurper -import okhttp3.MediaType -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.RequestBody -import okhttp3.Response +import okhttp3.* +import org.jsoup.Jsoup +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import org.jsoup.select.Elements -import javax.net.ssl.HostnameVerifier -import javax.net.ssl.SSLContext -import javax.net.ssl.SSLSession -import javax.net.ssl.SSLSocketFactory -import javax.net.ssl.TrustManager -import javax.net.ssl.X509TrustManager +import javax.net.ssl.* import java.security.SecureRandom import java.security.cert.CertificateException -import java.security.cert.X509Certificate; +import java.security.cert.X509Certificate @Slf4j @CompileStatic @@ -154,11 +150,11 @@ class HmcClient { * * @return */ - @CompileDynamic + //@CompileDynamic Map getManagedSystems() { URL url = new URL(String.format("%s/rest/api/uom/ManagedSystem", baseUrl)) Response response = getResponse(url) - String responseBody = response.body.string() + String responseBody = response.body().string() Map managedSystemsMap = new HashMap() // Do not try to parse empty response @@ -167,22 +163,24 @@ class HmcClient { return managedSystemsMap } - def feed = new XmlSlurper().parseText(responseBody) - feed?.entry?.each { entry -> - entry.content.each { content -> - content.ManagedSystem.each { system -> - ManagedSystem managedSystem = new ManagedSystem( - hmcId, - entry.id as String, - system.SystemName as String, - system.MachineTypeModelAndSerialNumber?.MachineType as String, - system.MachineTypeModelAndSerialNumber?.Model as String, - system.MachineTypeModelAndSerialNumber?.SerialNumber as String - ) - managedSystemsMap.put(managedSystem.id, managedSystem) - log.debug("getManagedSystems() - Found system: " + managedSystem.toString()) - } + try { + Document doc = Jsoup.parse(responseBody); + Elements managedSystems = doc.select("ManagedSystem|ManagedSystem") // doc.select("img[src$=.png]"); + for(Element el : managedSystems) { + ManagedSystem system = new ManagedSystem( + hmcId, + el.select("Metadata > Atom > AtomID").text() as String, + el.select("SystemName").text() as String, + el.select("MachineTypeModelAndSerialNumber > MachineType").text() as String, + el.select("MachineTypeModelAndSerialNumber > Model").text() as String, + el.select("MachineTypeModelAndSerialNumber > SerialNumber").text() as String, + ) + managedSystemsMap.put(system.id, system) + log.info("getManagedSystems() - Found system: " + system.toString()) } + + } catch(Exception e) { + log.warn("getManagedSystems() - xml parse error", e); } return managedSystemsMap @@ -196,11 +194,11 @@ class HmcClient { * @param UUID of managed system * @return */ - @CompileDynamic + //@CompileDynamic Map getLogicalPartitionsForManagedSystem(ManagedSystem system) { URL url = new URL(String.format("%s/rest/api/uom/ManagedSystem/%s/LogicalPartition", baseUrl, system.id)) Response response = getResponse(url) - String responseBody = response.body.string() + String responseBody = response.body().string() Map partitionMap = new HashMap() {} // Do not try to parse empty response @@ -209,22 +207,22 @@ class HmcClient { return partitionMap } - def feed = new XmlSlurper().parseText(responseBody) - feed?.entry?.each { entry -> - //log.debug("Entry") - entry.content.each { content -> - //log.debug("Content") - content.LogicalPartition.each { partition -> - LogicalPartition logicalPartition = new LogicalPartition( - partition.PartitionUUID as String, - partition.PartitionName as String, - partition.PartitionType as String, - system - ) - partitionMap.put(logicalPartition.id, logicalPartition) - log.debug("getLogicalPartitionsForManagedSystem() - Found partition: " + logicalPartition.toString()) - } + try { + Document doc = Jsoup.parse(responseBody); + Elements logicalPartitions = doc.select("LogicalPartition|LogicalPartition") // doc.select("img[src$=.png]"); + for(Element el : logicalPartitions) { + LogicalPartition logicalPartition = new LogicalPartition( + el.select("PartitionUUID").text() as String, + el.select("PartitionName").text() as String, + el.select("PartitionType").text() as String, + system + ) + partitionMap.put(logicalPartition.id, logicalPartition) + log.info("getLogicalPartitionsForManagedSystem() - Found partition: " + logicalPartition.toString()) } + + } catch(Exception e) { + log.warn("getLogicalPartitionsForManagedSystem() - xml parse error", e); } return partitionMap @@ -237,12 +235,12 @@ class HmcClient { * @param systemId * @return */ - @CompileDynamic + //@CompileDynamic String getPcmDataForManagedSystem(ManagedSystem system) { log.debug("getPcmDataForManagedSystem() - " + system.id) URL url = new URL(String.format("%s/rest/api/pcm/ManagedSystem/%s/ProcessedMetrics?NoOfSamples=1", baseUrl, system.id)) Response response = getResponse(url) - String responseBody = response.body.string() + String responseBody = response.body().string() String jsonBody // Do not try to parse empty response @@ -251,13 +249,17 @@ class HmcClient { return jsonBody } - // Parse XML and fetch JSON link - def feed = new XmlSlurper().parseText(responseBody) - feed?.entry?.each { entry -> - String link = entry.link["@href"] - if(entry.category["@term"] == "ManagedSystem") { - jsonBody = getResponseBody(new URL(link)) + try { + Document doc = Jsoup.parse(responseBody); + Element entry = doc.select("entry").first(); + Element link = entry.select("link[href]").first(); + if(link.attr("type") == "application/json") { + String href = (String) link.attr("href"); + log.debug("getPcmDataForManagedSystem() - json url: " + href); + jsonBody = getResponseBody(new URL(href)); } + } catch(Exception e) { + log.warn("getPcmDataForManagedSystem() - xml parse error", e); } return jsonBody @@ -270,13 +272,13 @@ class HmcClient { * @param partitionId * @return */ - @CompileDynamic + //@CompileDynamic String getPcmDataForLogicalPartition(LogicalPartition partition) { log.debug(String.format("getPcmDataForLogicalPartition() - %s @ %s", partition.id, partition.system.id)) URL url = new URL(String.format("%s/rest/api/pcm/ManagedSystem/%s/LogicalPartition/%s/ProcessedMetrics?NoOfSamples=1", baseUrl, partition.system.id, partition.id)) Response response = getResponse(url) - String responseBody = response.body.string() + String responseBody = response.body().string() String jsonBody // Do not try to parse empty response @@ -285,13 +287,17 @@ class HmcClient { return jsonBody } - // Parse XML and fetch JSON link - def feed = new XmlSlurper().parseText(responseBody) - feed?.entry?.each { entry -> - String link = entry.link["@href"] - if(entry.category["@term"] == "LogicalPartition") { - jsonBody = getResponseBody(new URL(link)) + try { + Document doc = Jsoup.parse(responseBody); + Element entry = doc.select("entry").first(); + Element link = entry.select("link[href]").first(); + if(link.attr("type") == "application/json") { + String href = (String) link.attr("href"); + log.debug("getPcmDataForLogicalPartition() - json url: " + href); + jsonBody = getResponseBody(new URL(href)); } + } catch(Exception e) { + log.warn("getPcmDataForLogicalPartition() - xml parse error", e); } return jsonBody diff --git a/src/main/groovy/biz/nellemann/hmci/LogicalPartition.groovy b/src/main/groovy/biz/nellemann/hmci/LogicalPartition.groovy index 9dbb073..8f229a0 100644 --- a/src/main/groovy/biz/nellemann/hmci/LogicalPartition.groovy +++ b/src/main/groovy/biz/nellemann/hmci/LogicalPartition.groovy @@ -52,9 +52,9 @@ class LogicalPartition extends MetaSystem { //map.put("tags", tagsMap) log.debug("getAffinityScore() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ affinityScore: metrics.systemUtil?.utilSamples?.first()?.lparsUtil?.first()?.affinityScore, - ] + ] as HashMap //map.put("fields", fieldsMap) log.debug("getAffinityScore() - fields: " + fieldsMap.toString()) @@ -77,10 +77,10 @@ class LogicalPartition extends MetaSystem { //map.put("tags", tagsMap) log.debug("getMemoryMetrics() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ logicalMem: metrics.systemUtil?.utilSamples?.first()?.lparsUtil?.first()?.memory?.logicalMem?.first(), backedPhysicalMem: metrics.systemUtil?.utilSamples?.first()?.lparsUtil?.first()?.memory?.backedPhysicalMem?.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) log.debug("getMemoryMetrics() - fields: " + fieldsMap.toString()) @@ -103,7 +103,7 @@ class LogicalPartition extends MetaSystem { //map.put("tags", tagsMap) log.debug("getProcessorMetrics() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ utilizedProcUnits: metrics.systemUtil?.utilSamples?.first()?.lparsUtil?.first()?.processor?.utilizedProcUnits?.first(), maxVirtualProcessors: metrics.systemUtil.utilSamples.first().lparsUtil.first().processor.maxVirtualProcessors.first(), currentVirtualProcessors: metrics.systemUtil.utilSamples.first().lparsUtil.first().processor.currentVirtualProcessors.first(), @@ -115,7 +115,7 @@ class LogicalPartition extends MetaSystem { utilizedUncappedProcUnits: metrics.systemUtil?.utilSamples?.first()?.lparsUtil?.first()?.processor?.utilizedUncappedProcUnits?.first(), timePerInstructionExecution: metrics.systemUtil?.utilSamples?.first()?.lparsUtil?.first()?.processor?.timeSpentWaitingForDispatch?.first(), timeSpentWaitingForDispatch: metrics.systemUtil?.utilSamples?.first()?.lparsUtil?.first()?.processor?.timePerInstructionExecution?.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) log.debug("getProcessorMetrics() - fields: " + fieldsMap.toString()) @@ -143,12 +143,12 @@ class LogicalPartition extends MetaSystem { //map.put("tags", tagsMap) log.debug("getVirtualEthernetAdapterMetrics() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ receivedPhysicalBytes: it.receivedPhysicalBytes.first(), sentPhysicalBytes: it.sentPhysicalBytes.first(), receivedBytes: it.receivedBytes.first(), sentBytes: it.sentBytes.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) log.debug("getVirtualEthernetAdapterMetrics() - fields: " + fieldsMap.toString()) @@ -177,11 +177,11 @@ class LogicalPartition extends MetaSystem { //map.put("tags", tagsMap) log.debug("getVirtualFiberChannelAdaptersMetrics() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ transmittedBytes: it.transmittedBytes.first(), writeBytes: it.writeBytes.first(), readBytes: it.readBytes.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) log.debug("getVirtualFiberChannelAdaptersMetrics() - fields: " + fieldsMap.toString()) diff --git a/src/main/groovy/biz/nellemann/hmci/ManagedSystem.groovy b/src/main/groovy/biz/nellemann/hmci/ManagedSystem.groovy index 0d5ce1b..2238f85 100644 --- a/src/main/groovy/biz/nellemann/hmci/ManagedSystem.groovy +++ b/src/main/groovy/biz/nellemann/hmci/ManagedSystem.groovy @@ -58,12 +58,12 @@ class ManagedSystem extends MetaSystem { //map.put("tags", tagsMap) log.debug("getMemoryMetrics() - tags: " + tagsMap.toString()) - Map fieldsMap = [ + Map fieldsMap = [ "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(), - ] + ] as HashMap //map.put("fields", fieldsMap) log.debug("getMemoryMetrics() - fields: " + fieldsMap.toString()) @@ -88,12 +88,12 @@ class ManagedSystem extends MetaSystem { //measurement.tags = tagsMap; log.debug("getProcessorMetrics() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ 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(), - ] + ] as HashMap //map.put("fields", fieldsMap) //measurement.fields = fieldsMap; log.debug("getProcessorMetrics() - fields: " + fieldsMap.toString()) @@ -119,10 +119,10 @@ class ManagedSystem extends MetaSystem { //map.put("tags", tagsMap) log.debug("getSharedProcessorPools() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ assignedProcUnits: it.assignedProcUnits.first(), availableProcUnits: it.availableProcUnits.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) log.debug("getSharedProcessorPools() - fields: " + fieldsMap.toString()) @@ -152,11 +152,11 @@ class ManagedSystem extends MetaSystem { measurement.tags = tagsMap; log.debug("getSystemSharedAdapters() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ sentBytes: it.sentBytes.first(), receivedBytes: it.receivedBytes.first(), transferredBytes: it.transferredBytes.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) measurement.fields = fieldsMap; log.debug("getSystemSharedAdapters() - fields: " + fieldsMap.toString()) @@ -190,11 +190,11 @@ class ManagedSystem extends MetaSystem { measurement.tags = tagsMap; log.debug("getSystemFiberChannelAdapters() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ writeBytes: it.writeBytes.first(), readBytes: it.readBytes.first(), transmittedBytes: it.transmittedBytes.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) measurement.fields = fieldsMap; log.debug("getSystemFiberChannelAdapters() - fields: " + fieldsMap.toString()) @@ -225,11 +225,11 @@ class ManagedSystem extends MetaSystem { measurement.tags = tagsMap; log.debug("getSystemGenericPhysicalAdapters() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ writeBytes: it.writeBytes.first(), readBytes: it.readBytes.first(), transmittedBytes: it.transmittedBytes.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) measurement.fields = fieldsMap; log.debug("getSystemGenericPhysicalAdapters() - fields: " + fieldsMap.toString()) @@ -260,11 +260,11 @@ class ManagedSystem extends MetaSystem { measurement.tags = tagsMap; log.debug("getSystemGenericVirtualAdapters() - tags: " + tagsMap.toString()) - HashMap fieldsMap = [ + HashMap fieldsMap = [ writeBytes: it.writeBytes.first(), readBytes: it.readBytes.first(), transmittedBytes: it.transmittedBytes.first(), - ] + ] as HashMap //map.put("fields", fieldsMap) measurement.fields = fieldsMap; log.debug("getSystemGenericVirtualAdapters() - fields: " + fieldsMap.toString()) diff --git a/src/main/groovy/biz/nellemann/hmci/MetaSystem.groovy b/src/main/groovy/biz/nellemann/hmci/MetaSystem.groovy index c73a24e..6f50bb9 100644 --- a/src/main/groovy/biz/nellemann/hmci/MetaSystem.groovy +++ b/src/main/groovy/biz/nellemann/hmci/MetaSystem.groovy @@ -16,8 +16,10 @@ package biz.nellemann.hmci import biz.nellemann.hmci.pcm.PcmData -import groovy.json.JsonSlurper -import groovy.transform.CompileDynamic +import com.squareup.moshi.FromJson +import com.squareup.moshi.JsonAdapter +import com.squareup.moshi.Moshi +import com.squareup.moshi.ToJson import groovy.transform.CompileStatic import groovy.util.logging.Slf4j @@ -29,16 +31,36 @@ import java.time.format.DateTimeParseException @CompileStatic abstract class MetaSystem { + private final Moshi moshi; + private final JsonAdapter jsonAdapter; + protected PcmData metrics - @CompileDynamic - void processMetrics(String json) { - Map pcmMap = new JsonSlurper().parseText(json) as Map - metrics = new PcmData(pcmMap) + MetaSystem() { + try { + moshi = new Moshi.Builder().add(new NumberAdapter()).add(new BigDecimalAdapter())build(); + jsonAdapter = moshi.adapter(PcmData.class); + } catch(Exception e) { + log.warn("MetaSystem() error", e) + throw new ExceptionInInitializerError(e); + } } - @CompileDynamic - Instant getTimestamp() { + //@CompileDynamic + void processMetrics(String json) { + + try { + metrics = jsonAdapter.fromJson(json); + } catch(Exception e) { + log.warn("processMetrics() error", e) + } + + //Map pcmMap = new JsonSlurper().parseText(json) as Map + //metrics = new PcmData(pcmMap) + } + + //@CompileDynamic + Instant getTimestamp() { String timestamp = metrics.systemUtil.utilSamples.first().sampleInfo.timeStamp Instant instant = null @@ -54,4 +76,32 @@ abstract class MetaSystem { return instant ?: Instant.now() } + + class BigDecimalAdapter { + + @FromJson + BigDecimal fromJson(String string) { + return new BigDecimal(string); + } + + @ToJson + String toJson(BigDecimal value) { + return value.toString(); + } + } + + class NumberAdapter { + + @FromJson + Number fromJson(String string) { + return new Double(string); + } + + @ToJson + String toJson(Number value) { + return value.toString(); + } + } + } + diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/FiberChannelAdapter.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/FiberChannelAdapter.groovy deleted file mode 100644 index f8612f8..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/FiberChannelAdapter.groovy +++ /dev/null @@ -1,19 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class FiberChannelAdapter { - - String id - String wwpn - String physicalLocation - Integer numOfPorts - List numOfReads - List numOfWrites - List readBytes - List writeBytes - List runningSpeed - List transmittedBytes - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/GenericAdapter.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/GenericAdapter.groovy deleted file mode 100644 index d8a34d1..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/GenericAdapter.groovy +++ /dev/null @@ -1,18 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class GenericAdapter { - - String id - String type - String physicalLocation - List receivedPackets - List sentPackets - List droppedPackets - List sentBytes - List receivedBytes - List transferredBytes - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/GenericPhysicalAdapters.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/GenericPhysicalAdapters.groovy deleted file mode 100644 index 9fc2539..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/GenericPhysicalAdapters.groovy +++ /dev/null @@ -1,17 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class GenericPhysicalAdapters { - - String id - String type - String physicalLocation - List numOfReads - List numOfWrites - List readBytes - List writeBytes - List transmittedBytes - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/GenericVirtualAdapter.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/GenericVirtualAdapter.groovy deleted file mode 100644 index 1a2334e..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/GenericVirtualAdapter.groovy +++ /dev/null @@ -1,18 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class GenericVirtualAdapter { - - String id - String type - Integer viosId - String physicalLocation - List numOfReads - List numOfWrites - List readBytes - List writeBytes - List transmittedBytes - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/LparMemory.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/LparMemory.groovy deleted file mode 100644 index 4865447..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/LparMemory.groovy +++ /dev/null @@ -1,11 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class LparMemory { - - List logicalMem - List backedPhysicalMem - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/LparProcessor.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/LparProcessor.groovy deleted file mode 100644 index 50f773b..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/LparProcessor.groovy +++ /dev/null @@ -1,23 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class LparProcessor { - - Integer poolId - Integer weight - String mode - List maxVirtualProcessors - List currentVirtualProcessors - List maxProcUnits - List entitledProcUnits - List utilizedProcUnits - List utilizedCappedProcUnits - List utilizedUncappedProcUnits - List idleProcUnits - List donatedProcUnits - List timeSpentWaitingForDispatch - List timePerInstructionExecution - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/LparUtil.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/LparUtil.groovy deleted file mode 100644 index 73ed269..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/LparUtil.groovy +++ /dev/null @@ -1,21 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class LparUtil { - - Integer id - String uuid - String name - String state - String type - String osType - Integer affinityScore - - LparMemory memory - LparProcessor processor - Network network - Storage storage - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/Network.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/Network.groovy deleted file mode 100644 index 3913083..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/Network.groovy +++ /dev/null @@ -1,10 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class Network { - List genericAdapters - List sharedAdapters - List virtualEthernetAdapters -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/PcmData.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/PcmData.groovy deleted file mode 100644 index 986c54c..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/PcmData.groovy +++ /dev/null @@ -1,10 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class PcmData { - - SystemUtil systemUtil - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/PhysicalProcessorPool.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/PhysicalProcessorPool.groovy deleted file mode 100644 index 85d6f48..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/PhysicalProcessorPool.groovy +++ /dev/null @@ -1,14 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class PhysicalProcessorPool { - - List assignedProcUnits - List utilizedProcUnits - List availableProcUnits - List configuredProcUnits - List borrowedProcUnits - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/SampleInfo.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/SampleInfo.groovy deleted file mode 100644 index 10bb780..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/SampleInfo.groovy +++ /dev/null @@ -1,11 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class SampleInfo { - - String timeStamp - Integer status - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/ServerMemory.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/ServerMemory.groovy deleted file mode 100644 index a293af4..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/ServerMemory.groovy +++ /dev/null @@ -1,13 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class ServerMemory { - - List totalMem - List availableMem - List configurableMem - List assignedMemToLpars - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/ServerProcessor.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/ServerProcessor.groovy deleted file mode 100644 index b03a367..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/ServerProcessor.groovy +++ /dev/null @@ -1,13 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class ServerProcessor { - - List totalProcUnits - List utilizedProcUnits - List availableProcUnits - List configurableProcUnits - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/ServerUtil.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/ServerUtil.groovy deleted file mode 100644 index 9f184a1..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/ServerUtil.groovy +++ /dev/null @@ -1,13 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class ServerUtil { - - ServerProcessor processor - ServerMemory memory - PhysicalProcessorPool physicalProcessorPool - List sharedProcessorPool - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/SharedAdapter.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/SharedAdapter.groovy deleted file mode 100644 index 0b9ab69..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/SharedAdapter.groovy +++ /dev/null @@ -1,19 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class SharedAdapter { - - String id - String type - String physicalLocation - List receivedPackets - List sentPackets - List droppedPackets - List sentBytes - List receivedBytes - List transferredBytes - List bridgedAdapters - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/SharedProcessorPool.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/SharedProcessorPool.groovy deleted file mode 100644 index 2a0d5e9..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/SharedProcessorPool.groovy +++ /dev/null @@ -1,16 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class SharedProcessorPool { - - String id - String name - List assignedProcUnits - List utilizedProcUnits - List availableProcUnits - List configuredProcUnits - List borrowedProcUnits - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/Storage.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/Storage.groovy deleted file mode 100644 index 150152a..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/Storage.groovy +++ /dev/null @@ -1,14 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class Storage { - - List clientLpars - List genericPhysicalAdapters - List genericVirtualAdapters - List fiberChannelAdapters - List virtualFiberChannelAdapters - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/SystemUtil.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/SystemUtil.groovy deleted file mode 100644 index 707b706..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/SystemUtil.groovy +++ /dev/null @@ -1,11 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class SystemUtil { - - UtilInfo utilInfo - List utilSamples - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/UtilInfo.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/UtilInfo.groovy deleted file mode 100644 index c30d1cf..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/UtilInfo.groovy +++ /dev/null @@ -1,18 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class UtilInfo { - - String version - String metricType - Integer frequency - String startTimeStamp - String endTimeStamp - String mtms - String name - String uuid - List metricArrayOrder - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/UtilSample.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/UtilSample.groovy deleted file mode 100644 index b595aad..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/UtilSample.groovy +++ /dev/null @@ -1,14 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class UtilSample { - - String sampleType - SampleInfo sampleInfo - ServerUtil serverUtil - List viosUtil - List lparsUtil - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/ViosUtil.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/ViosUtil.groovy deleted file mode 100644 index 2873d6e..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/ViosUtil.groovy +++ /dev/null @@ -1,24 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class ViosUtil { - - String id - String uuid - String name - String state - Integer affinityScore - - Memory memory - LparProcessor processor - Network network - Storage storage - - class Memory { - List assignedMem - List utilizedMem - } - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/VirtualEthernetAdapter.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/VirtualEthernetAdapter.groovy deleted file mode 100644 index 4930a73..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/VirtualEthernetAdapter.groovy +++ /dev/null @@ -1,27 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class VirtualEthernetAdapter { - - String physicalLocation - Integer vlanId - Integer vswitchId - Boolean isPortVlanId - Integer viosId - String sharedEthernetAdapterId - List receivedPackets - List sentPackets - List droppedPackets - List sentBytes - List receivedBytes - List receivedPhysicalPackets - List sentPhysicalPackets - List droppedPhysicalPackets - List sentPhysicalBytes - List receivedPhysicalBytes - List transferredBytes - List transferredPhysicalBytes - -} diff --git a/src/main/groovy/biz/nellemann/hmci/pcm/VirtualFiberChannelAdapter.groovy b/src/main/groovy/biz/nellemann/hmci/pcm/VirtualFiberChannelAdapter.groovy deleted file mode 100644 index 380c251..0000000 --- a/src/main/groovy/biz/nellemann/hmci/pcm/VirtualFiberChannelAdapter.groovy +++ /dev/null @@ -1,20 +0,0 @@ -package biz.nellemann.hmci.pcm - -import groovy.transform.ToString - -@ToString -class VirtualFiberChannelAdapter { - - String wwpn - String wwpn2 - String physicalLocation - String physicalPortWWPN - Integer viosId - List numOfReads - List numOfWrites - List readBytes - List writeBytes - List runningSpeed - List transmittedBytes - -} diff --git a/src/main/java/biz/nellemann/hmci/pcm/FiberChannelAdapter.java b/src/main/java/biz/nellemann/hmci/pcm/FiberChannelAdapter.java new file mode 100644 index 0000000..d91235c --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/FiberChannelAdapter.java @@ -0,0 +1,18 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class FiberChannelAdapter { + + String id; + String wwpn; + String physicalLocation; + Integer numOfPorts; + List numOfReads; + List numOfWrites; + List readBytes; + List writeBytes; + List runningSpeed; + List transmittedBytes; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/GenericAdapter.java b/src/main/java/biz/nellemann/hmci/pcm/GenericAdapter.java new file mode 100644 index 0000000..c2dbeea --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/GenericAdapter.java @@ -0,0 +1,17 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class GenericAdapter { + + String id; + String type; + String physicalLocation; + List receivedPackets; + List sentPackets; + List droppedPackets; + List sentBytes; + List receivedBytes; + List transferredBytes; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/GenericPhysicalAdapters.java b/src/main/java/biz/nellemann/hmci/pcm/GenericPhysicalAdapters.java new file mode 100644 index 0000000..008c716 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/GenericPhysicalAdapters.java @@ -0,0 +1,16 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class GenericPhysicalAdapters { + + String id; + String type; + String physicalLocation; + List numOfReads; + List numOfWrites; + List readBytes; + List writeBytes; + List transmittedBytes; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/GenericVirtualAdapter.java b/src/main/java/biz/nellemann/hmci/pcm/GenericVirtualAdapter.java new file mode 100644 index 0000000..cff608a --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/GenericVirtualAdapter.java @@ -0,0 +1,17 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class GenericVirtualAdapter { + + String id; + String type; + Integer viosId; + String physicalLocation; + List numOfReads; + List numOfWrites; + List readBytes; + List writeBytes; + List transmittedBytes; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/LparMemory.java b/src/main/java/biz/nellemann/hmci/pcm/LparMemory.java new file mode 100644 index 0000000..025022f --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/LparMemory.java @@ -0,0 +1,10 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class LparMemory { + + List logicalMem; + List backedPhysicalMem; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/LparProcessor.java b/src/main/java/biz/nellemann/hmci/pcm/LparProcessor.java new file mode 100644 index 0000000..d6e18a3 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/LparProcessor.java @@ -0,0 +1,22 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class LparProcessor { + + Integer poolId; + Integer weight; + String mode; + List maxVirtualProcessors; + List currentVirtualProcessors; + List maxProcUnits; + List entitledProcUnits; + List utilizedProcUnits; + List utilizedCappedProcUnits; + List utilizedUncappedProcUnits; + List idleProcUnits; + List donatedProcUnits; + List timeSpentWaitingForDispatch; + List timePerInstructionExecution; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/LparUtil.java b/src/main/java/biz/nellemann/hmci/pcm/LparUtil.java new file mode 100644 index 0000000..ffa50af --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/LparUtil.java @@ -0,0 +1,18 @@ +package biz.nellemann.hmci.pcm; + +public class LparUtil { + + Integer id; + String uuid; + String name; + String state; + String type; + String osType; + Integer affinityScore; + + LparMemory memory; + LparProcessor processor; + Network network; + Storage storage; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/Network.java b/src/main/java/biz/nellemann/hmci/pcm/Network.java new file mode 100644 index 0000000..053c148 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/Network.java @@ -0,0 +1,11 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class Network { + + List genericAdapters; + List sharedAdapters; + List virtualEthernetAdapters; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/PcmData.java b/src/main/java/biz/nellemann/hmci/pcm/PcmData.java new file mode 100644 index 0000000..b3d6d04 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/PcmData.java @@ -0,0 +1,7 @@ +package biz.nellemann.hmci.pcm; + +public class PcmData { + + public SystemUtil systemUtil; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/PhysicalProcessorPool.java b/src/main/java/biz/nellemann/hmci/pcm/PhysicalProcessorPool.java new file mode 100644 index 0000000..443c661 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/PhysicalProcessorPool.java @@ -0,0 +1,13 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class PhysicalProcessorPool { + + List assignedProcUnits; + List utilizedProcUnits; + List availableProcUnits; + List configuredProcUnits; + List borrowedProcUnits; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/SampleInfo.java b/src/main/java/biz/nellemann/hmci/pcm/SampleInfo.java new file mode 100644 index 0000000..d5a2fcc --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/SampleInfo.java @@ -0,0 +1,8 @@ +package biz.nellemann.hmci.pcm; + +public class SampleInfo { + + public String timeStamp; + Integer status; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/ServerMemory.java b/src/main/java/biz/nellemann/hmci/pcm/ServerMemory.java new file mode 100644 index 0000000..b835a0d --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/ServerMemory.java @@ -0,0 +1,12 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class ServerMemory { + + List totalMem; + List availableMem; + List configurableMem; + List assignedMemToLpars; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/ServerProcessor.java b/src/main/java/biz/nellemann/hmci/pcm/ServerProcessor.java new file mode 100644 index 0000000..0da20ae --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/ServerProcessor.java @@ -0,0 +1,12 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class ServerProcessor { + + List totalProcUnits; + List utilizedProcUnits; + List availableProcUnits; + List configurableProcUnits; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/ServerUtil.java b/src/main/java/biz/nellemann/hmci/pcm/ServerUtil.java new file mode 100644 index 0000000..2b027b6 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/ServerUtil.java @@ -0,0 +1,12 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class ServerUtil { + + ServerProcessor processor; + ServerMemory memory; + PhysicalProcessorPool physicalProcessorPool; + List sharedProcessorPool; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/SharedAdapter.java b/src/main/java/biz/nellemann/hmci/pcm/SharedAdapter.java new file mode 100644 index 0000000..5ba0e07 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/SharedAdapter.java @@ -0,0 +1,18 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class SharedAdapter { + + String id; + String type; + String physicalLocation; + List receivedPackets; + List sentPackets; + List droppedPackets; + List sentBytes; + List receivedBytes; + List transferredBytes; + List bridgedAdapters; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/SharedProcessorPool.java b/src/main/java/biz/nellemann/hmci/pcm/SharedProcessorPool.java new file mode 100644 index 0000000..5d86d38 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/SharedProcessorPool.java @@ -0,0 +1,15 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class SharedProcessorPool { + + String id; + String name; + List assignedProcUnits; + List utilizedProcUnits; + List availableProcUnits; + List configuredProcUnits; + List borrowedProcUnits; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/Storage.java b/src/main/java/biz/nellemann/hmci/pcm/Storage.java new file mode 100644 index 0000000..8c854ac --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/Storage.java @@ -0,0 +1,13 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class Storage { + + List clientLpars; + List genericPhysicalAdapters; + List genericVirtualAdapters; + List fiberChannelAdapters; + List virtualFiberChannelAdapters; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/SystemUtil.java b/src/main/java/biz/nellemann/hmci/pcm/SystemUtil.java new file mode 100644 index 0000000..f2eedb6 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/SystemUtil.java @@ -0,0 +1,10 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class SystemUtil { + + UtilInfo utilInfo; + public List utilSamples; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/UtilInfo.java b/src/main/java/biz/nellemann/hmci/pcm/UtilInfo.java new file mode 100644 index 0000000..b8ceaa2 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/UtilInfo.java @@ -0,0 +1,17 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class UtilInfo { + + String version; + String metricType; + Integer frequency; + String startTimeStamp; + String endTimeStamp; + String mtms; + String name; + String uuid; + List metricArrayOrder; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/UtilSample.java b/src/main/java/biz/nellemann/hmci/pcm/UtilSample.java new file mode 100644 index 0000000..6298c6c --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/UtilSample.java @@ -0,0 +1,13 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class UtilSample { + + String sampleType; + public SampleInfo sampleInfo; + ServerUtil serverUtil; + List viosUtil; + List lparsUtil; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/ViosMemory.java b/src/main/java/biz/nellemann/hmci/pcm/ViosMemory.java new file mode 100644 index 0000000..449299d --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/ViosMemory.java @@ -0,0 +1,10 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class ViosMemory { + + List assignedMem; + List utilizedMem; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/ViosUtil.java b/src/main/java/biz/nellemann/hmci/pcm/ViosUtil.java new file mode 100644 index 0000000..ff5fce3 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/ViosUtil.java @@ -0,0 +1,16 @@ +package biz.nellemann.hmci.pcm; + +public class ViosUtil { + + String id; + String uuid; + String name; + String state; + Integer affinityScore; + + ViosMemory memory; + LparProcessor processor; + Network network; + Storage storage; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/VirtualEthernetAdapter.java b/src/main/java/biz/nellemann/hmci/pcm/VirtualEthernetAdapter.java new file mode 100644 index 0000000..f1498a4 --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/VirtualEthernetAdapter.java @@ -0,0 +1,26 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class VirtualEthernetAdapter { + + String physicalLocation; + Integer vlanId; + Integer vswitchId; + Boolean isPortVlanId; + Integer viosId; + String sharedEthernetAdapterId; + List receivedPackets; + List sentPackets; + List droppedPackets; + List sentBytes; + List receivedBytes; + List receivedPhysicalPackets; + List sentPhysicalPackets; + List droppedPhysicalPackets; + List sentPhysicalBytes; + List receivedPhysicalBytes; + List transferredBytes; + List transferredPhysicalBytes; + +} diff --git a/src/main/java/biz/nellemann/hmci/pcm/VirtualFiberChannelAdapter.java b/src/main/java/biz/nellemann/hmci/pcm/VirtualFiberChannelAdapter.java new file mode 100644 index 0000000..df3192a --- /dev/null +++ b/src/main/java/biz/nellemann/hmci/pcm/VirtualFiberChannelAdapter.java @@ -0,0 +1,19 @@ +package biz.nellemann.hmci.pcm; + +import java.util.List; + +public class VirtualFiberChannelAdapter { + + String wwpn; + String wwpn2; + String physicalLocation; + String physicalPortWWPN; + Integer viosId; + List numOfReads; + List numOfWrites; + List readBytes; + List writeBytes; + List runningSpeed; + List transmittedBytes; + +}