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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2