(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.7 and 1.11

version 1.7, 2004/08/12 10:47:43 version 1.11, 2005/06/07 02:24:56
Line 1 
Line 1 
 //%2003////////////////////////////////////////////////////////////////////////  //%2005////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
 // IBM Corp.; EMC Corporation, The Open Group. // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 30 
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 57 
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 (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;
    }    }
 } }
   }
  
  void StatisticalData::setCopyGSD(Boolean flag)  void StatisticalData::setCopyGSD(Boolean flag)
 { {


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2