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

Diff for /pegasus/src/Pegasus/Common/StatisticalData.cpp between version 1.10 and 1.11

version 1.10, 2005/03/10 02:02:13 version 1.11, 2005/06/07 02:24:56
Line 34 
Line 34 
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #include "StatisticalData.h" #include "StatisticalData.h"
   #include "Tracer.h"
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 String StatisticalData::requestName[] = {  String StatisticalData::requestName[] =
   {
     "GET_CLASS",     "GET_CLASS",
     "GET_INSTANCE",     "GET_INSTANCE",
         "EXPORT_INDICATION",         "EXPORT_INDICATION",
Line 61 
Line 63 
     "GET_QUALIFIER",     "GET_QUALIFIER",
     "SET_QUALIFIER",     "SET_QUALIFIER",
     "DELETE_QUALIFIER",     "DELETE_QUALIFIER",
     "ENUMERATE_QUALIFIERS"      "ENUMERATE_QUALIFIERS",
       "INVOKE_METHOD"
       };       };
  
 const Uint32 StatisticalData::length = NUMBER_OF_TYPES; const Uint32 StatisticalData::length = NUMBER_OF_TYPES;
  
 StatisticalData* StatisticalData::cur = NULL; StatisticalData* StatisticalData::cur = NULL;
  
 StatisticalData* StatisticalData::current(){  StatisticalData* StatisticalData::current()
    if (cur == NULL){  {
       if (cur == NULL)
       {
       cur = new StatisticalData();       cur = new StatisticalData();
    }    }
    return cur;    return cur;
 } }
  
 StatisticalData::StatisticalData(){  StatisticalData::StatisticalData()
   {
   
    copyGSD = 0;    copyGSD = 0;
  
    for (unsigned int i=0; i<StatisticalData::length; i++){      for (unsigned int i=0; i<StatisticalData::length; i++)
       {
       numCalls[i] = 0;       numCalls[i] = 0;
       cimomTime[i] = 0;       cimomTime[i] = 0;
           providerTime[i] = 0;           providerTime[i] = 0;
       responseSize[i] = 0;       responseSize[i] = 0;
       requestSize[i] = 0;       requestSize[i] = 0;
   
    }    }
 } }
  
 void StatisticalData::addToValue(Sint64 value, Uint16 type, Uint32 t){  void StatisticalData::addToValue(Sint64 value, Uint16 type, Uint32 t)
    if(copyGSD){  {
       if (type >= NUMBER_OF_TYPES)
       {
            Tracer::trace(TRC_DISCARDED_DATA, Tracer::LEVEL2,
                "StatData: Statistical Data Discarded.  "
                    "Invalid Request Type =  %u", type);
            return;
       }
   
       if (copyGSD)
       {
      AutoMutex autoMut(_mutex);      AutoMutex autoMut(_mutex);
      switch(t){          switch (t)
             case SERVER:      numCalls[type] += 1;          {
               case SERVER:
                   numCalls[type] += 1;
                           cimomTime[type] += value;                           cimomTime[type] += value;
                   Tracer::trace(TRC_STATISTICAL_DATA, Tracer::LEVEL2,
                       "StatData: SERVER: %s(%d): count = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d; value = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d; total = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d",
                       (const char *)requestName[type].getCString(), type,
                       numCalls[type], value, cimomTime[type]);
                           break;                           break;
         case PROVIDER:    providerTime[type] += value;              case PROVIDER:
                   providerTime[type] += value;
                   Tracer::trace(TRC_STATISTICAL_DATA, Tracer::LEVEL2,
                       "StatData: PROVIDER: %s(%d): count = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d; value = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d; total = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d",
                       (const char *)requestName[type].getCString(), type,
                       numCalls[type], value, providerTime[type]);
                           break;                           break;
         case BYTES_SENT:  responseSize[type] += value;          case BYTES_SENT:
                   responseSize[type] += value;
                   Tracer::trace(TRC_STATISTICAL_DATA, Tracer::LEVEL2,
                       "StatData: BYTES_SENT: %s(%d): count = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d; value = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d; total = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d",
                       (const char *)requestName[type].getCString(), type,
                       numCalls[type], value, responseSize[type]);
                           break;                           break;
         case BYTES_READ:  requestSize[type] += value;          case BYTES_READ:
                   requestSize[type] += value;
                   Tracer::trace(TRC_STATISTICAL_DATA, Tracer::LEVEL2,
                       "StatData: BYTES_READ: %s(%d): count = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d; value = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d; total = %"
                           PEGASUS_64BIT_CONVERSION_WIDTH "d",
                       (const char *)requestName[type].getCString(), type,
                       numCalls[type], value, requestSize[type]);
                           break;                           break;
      }      }
    }    }


Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2