(file) Return to StatisticalData.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

  1 karl  1.8 //%2004////////////////////////////////////////////////////////////////////////
  2 sage  1.1 //
  3 karl  1.8 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4           // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5           // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 karl  1.3 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.8 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8           // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 sage  1.1 //
 10           // Permission is hereby granted, free of charge, to any person obtaining a copy
 11           // of this software and associated documentation files (the "Software"), to
 12           // deal in the Software without restriction, including without limitation the
 13           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 14           // sell copies of the Software, and to permit persons to whom the Software is
 15           // furnished to do so, subject to the following conditions:
 16 kumpf 1.2 // 
 17 sage  1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 18           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 19           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 20           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 21           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 22           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 23           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 24           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 25           //
 26           //==============================================================================
 27           //
 28           // Author: Arthur Pichlkostner
 29           //             (checked in: Markus Mueller sedgewick_de@yahoo.de)
 30 a.arora 1.7 // Modified By: Amit K Arora, IBM (amita@in.ibm.com) for Bug#1090
 31 sage    1.1 //
 32             //%/////////////////////////////////////////////////////////////////////////////
 33             
 34             #include "StatisticalData.h"
 35             
 36             PEGASUS_NAMESPACE_BEGIN
 37             
 38             String StatisticalData::requestName[] = {
 39                 "GET_CLASS",
 40                 "GET_INSTANCE",
 41 w.white 1.4 	"EXPORT_INDICATION",
 42 sage    1.1     "DELETE_CLASS",
 43                 "DELETE_INSTANCE",
 44                 "CREATE_CLASS",
 45                 "CREATE_INSTANCE",
 46                 "MODIFY_CLASS",
 47                 "MODIFY_INSTANCE",
 48                 "ENUMERATE_CLASSES",
 49                 "ENUMERATE_CLASS_NAMES",
 50                 "ENUMERATE_INSTANCES",
 51                 "ENUMERATE_INSTANCE_NAMES",
 52                 "EXEC_QUERY",
 53                 "ASSOCIATORS",
 54                 "ASSOCIATOR_NAMES",
 55                 "REFERENCES",
 56                 "REFERENCE_NAMES",
 57                 "GET_PROPERTY",
 58                 "SET_PROPERTY",
 59                 "GET_QUALIFIER",
 60                 "SET_QUALIFIER",
 61                 "DELETE_QUALIFIER",
 62                 "ENUMERATE_QUALIFIERS"
 63 sage    1.1       };
 64             
 65             const Uint32 StatisticalData::length = NUMBER_OF_TYPES;
 66             
 67             StatisticalData* StatisticalData::cur = NULL;
 68             
 69             StatisticalData* StatisticalData::current(){
 70                if (cur == NULL){
 71                   cur = new StatisticalData();
 72                }
 73                return cur;
 74             }
 75             
 76             StatisticalData::StatisticalData(){
 77 w.white 1.4 
 78 w.white 1.6 
 79                copyGSD = 0;
 80             
 81 sage    1.1    for (unsigned int i=0; i<StatisticalData::length; i++){
 82                   numCalls[i] = 0;
 83 w.white 1.4       cimomTime[i] = 0;      
 84             	  providerTime[i] = 0;
 85 sage    1.1       responseSize[i] = 0;
 86                   requestSize[i] = 0;
 87 w.white 1.4 	  
 88 sage    1.1    }
 89             }
 90             
 91 w.white 1.5 void StatisticalData::addToValue(Sint64 value, Uint16 type, Uint32 t){
 92 a.arora 1.7    AutoMutex autoMut(_mutex);
 93 sage    1.1    switch(t){
 94 w.white 1.4 	  case SERVER:   	numCalls[type] += 1;
 95 sage    1.1                         cimomTime[type] += value;
 96                                     break;
 97                   case PROVIDER:    providerTime[type] += value;
 98                                     break;
 99                   case BYTES_SENT:  responseSize[type] += value;
100                                     break;
101                   case BYTES_READ:  requestSize[type] += value;
102                                     break;
103                }
104             }
105             
106 w.white 1.6  void StatisticalData::setCopyGSD(Boolean flag)
107             {
108             
109             	copyGSD = flag;
110             }
111 w.white 1.4 
112 sage    1.1 PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2