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

Diff for /pegasus/src/Pegasus/Common/Tracer.h between version 1.42 and 1.53

version 1.42, 2008/09/18 08:01:37 version 1.53, 2013/03/14 10:23:37
Line 1 
Line 1 
 //%2006////////////////////////////////////////////////////////////////////////  //%LICENSE////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development  // Licensed to The Open Group (TOG) under one or more contributor license
 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.  // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;  // this work for additional information regarding copyright ownership.
 // IBM Corp.; EMC Corporation, The Open Group.  // Each contributor licenses this file to you under the OpenPegasus Open
 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;  // Source License; you may not use this file except in compliance with the
 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.  // License.
 // 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
 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;  // copy of this software and associated documentation files (the "Software"),
 // EMC Corporation; Symantec Corporation; The Open Group.  // to deal in the Software without restriction, including without limitation
 //  // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 // Permission is hereby granted, free of charge, to any person obtaining a copy  // and/or sell copies of the Software, and to permit persons to whom the
 // of this software and associated documentation files (the "Software"), to  // Software is furnished to do so, subject to the following conditions:
 // deal in the Software without restriction, including without limitation the  //
 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  // The above copyright notice and this permission notice shall be included
 // sell copies of the Software, and to permit persons to whom the Software is  // in all copies or substantial portions of the Software.
 // furnished to do so, subject to the following conditions:  //
 //  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  
 // //
 //==============================================================================  //////////////////////////////////////////////////////////////////////////
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 48 
Line 46 
 /** /**
     Trace component identifiers.  This list must be kept in sync with the     Trace component identifiers.  This list must be kept in sync with the
     TRACE_COMPONENT_LIST in Tracer.cpp.     TRACE_COMPONENT_LIST in Tracer.cpp.
       The tracer uses the _traceComponentMask 64bit field to mask
       the user configured components.
   
       Please ensure that no more than 64 Trace Component ID's are specified.
 */ */
 enum TraceComponentId enum TraceComponentId
 { {
     TRC_XML_PARSER,      TRC_XML,
     TRC_XML_WRITER,  
     TRC_XML_READER,  
     TRC_XML_IO,     TRC_XML_IO,
     TRC_HTTP,     TRC_HTTP,
     TRC_CIM_DATA,  
     TRC_REPOSITORY,     TRC_REPOSITORY,
     TRC_DISPATCHER,     TRC_DISPATCHER,
     TRC_OS_ABSTRACTION,     TRC_OS_ABSTRACTION,
Line 65 
Line 64 
     TRC_AUTHENTICATION,     TRC_AUTHENTICATION,
     TRC_AUTHORIZATION,     TRC_AUTHORIZATION,
     TRC_USER_MANAGER,     TRC_USER_MANAGER,
     TRC_REGISTRATION,  
     TRC_SHUTDOWN,     TRC_SHUTDOWN,
     TRC_SERVER,     TRC_SERVER,
     TRC_INDICATION_SERVICE,     TRC_INDICATION_SERVICE,
     TRC_INDICATION_SERVICE_INTERNAL,  
     TRC_MESSAGEQUEUESERVICE,     TRC_MESSAGEQUEUESERVICE,
     TRC_PROVIDERMANAGER,     TRC_PROVIDERMANAGER,
     TRC_OBJECTRESOLUTION,     TRC_OBJECTRESOLUTION,
     TRC_WQL,     TRC_WQL,
     TRC_CQL,     TRC_CQL,
     TRC_THREAD,     TRC_THREAD,
     TRC_IPC,  
     TRC_IND_HANDLE,  
     TRC_EXP_REQUEST_DISP,     TRC_EXP_REQUEST_DISP,
     TRC_SSL,     TRC_SSL,
     TRC_CONTROLPROVIDER,     TRC_CONTROLPROVIDER,
     TRC_CIMOM_HANDLE,     TRC_CIMOM_HANDLE,
     TRC_BINARY_MSG_HANDLER,  
     TRC_L10N,     TRC_L10N,
     TRC_EXPORT_CLIENT,     TRC_EXPORT_CLIENT,
     TRC_LISTENER,     TRC_LISTENER,
Line 95 
Line 89 
     TRC_INDICATION_RECEIPT,     TRC_INDICATION_RECEIPT,
     TRC_CMPIPROVIDERINTERFACE,     TRC_CMPIPROVIDERINTERFACE,
     TRC_WSMSERVER,     TRC_WSMSERVER,
     TRC_LOGMSG      TRC_LOGMSG,
       TRC_WMI_MAPPER_CONSUMER,
       TRC_INTERNALPROVIDER
 }; };
  
 /** Token used for tracing functions. /** Token used for tracing functions.
Line 112 
Line 108 
 { {
 public: public:
  
       /** Trace Components list defines the strings repesenting each
           TraceComponentId entry. Externalized to allow display of the
           possible list of trace components.  The size of this list is
           defined in _NUM_COMPONENTS variable.
        */
       static char const* TRACE_COMPONENT_LIST[];
   
     /** Trace facilities     /** Trace facilities
         File - tracing occurs to the trace file         File - tracing occurs to the trace file
         Log  - tracing occurs through the Pegasus Logger class         Log  - tracing occurs through the Pegasus Logger class
Line 167 
Line 170 
         const Uint32 level,         const Uint32 level,
         const CIMException& cimException);         const CIMException& cimException);
  
       /** Formats the message given in data as hex dump if binary is true
           @param data      Message to be formatted
           @param binary    flag indicating if message is binary or not
       */
       static SharedArrayPtr<char> traceFormatChars(
           const Buffer& data,
           bool binary);
   
     /** Gets an HTTP request message.     /** Gets an HTTP request message.
  
           Given a binary HTTP request message(application/x-openpegasus
           this method returns the request message formatted in hex dump format
           and returns.
   
         Given an HTTP request message, this method checks if the         Given an HTTP request message, this method checks if the
         message contains a "Basic" authorization header.         message contains a "Basic" authorization header.
  
Line 227 
Line 242 
     */     */
     static Boolean setTraceMemoryBufferSize(Uint32 bufferSize);     static Boolean setTraceMemoryBufferSize(Uint32 bufferSize);
  
       /** Set the Max trace File Size
           @param maxLogFileSizeBytes size of cimserver.trc
       */
       static void setMaxTraceFileSize (Uint32 maxLogFileSizeBytes);
   
       /** Set the Max trace File number
           @param maxLogFileNumber number of cimserver.trc in trace folder
       */
       static void setMaxTraceFileNumber(Uint32 maxLogFileNumber);
   
     /** Flushes the trace buffer to traceFilePath. This method will only     /** Flushes the trace buffer to traceFilePath. This method will only
         have an effect when traceFacility=Memory.         have an effect when traceFacility=Memory.
     */     */
Line 305 
Line 330 
     //           1               if the component and level are enabled     //           1               if the component and level are enabled
     static Boolean isTraceEnabled(     static Boolean isTraceEnabled(
         const TraceComponentId traceComponent,         const TraceComponentId traceComponent,
         const Uint32 level);          const Uint32 traceLevel)
       {
           return ((traceLevel & _traceLevelMask) &&
                   (_traceComponentMask & ((Uint64)1 << traceComponent)));
       }
  
 private: private:
  
Line 330 
Line 359 
     static const Uint32 _NUM_COMPONENTS;     static const Uint32 _NUM_COMPONENTS;
     static const Uint32 _STRLEN_MAX_UNSIGNED_INT;     static const Uint32 _STRLEN_MAX_UNSIGNED_INT;
     static const Uint32 _STRLEN_MAX_PID_TID;     static const Uint32 _STRLEN_MAX_PID_TID;
     AutoArrayPtr<Boolean> _traceComponentMask;      static Uint64                _traceComponentMask;
       static Uint32                _traceLevelMask;
       static Tracer*               _tracerInstance;
     Uint32                _traceMemoryBufferSize;     Uint32                _traceMemoryBufferSize;
     Uint32                _traceFacility;     Uint32                _traceFacility;
     //Is true if any components are set at the component mask  
     Boolean               _componentsAreSet;  
     Boolean               _runningOOP;     Boolean               _runningOOP;
     Uint32                _traceLevelMask;  
     TraceHandler*         _traceHandler;     TraceHandler*         _traceHandler;
     String                _traceFile;     String                _traceFile;
     String                _oopTraceFileExtension;     String                _oopTraceFileExtension;
     static Tracer*        _tracerInstance;  
  
     // Message Strings for function Entry and Exit     // Message Strings for function Entry and Exit
     static const char _METHOD_ENTER_MSG[];     static const char _METHOD_ENTER_MSG[];
     static const char _METHOD_EXIT_MSG[];     static const char _METHOD_EXIT_MSG[];
  
       // Function formats size bytes of binary data given in data in a nicely
       // readable hex format and writes the output to targetBuffer
       // Return value: Pointer to one byte behind last position that was written
       static char* _formatHexDump(
           char* targetBuffer,
           const char* data,Uint32 size);
   
     // Factory function to create an instance of the matching trace handler     // Factory function to create an instance of the matching trace handler
     // for the given type of traceFacility.     // for the given type of traceFacility.
     // @param    traceFacility  type of trace handler to create     // @param    traceFacility  type of trace handler to create


Legend:
Removed from v.1.42  
changed lines
  Added in v.1.53

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2