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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2