// Copyright (c) 2008 DMTF.  All rights reserved.
   [Abstract, Version ( "2.19.0" ), 
    UMLPackagePath ( "CIM::Core::Statistics" ), 
    Description ( 
       "CIM_StatisticalData is a root class for any arbitrary "
       "collection of statistical data and/or metrics applicable to "
       "one or more ManagedElements. These statistics MUST represent "
       "the most recent observations and MUST NOT be provided if "
       "irrelevant or stale. Note that this class uses a simplified "
       "naming/identity algorithm as compared to "
       "CIM_StatisticalInformation." )]
class CIM_StatisticalData : CIM_ManagedElement {

      [Key, Override ( "InstanceID" ), 
       Description ( 
          "Within the scope of the instantiating Namespace, "
          "InstanceID opaquely and uniquely identifies an instance "
          "of this class. In order to ensure uniqueness within the "
          "NameSpace, the value of InstanceID SHOULD be constructed "
          "using the following \'preferred\' algorithm: \n"
          "<OrgID>:<LocalID> \n"
          "Where <OrgID> and <LocalID> are separated by a colon "
          "\':\', and where <OrgID> MUST include a copyrighted, "
          "trademarked or otherwise unique name that is owned by "
          "the business entity creating/defining the InstanceID, or "
          "is a registered ID that is assigned to the business "
          "entity by a recognized global authority (This is similar "
          "to the <Schema Name>_<Class Name> structure of Schema "
          "class names.) In addition, to ensure uniqueness <OrgID> "
          "MUST NOT contain a colon (\':\'). When using this "
          "algorithm, the first colon to appear in InstanceID MUST "
          "appear between <OrgID> and <LocalID>. \n"
          "<LocalID> is chosen by the business entity and SHOULD "
          "not be re-used to identify different underlying "
          "(real-world) elements. If the above \'preferred\' "
          "algorithm is not used, the defining entity MUST assure "
          "that the resultant InstanceID is not re-used across any "
          "InstanceIDs produced by this or other providers for this "
          "instance\'s NameSpace. \n"
          "For DMTF defined instances, the \'preferred\' algorithm "
          "MUST be used with the <OrgID> set to \'CIM\'." )]
   string InstanceID;

      [Required, Override ( "ElementName" ), 
       Description ( 
          "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.)" )]
   string ElementName;

      [Description ( 
          "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." )]
   datetime StartStatisticTime;

      [Description ( 
          "The time the most recent measurement was taken, relative "
          "to the managed element where the statistic was "
          "collected." )]
   datetime StatisticTime;

      [Description ( 
          "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." )]
   datetime SampleInterval = "00000000000000.000000:000";


      [Description ( 
          "Method to reset one or more of the instance\'s "
          "statistics. The method takes one parameter as input - an "
          "array of strings indicating which statistics to reset. "
          "If all the statistics in the instance should be reset, "
          "the first element of the array MUST be set to \"All\" or "
          "\"ALL\". If one or more individual statistics should be "
          "reset, the corresponding property names are entered into "
          "the elements of the array. \n"
          "The method returns 0 if successful, 1 if not supported, "
          "and any other value if an error occurred. A method is "
          "specified so that the StatisticalInformation\'s "
          "provider/ instrumentation, which calculates the "
          "statistics, can reset its internal processing, counters, "
          "etc. \n"
          "In a subclass, the set of possible return codes could be "
          "specified, using a ValueMap qualifier on the method. The "
          "strings to which the ValueMap contents are \'translated\' "
          "may also be specified in the subclass as a Values array "
          "qualifier." )]
   uint32 ResetSelectedStats(
         [IN, Description ( 
             "Array of strings indicating which statistics to reset."
              )]
      string SelectedStatistics[]);

};
