<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:class="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_CIMOMStatisticalData" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" targetNamespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_CIMOMStatisticalData">
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common" schemaLocation="http://schemas.dmtf.org/wbem/wscim/1/common.xsd"/>
<xs:element name="InstanceID" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Override" type="cim:cimString">InstanceID</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The InstanceID property opaquely identifies a unique instance of CIMOMStatisticalData and MUST be unique within a namespace. In order to ensure uniqueness, the value of InstanceID MUST be constructed in the following manner: 
CIM&lt;ID&gt; 
The &lt;ID&gt; MUST include a CIM Object Manager specified unique identifier.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_CIMOMStatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="OperationType">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The OperationType property identifies the type of CIM operation for which data is reported in this instance. Batched CIM operations (consisting of multiple simple CIM operations) are reported against the "Batched" type only.</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_CIMOMStatisticalData.OtherOperationType</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="0">Unknown</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="1">Other</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Batched</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">GetClass</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">GetInstance</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">DeleteClass</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="6">DeleteInstance</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="7">CreateClass</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="8">CreateInstance</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="9">ModifyClass</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="10">ModifyInstance</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="11">EnumerateClasses</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="12">EnumerateClassNames</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="13">EnumerateInstances</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="14">EnumerateInstanceNames</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="15">ExecQuery</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="16">Associators</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="17">AssociatorNames</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="18">References</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="19">ReferenceNames</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="20">GetProperty</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="21">SetProperty</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="22">GetQualifier</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="23">SetQualifier</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="24">DeleteQualifier</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="25">EnumerateQualifiers</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="26">IndicationDelivery</cim:Qualifier>
<cim:Classorigin name="CIM_CIMOMStatisticalData"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
<xs:enumeration value="7"/>
<xs:enumeration value="8"/>
<xs:enumeration value="9"/>
<xs:enumeration value="10"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
<xs:enumeration value="13"/>
<xs:enumeration value="14"/>
<xs:enumeration value="15"/>
<xs:enumeration value="16"/>
<xs:enumeration value="17"/>
<xs:enumeration value="18"/>
<xs:enumeration value="19"/>
<xs:enumeration value="20"/>
<xs:enumeration value="21"/>
<xs:enumeration value="22"/>
<xs:enumeration value="23"/>
<xs:enumeration value="24"/>
<xs:enumeration value="25"/>
<xs:enumeration value="26"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OtherOperationType" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The OtherOperationType property identifies the operation if the OperationType property has a value of 1 ("Other"). For all other values of OperationType, the property is NULL.</cim:Qualifier>
<cim:Qualifier name="MaxLen" type="cim:cimUnsignedInt">64</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_CIMOMStatisticalData.OperationType</cim:Qualifier>
<cim:Classorigin name="CIM_CIMOMStatisticalData"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimString">
<xs:maxLength value="64"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="NumberOfOperations" type="cim:cimUnsignedLong">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The NumberOfOperations property contains the number of CIM operations of the specified type. This property can be used to calculate average values per CIM operation.</cim:Qualifier>
<cim:Qualifier name="Counter" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_CIMOMStatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CimomElapsedTime" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The CimomElapsedTime property contains the elapsed time spent in the CIM Object Manager for this operation type, not counting the elapsed time spent in providers and the underlying instrumentation. The measurement points for this property SHOULD be at the transport layer interface on the network side, and at the provider interface on the instrumentation side of the CIM Object Manager.</cim:Qualifier>
<cim:Classorigin name="CIM_CIMOMStatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ProviderElapsedTime" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The ProviderElapsedTime property contains the elapsed time spent in all providers involved with this operation type, including the underlying instrumentation. The measurement point for this property SHOULD be from the provider interface of the CIM Object Manager.</cim:Qualifier>
<cim:Classorigin name="CIM_CIMOMStatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="RequestSize" nillable="true" type="cim:cimUnsignedLong">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The RequestSize property contains the size of the operation requests sent to the CIM Object Manager. Any overhead of protocols above the transport protocol SHOULD be included in the count. For example, for the HTTP protocol, the size would include the size of the HTTP payload and the size of the HTTP headers.</cim:Qualifier>
<cim:Qualifier name="Units" type="cim:cimString">Bytes</cim:Qualifier>
<cim:Qualifier name="Counter" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="PUnit" type="cim:cimString">byte</cim:Qualifier>
<cim:Classorigin name="CIM_CIMOMStatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ResponseSize" nillable="true" type="cim:cimUnsignedLong">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The ResponseSize property contains the size of the operation responses sent back from the CIM Object Manager. Any overhead of protocols above the transport protocol SHOULD be included in the count. For example, for the HTTP protocol, the size would include the size of the HTTP payload and the size of the HTTP headers.</cim:Qualifier>
<cim:Qualifier name="Units" type="cim:cimString">Bytes</cim:Qualifier>
<cim:Qualifier name="Counter" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="PUnit" type="cim:cimString">byte</cim:Qualifier>
<cim:Classorigin name="CIM_CIMOMStatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ElementName" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Override" type="cim:cimString">ElementName</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The user friendly name for this instance of StatisticalData. In addition, the user friendly name can be used as a index property for a search of query. (Note: Name does not have to be unique within a namespace.)</cim:Qualifier>
<cim:Classorigin name="CIM_StatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="StartStatisticTime" nillable="true" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The time, relative to managed element where the statistic was collected, when the first measurement was taken. If the statistic is reset, the StartStatisticTime is the time when the reset was performed.</cim:Qualifier>
<cim:Classorigin name="CIM_StatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="StatisticTime" nillable="true" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The time the most recent measurement was taken, relative to the managed element where the statistic was collected.</cim:Qualifier>
<cim:Classorigin name="CIM_StatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="SampleInterval" nillable="true" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">Some statistics are sampled at consistent time intervals. This property provides the sample interval so that client applications can determine the minimum time that new statistics should be pulled. If the statistics are not sampled at consistent time intervals, this property must be set to a zero time interval.</cim:Qualifier>
<cim:Classorigin name="CIM_StatisticalData"/>
<cim:Defaultvalue type="cim:cimDateTime">"00000000000000.000000:000"</cim:Defaultvalue>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="RateIntervalEndTime" nillable="true" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The end time for the rate data interval.</cim:Qualifier>
<cim:Classorigin name="CIM_StatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="RateIntervalStartTime" nillable="true" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The start time for the rate data interval. Rate indicates the number of data points per second - for example, number of read I/Os per second.</cim:Qualifier>
<cim:Classorigin name="CIM_StatisticalData"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Caption" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The Caption property is a short textual description (one- line string) of the object.</cim:Qualifier>
<cim:Qualifier name="MaxLen" type="cim:cimUnsignedInt">64</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimString">
<xs:maxLength value="64"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description" nillable="true" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The Description property provides a textual description of the object.</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Generation" nillable="true" type="cim:cimUnsignedLong">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">Generation is an optional, monotonically increasing property that may be used to identify a particular generation of the resource represented by this class.
If Generation is supported by the implementation, its value shall not be null. 
Except as otherwise specified, a value (including null) of Generation specified at creation time shall be replaced by null if Generation is not supported by the implementation or shall be a, (possibly different), non-null value if the implementation does support Generation.
After creation and if supported, Generation shall be updated, at least once per access, whenever the represented resource is modified, regardless of the source of the modification.
Note: the Generation value only needs to be updated once between references, even if the resource is updated many times. The key point is to assure that it will be different if there have been updates, not to count each update.
Note: unless otherwise specified, the value of Generation within one instance is not required to be coordinated with the value of Generation in any other instance.
Note:the semantics of the instance, (as defined by its creation class), define the underlying resource. That underlying resource may be a collection or aggregation of resources. And, in that case, the semantics of the instance further define when updates to constituent resources also require updates to the Generation of the collective resource. Default behavior of composite aggregations should be to update the Generation of the composite whenever the Generation of a component is updated.
Subclasses may define additional requirements for updates on some or all of related instances.
For a particular instance, the value of Generation may wrap through zero, but the elapsed time between wraps shall be greater than 10's of years.
This class does not require Generation to be unique across instances of other classes nor across instances of the same class that have different keys. Generation shall be different across power cycles, resets, or reboots if any of those actions results in an update. Generation may be different across power cycles, resets, or reboots if those actions do not result in an update. If the Generation property of an instance is non-null, and if any attempt to update the instance includes the Generation property, then if it doesn't match the current value, the update shall fail.
The usage of this property is intended to be further specified by applicable management profiles. 
Typically, a client will read the value of this property and then supply that value as input to an operation that modifies the instance in some means. This may be via an explicit parameter in an extrinsic method or via an embedded value in an extrinsic method or intrinsic operation.
For example: a profile may require that an intrinsic instance modification supply the Generation property and that it must match for the modification to succeed.</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ResetSelectedStats_INPUT">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<xs:element name="ResetSelectedStats_OUTPUT">
<xs:complexType>
<xs:sequence>
<xs:element name="ReturnValue" nillable="true" type="cim:cimUnsignedInt"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CIM_CIMOMStatisticalData" type="class:CIM_CIMOMStatisticalData_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_CIMOMStatisticalData" superclass="CIM_StatisticalData"/>
<cim:Qualifier name="Version" type="cim:cimString">2.19.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Interop</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">CIM_CIMOMStatisticalData provides statistical data about the performance of the CIM Object Manager. Each object of this class provides elapsed time and size data for a particular type of CIM operation. All operations of that type, regardless of the CIM operations protocol being used, are accumulated in one object and covers the CIM operations issued by all clients of the Object Manager scoping the instance. Batched CIM operations are accumulated into a separate operation type for "Batched". The counters in this class SHOULD be implemented such that they always increment and naturally wrap around when their numerical limit is exceeded. A client that calculates the difference of two snapshots of a counter at the beginning and end of a measurement interval should get the correct result, even if there was a wrap-around in between obtaining the two snapshots. (Two or more wrap arounds will result in wrong data being calculated.) The gathering of the data can be controlled through the property, CIM_ObjectManager.GatherStatisticalData. The time interval to which the statistical data applies, ends at the current time and therefore includes the most current CIM operations. The interval starts when the statistical data gathering was last turned on for the Object Manager.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_CIMOMStatisticalData_Type">
<xs:sequence>
<xs:element minOccurs="0" ref="class:Caption"/>
<xs:element ref="class:CimomElapsedTime"/>
<xs:element minOccurs="0" ref="class:Description"/>
<xs:element ref="class:ElementName"/>
<xs:element minOccurs="0" ref="class:Generation"/>
<xs:element ref="class:InstanceID"/>
<xs:element ref="class:NumberOfOperations"/>
<xs:element ref="class:OperationType"/>
<xs:element minOccurs="0" ref="class:OtherOperationType"/>
<xs:element ref="class:ProviderElapsedTime"/>
<xs:element minOccurs="0" ref="class:RateIntervalEndTime"/>
<xs:element minOccurs="0" ref="class:RateIntervalStartTime"/>
<xs:element minOccurs="0" ref="class:RequestSize"/>
<xs:element minOccurs="0" ref="class:ResponseSize"/>
<xs:element minOccurs="0" ref="class:SampleInterval"/>
<xs:element minOccurs="0" ref="class:StartStatisticTime"/>
<xs:element minOccurs="0" ref="class:StatisticTime"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
