// ===================================================================
// Title:  Device Storage Statistics
// $State: Exp $
// $Date: 2004/08/15 05:55:36 $
// $Source: /cvsroot/wbemservices/open/mof/dmtf/2.9/Device_StorageStatistics.mof,v $
// $Revision: 1.1 $
// ===================================================================
//#pragma inLine ("Includes/copyright.inc")
// Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
// All rights reserved.
// DMTF is a not-for-profit association of industry members dedicated
// to promoting enterprise and systems management and interoperability.
// DMTF specifications and documents may be reproduced for uses
// consistent with this purpose by members and non-members,
// provided that correct attribution is given.
// As DMTF specifications may be revised from time to time,
// the particular version and release date should always be noted.
// 
// Implementation of certain elements of this standard or proposed
// standard may be subject to third party patent rights, including
// provisional patent rights (herein "patent rights"). DMTF makes
// no representations to users of the standard as to the existence
// of such rights, and is not responsible to recognize, disclose, or
// identify any or all such third party patent right, owners or
// claimants, nor for any incomplete or inaccurate identification or
// disclosure of such rights, owners or claimants. DMTF shall have no
// liability to any party, in any manner or circumstance, under any
// legal theory whatsoever, for failure to recognize, disclose, or
// identify any such third party patent rights, or for such party's
// reliance on the standard or incorporation thereof in its product,
// protocols or testing procedures. DMTF shall have no liability to
// any party implementing such standard, whether such implementation
// is foreseeable or not, nor to any patent owner or claimant, and shall
// have no liability or responsibility for costs or losses incurred if
// a standard is withdrawn or modified after publication, and shall be
// indemnified and held harmless by any party implementing the
// standard from any and all claims of infringement by a patent owner
// for such implementations.
// 
// For information about patents held by third-parties which have
// notified the DMTF that, in their opinion, such patent may relate to
// or impact implementations of DMTF standards, visit
// http://www.dmtf.org/about/policies/disclosures.php.
//#pragma inLine
// ===================================================================
// Description: The Device Model extends the management concepts that
//              are related to LogicalDevices. This file defines
//              a model for storage statistics.
// 
//              The object classes below are listed in an order that
//              avoids forward references. Required objects, defined
//              by other working groups, are omitted.
// ==================================================================
// Change Log for v2.9 Preliminary
// CR1384 - Created this file
// ==================================================================

#pragma locale ("en_US")

// ==================================================================
// BlockStorageStatisticalData
// ==================================================================
   [Experimental, Version ( "2.8.1000" ), 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 {
 
      [Counter, Description (
          "The cumulative count of I/Os for the object.")]
   uint64 TotalIOs;
 
      [Counter, Units("KiloBytes"), Description (
          "The cumulative count of data transferred in Kbytes "
          "(1024bytes = 1KByte).")]
   uint64 KBytesTransfered;
 
      [Counter, 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.")]
   uint64 IOTimeCounter;
 
      [Counter, Description (
          "The cumulative count of all reads.")]
   uint64 ReadIOs;
 
      [Counter, Description (
          "The cumulative count of all read cache hits (Reads from "
          "Cache).")]
   uint64 ReadHitIOs;
 
      [Counter, Description (
          "The cumulative elapsed time for all Read I/Os for all "
          "cumulative Read I/Os.")]
   uint64 ReadIOTimeCounter;
 
      [Counter, Description (
          "The cumulative elapsed time for all Read I/Os read from "
          "cache for all cumulative Read I/Os.")]
   uint64 ReadHitIOTimeCounter;
 
      [Counter, Units("KiloBytes"), Description (
          "The cumulative count of data read in Kbytes (1024bytes = "
          "1KByte).")]
   uint64 KBytesRead;
 
      [Counter, Description (
          "The cumulative count of all writes.")]
   uint64 WriteIOs;
 
      [Counter, Description (
          "The cumulative count of Write Cache Hits (Writes that went "
          "directly to Cache).")]
   uint64 WriteHitIOs;
 
      [Counter, Description (
          "The cumulative elapsed time for all Write I/Os for all "
          "cumulative Writes.")]
   uint64 WriteIOTimeCounter;
 
      [Counter, Description (
          "The cumulative elapsed time using ClockTickInterval units "
          "for all Write I/Os written to cache for all cumulative "
          "Write I/Os.")]
   uint64 WriteHitIOTimeCounter;
 
      [Counter, Description (
          "The cumulative elapsed idle time using ClockTickInterval "
          "units (Cumulative Number of Time Units for all idle time in "
          "the array).")]
   uint64 IdleTimeCounter;
 
      [Counter, 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.")]
   uint64 MaintOp;
 
      [Counter, 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.")]
   uint64 MaintTimeCounter;
};

// ===================================================================
// end of file
// ===================================================================
