// Copyright (c) 2013 DMTF. All rights reserved. [Version ( "2.42.0" ), UMLPackagePath ( "CIM::Device::StorageStatistics" ), Description ( "A subclass of StatisticalData which identifies individual " "statistics for an element of a block storage system. This " "class defines the metrics that MAY be kept for managed " "elements of the system." )] class CIM_BlockStorageStatisticalData : CIM_StatisticalData { [Required, Description ( "Defines the role that the element played for which this " "statistics record was collected. If the metered element " "is a system or a component of a system associated to a " "RegisteredProfile, then that profile may provide a more " "specialized definition and additional usage information " "for this property. \r\n" "Generally, the ElementTypes defined here have the " "following meaning in the context of this class: 2, " "\"Computer System\": Cumulative statistics for the " "storage system. In the case of a complex system with " "multiple component Computer Systems, these are the " "statistics for the top-level aggregate Computer System. " "3, \"Front-end Computer System\": Statistics for a " "component computer system that communicate with systems " "that initiate IO requests. 4, \"Peer Computer System\": " "Statistics for a component computer system that " "communicates with peer storage systems e.g. to provide " "remote mirroring of a volume. 5, \"Back-end Computer " "System\": Statistics for a component computer system " "that communicates with back-end storage. 6, \"Front-end " "Port\": Statistics for a port that communicates with " "systems that initiate IO requests. 7, \"Back-end Port\": " "Statistics for a port that initiates IO requests to " "storage devices. 8, \"Volume\": Statistics for an " "exposable storage extent, such as a StorageVolume or " "LogicalDisk. 9, \"Extent\": Statistics for an " "intermediate storage extent, i.e. an extent that is " "neither a volume or a disk. 10, \"Disk Drive: Statistics " "for a StorageExtent that is associated to a DiskDrive " "through the MediaPresent association. 11, \"Arbitrary " "LUs\": Statistics that derive from access to Logical " "Units that are NOT StorageVolumes (e.g., controller " "commands). 12, \"Remote Replica Group\": Statistics for " "control IOs between an array and a remote mirror across " "a Network. Note that statistics for the actual movement " "of data to the remote mirror are attributed to the " "targeted StorageVolume (or LogicalDisk). Note that a " "particular element could be associated to multiple " "BlockStorageStatisticalData instances if it had multiple " "roles. For example, a storage array could contain " "redundant component computer systems that communicate " "both with hosts on the front end and disks on the back " "end. Such a device could have one " "BlockStorageStatisticalData instance where ElementType=3 " "and another instance where ElementType=5.If only rated " "data is included per RateElementType, this property " "shall be set to 0." ), ValueMap { "0", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "..", "0x8000.." }, Values { "Unknown", "Computer System", "Front-end Computer System", "Peer Computer System", "Back-end Computer System", "Front-end Port", "Back-end Port", "Volume", "Extent", "Disk Drive", "Arbitrary LUs", "Remote Replica Group", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_BlockStorageStatisticalData.RateElementType" }] uint16 ElementType; [Description ( "The cumulative count of I/Os for the object." ), Counter] uint64 TotalIOs; [Description ( "The cumulative count of data transferred in Kbytes " "(1024bytes = 1KByte)." ), Units ( "KiloBytes" ), Counter, PUnit ( "byte * 10^3" )] uint64 KBytesTransferred; [Description ( "The cumulative count of data written in Kbytes " "(1024bytes = 1KByte)." ), Units ( "KiloBytes" ), Counter, PUnit ( "byte * 10^3" )] uint64 KBytesWritten; [Description ( "The cumulative elapsed I/O time (number of Clock Tick " "Intervals) for all I/Os as defined in \'Total I/Os\'. " "I/O response time is added to this counter at the " "completion of each measured I/O using ClockTickInterval " "units. This value can be divided by number of IOs to " "obtain an average response time." ), Counter] uint64 IOTimeCounter; [Description ( "The cumulative count of all reads." ), Counter] uint64 ReadIOs; [Description ( "The cumulative count of all read cache hits (Reads from Cache)." ), Counter] uint64 ReadHitIOs; [Description ( "The cumulative elapsed time for all Read I/Os for all " "cumulative Read I/Os." ), Counter] uint64 ReadIOTimeCounter; [Description ( "The cumulative elapsed time for all Read I/Os read from " "cache for all cumulative Read I/Os." ), Counter] uint64 ReadHitIOTimeCounter; [Description ( "The cumulative count of data read in Kbytes (1024bytes = 1KByte)." ), Units ( "KiloBytes" ), Counter, PUnit ( "byte * 10^3" )] uint64 KBytesRead; [Description ( "The cumulative count of all writes." ), Counter] uint64 WriteIOs; [Description ( "The cumulative count of Write Cache Hits (Writes that " "went directly to Cache)." ), Counter] uint64 WriteHitIOs; [Description ( "The cumulative elapsed time for all Write I/Os for all " "cumulative Writes." ), Counter] uint64 WriteIOTimeCounter; [Description ( "The cumulative elapsed time using ClockTickInterval " "units for all Write I/Os written to cache for all " "cumulative Write I/Os." ), Counter] uint64 WriteHitIOTimeCounter; [Description ( "The cumulative elapsed idle time using ClockTickInterval " "units (Cumulative Number of Time Units for all idle time " "in the array)." ), Counter] uint64 IdleTimeCounter; [Description ( "The cumulative count of all disk maintenance operations " "(SCSI commands such as: Verify, skip-mask, XOR read, XOR " "write-read, etc).This is needed to understand the load " "on the disks that may interfere with normal read and " "write operations." ), Counter] uint64 MaintOp; [Description ( "The cumulative elapsed disk mainenance time. " "Maintainance response time is added to this counter at " "the completion of each measured maintenance operation " "using ClockTickInterval units." ), Counter] uint64 MaintTimeCounter; [Experimental, Description ( "The count of data read in Kbytes per second (1024bytes = 1KByte)." ), Units ( "KiloBytes" ), PUnit ( "byte * 10^3" )] real32 KBytesReadRate; [Experimental, Description ( "The count of data transferred in Kbytes per second " "(1024bytes = 1KByte)." ), Units ( "KiloBytes" ), PUnit ( "byte * 10^3" )] real32 KBytesTransferredRate; [Experimental, Description ( "The count of data written in Kbytes per second " "(1024bytes = 1KByte)." ), Units ( "KiloBytes" ), PUnit ( "byte * 10^3" )] real32 KBytesWrittenRate; [Experimental, Description ( "The cumulative count of all disk maintenance operations " "per second (SCSI commands such as: Verify, skip-mask, " "XOR read, XOR write-read, etc).This is needed to " "understand the load on the disks that may interfere with " "normal read and write operations." )] real32 MaintOpRate; [Experimental, Description ( "Similar description as the ElementType, except for rated " "data. If rated data is not included, this property shall " "be set to 0 or null." ), ValueMap { "0", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "..", "0x8000.." }, Values { "Unknown", "Computer System Rate", "Front-end Computer System Rate", "Peer Computer System Rate", "Back-end Computer System Rate", "Front-end Port Rate", "Back-end Port Rate", "Volume Rate", "Extent Rate", "Disk Drive Rate", "Arbitrary LUs Rate", "Remote Replica Group Rate", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_BlockStorageStatisticalData.ElementType" }] uint16 RateElementType; [Experimental, Description ( "The count of all read cache hits (Reads from Cache) per second." )] real32 ReadHitIOsRate; [Experimental, Description ( "The count of all reads per second." )] real32 ReadIOsRate; [Experimental, Description ( "The count of I/Os per second for the object." )] real32 TotalIOsRate; [Experimental, Description ( "The count of Write Cache Hits per second (Writes that " "went directly to Cache)." )] real32 WriteHitIOsRate; [Experimental, Description ( "The cumulative count of all writes per second." )] real32 WriteIOsRate; [Experimental, Description ( "The cumulative count of sequential read cache hits." ), Counter] uint64 ReadSequentialHits; [Experimental, Description ( "The cumulative count of sequential reads." ), Counter] uint64 ReadSequentialIOs; [Experimental, Description ( "The cumulative count of Cache Hits (both read and write)." ), Counter] uint64 TotalHitIOs; [Experimental, Description ( "The cumulative count of sequential Write Cache Hits " "(sequential writes that went directly to Cache)." ), Counter] uint64 WriteSequentialHits; [Experimental, Description ( "The cumulative count of all sequential writes." ), Counter] uint64 WriteSequentialIOs; };