diff options
| author | Merov Linden <merov@lindenlab.com> | 2010-11-05 18:40:08 -0700 | 
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2010-11-05 18:40:08 -0700 | 
| commit | 85509457c6dc6a0f3e56fa3d24ae872e1878c04f (patch) | |
| tree | 25965d736b6f3052c4bb1fbffc7f725edf97561b /indra/llcommon | |
| parent | a680d4fc1c30828fac63b1b9c6caee497c8f992a (diff) | |
STORM-105 : Take Vadim code review into account, code clean up
Diffstat (limited to 'indra/llcommon')
| -rw-r--r-- | indra/llcommon/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | indra/llcommon/llmetricperformancetester.cpp | 142 | ||||
| -rw-r--r-- | indra/llcommon/llmetricperformancetester.h | 172 | 
3 files changed, 159 insertions, 159 deletions
| diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index a6f07f9600..478f2fedbd 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -55,7 +55,6 @@ set(llcommon_SOURCE_FILES      llevents.cpp      lleventtimer.cpp      llfasttimer_class.cpp -    llmetricperformancetester.cpp      llfile.cpp      llfindlocale.cpp      llfixedbuffer.cpp @@ -71,6 +70,7 @@ set(llcommon_SOURCE_FILES      llmemorystream.cpp      llmemtype.cpp      llmetrics.cpp +    llmetricperformancetester.cpp      llmortician.cpp      lloptioninterface.cpp      llptrto.cpp  @@ -161,7 +161,6 @@ set(llcommon_HEADER_FILES      llextendedstatus.h      llfasttimer.h      llfasttimer_class.h -    llmetricperformancetester.h      llfile.h      llfindlocale.h      llfixedbuffer.h @@ -188,6 +187,7 @@ set(llcommon_HEADER_FILES      llmemorystream.h      llmemtype.h      llmetrics.h +    llmetricperformancetester.h      llmortician.h      llnametable.h      lloptioninterface.h diff --git a/indra/llcommon/llmetricperformancetester.cpp b/indra/llcommon/llmetricperformancetester.cpp index bd548f199a..2110192fbc 100644 --- a/indra/llcommon/llmetricperformancetester.cpp +++ b/indra/llcommon/llmetricperformancetester.cpp @@ -52,7 +52,7 @@ void LLMetricPerformanceTesterBasic::cleanClass()  /*static*/   BOOL LLMetricPerformanceTesterBasic::addTester(LLMetricPerformanceTesterBasic* tester)   { -    llassert_always(tester != NULL);	 +	llassert_always(tester != NULL);	  	std::string name = tester->getTesterName() ;  	if (getTester(name))  	{ @@ -80,7 +80,7 @@ LLMetricPerformanceTesterBasic* LLMetricPerformanceTesterBasic::getTester(std::s  //----------------------------------------------------------------------------------------------  LLMetricPerformanceTesterBasic::LLMetricPerformanceTesterBasic(std::string name) :  -    mName(name), +	mName(name),  	mCount(0)  {  	if (mName == std::string()) @@ -110,7 +110,7 @@ void LLMetricPerformanceTesterBasic::postOutputTestResults(LLSD* sd)  void LLMetricPerformanceTesterBasic::outputTestResults()   {  	LLSD sd; -     +  	preOutputTestResults(&sd) ;   	outputTestRecord(&sd) ;  	postOutputTestResults(&sd) ; @@ -124,43 +124,43 @@ void LLMetricPerformanceTesterBasic::addMetric(std::string str)  /*virtual*/   void LLMetricPerformanceTesterBasic::analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current)   { -    resetCurrentCount() ; - -    std::string currentLabel = getCurrentLabelName(); -    BOOL in_base = (*base).has(currentLabel) ; -    BOOL in_current = (*current).has(currentLabel) ; - -    while(in_base || in_current) -    { -        LLSD::String label = currentLabel ;		 -         -        if(in_base && in_current) -        {				 -            *os << llformat("%s\n", label.c_str()) ; - -            for(U32 index = 0 ; index < mMetricStrings.size() ; index++) -            { -                switch((*current)[label][ mMetricStrings[index] ].type()) -                { -                case LLSD::TypeInteger: -                    compareTestResults(os, mMetricStrings[index],  -                        (S32)((*base)[label][ mMetricStrings[index] ].asInteger()), (S32)((*current)[label][ mMetricStrings[index] ].asInteger())) ; -                    break ; -                case LLSD::TypeReal: -                    compareTestResults(os, mMetricStrings[index],  -                        (F32)((*base)[label][ mMetricStrings[index] ].asReal()), (F32)((*current)[label][ mMetricStrings[index] ].asReal())) ; -                    break; -                default: -                    llerrs << "unsupported metric " << mMetricStrings[index] << " LLSD type: " << (S32)(*current)[label][ mMetricStrings[index] ].type() << llendl ; -                } -            }	 -        } - -        incrementCurrentCount(); -        currentLabel = getCurrentLabelName(); -        in_base = (*base).has(currentLabel) ; -        in_current = (*current).has(currentLabel) ; -    } +	resetCurrentCount() ; + +	std::string currentLabel = getCurrentLabelName(); +	BOOL in_base = (*base).has(currentLabel) ; +	BOOL in_current = (*current).has(currentLabel) ; + +	while(in_base || in_current) +	{ +		LLSD::String label = currentLabel ;		 + +		if(in_base && in_current) +		{				 +			*os << llformat("%s\n", label.c_str()) ; + +			for(U32 index = 0 ; index < mMetricStrings.size() ; index++) +			{ +				switch((*current)[label][ mMetricStrings[index] ].type()) +				{ +				case LLSD::TypeInteger: +					compareTestResults(os, mMetricStrings[index],  +						(S32)((*base)[label][ mMetricStrings[index] ].asInteger()), (S32)((*current)[label][ mMetricStrings[index] ].asInteger())) ; +					break ; +				case LLSD::TypeReal: +					compareTestResults(os, mMetricStrings[index],  +						(F32)((*base)[label][ mMetricStrings[index] ].asReal()), (F32)((*current)[label][ mMetricStrings[index] ].asReal())) ; +					break; +				default: +					llerrs << "unsupported metric " << mMetricStrings[index] << " LLSD type: " << (S32)(*current)[label][ mMetricStrings[index] ].type() << llendl ; +				} +			}	 +		} + +		incrementCurrentCount(); +		currentLabel = getCurrentLabelName(); +		in_base = (*base).has(currentLabel) ; +		in_current = (*current).has(currentLabel) ; +	}  }  /*virtual*/  @@ -182,12 +182,12 @@ void LLMetricPerformanceTesterBasic::compareTestResults(std::ofstream* os, std::  //----------------------------------------------------------------------------------------------  LLMetricPerformanceTesterWithSession::LLMetricPerformanceTesterWithSession(std::string name) :  -    LLMetricPerformanceTesterBasic(name), -    mBaseSessionp(NULL), -    mCurrentSessionp(NULL) +	LLMetricPerformanceTesterBasic(name), +	mBaseSessionp(NULL), +	mCurrentSessionp(NULL)  {  } -     +  LLMetricPerformanceTesterWithSession::~LLMetricPerformanceTesterWithSession()  {  	if (mBaseSessionp) @@ -205,33 +205,33 @@ LLMetricPerformanceTesterWithSession::~LLMetricPerformanceTesterWithSession()  /*virtual*/   void LLMetricPerformanceTesterWithSession::analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current)   { -    // Load the base session -    resetCurrentCount() ; -    mBaseSessionp = loadTestSession(base) ; -     -    // Load the current session -    resetCurrentCount() ; -    mCurrentSessionp = loadTestSession(current) ; -     -    if (!mBaseSessionp || !mCurrentSessionp) -    { -        llerrs << "Error loading test sessions." << llendl ; -    } -     -    // Compare -    compareTestSessions(os) ; -     -    // Release memory -    if (mBaseSessionp) -    { -        delete mBaseSessionp ; -        mBaseSessionp = NULL ; -    } -    if (mCurrentSessionp) -    { -        delete mCurrentSessionp ; -        mCurrentSessionp = NULL ; -    } +	// Load the base session +	resetCurrentCount() ; +	mBaseSessionp = loadTestSession(base) ; + +	// Load the current session +	resetCurrentCount() ; +	mCurrentSessionp = loadTestSession(current) ; + +	if (!mBaseSessionp || !mCurrentSessionp) +	{ +		llerrs << "Error loading test sessions." << llendl ; +	} + +	// Compare +	compareTestSessions(os) ; + +	// Release memory +	if (mBaseSessionp) +	{ +		delete mBaseSessionp ; +		mBaseSessionp = NULL ; +	} +	if (mCurrentSessionp) +	{ +		delete mCurrentSessionp ; +		mCurrentSessionp = NULL ; +	}  } diff --git a/indra/llcommon/llmetricperformancetester.h b/indra/llcommon/llmetricperformancetester.h index 82d579b188..6fd1d41daa 100644 --- a/indra/llcommon/llmetricperformancetester.h +++ b/indra/llcommon/llmetricperformancetester.h @@ -35,114 +35,114 @@ class LL_COMMON_API LLMetricPerformanceTesterBasic  {  public:  	/** -     * @brief Creates a basic tester instance. -     * @param[in] name - Unique string identifying this tester instance. -     */ +	 * @brief Creates a basic tester instance. +	 * @param[in] name - Unique string identifying this tester instance. +	 */  	LLMetricPerformanceTesterBasic(std::string name);  	virtual ~LLMetricPerformanceTesterBasic();  	/** -     * @return Returns true if the instance has been added to the tester map. -     * Need to be tested after creation of a tester instance so to know if the tester is correctly handled. -     * A tester might not be added to the map if another tester with the same name already exists. -     */ -    BOOL isValid() const { return mValidInstance; } +	 * @return Returns true if the instance has been added to the tester map. +	 * Need to be tested after creation of a tester instance so to know if the tester is correctly handled. +	 * A tester might not be added to the map if another tester with the same name already exists. +	 */ +	BOOL isValid() const { return mValidInstance; }  	/** -     * @brief Write a set of test results to the log LLSD. -     */ +	 * @brief Write a set of test results to the log LLSD. +	 */  	void outputTestResults() ; -     +  	/** -     * @brief Compare the test results. -     * By default, compares the test results against the baseline one by one, item by item,  -     * in the increasing order of the LLSD record counter, starting from the first one. -     */ +	 * @brief Compare the test results. +	 * By default, compares the test results against the baseline one by one, item by item,  +	 * in the increasing order of the LLSD record counter, starting from the first one. +	 */  	virtual void analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current) ; -     +  	/** -     * @return Returns the number of the test metrics in this tester instance. -     */ +	 * @return Returns the number of the test metrics in this tester instance. +	 */  	S32 getNumberOfMetrics() const { return mMetricStrings.size() ;}  	/** -     * @return Returns the metric name at index -     * @param[in] index - Index on the list of metrics managed by this tester instance. -     */ +	 * @return Returns the metric name at index +	 * @param[in] index - Index on the list of metrics managed by this tester instance. +	 */  	std::string getMetricName(S32 index) const { return mMetricStrings[index] ;} -     +  protected:  	/** -     * @return Returns the name of this tester instance. -     */ +	 * @return Returns the name of this tester instance. +	 */  	std::string getTesterName() const { return mName ;} -     +  	/** -     * @brief Insert a new metric to be managed by this tester instance. -     * @param[in] str - Unique string identifying the new metric. -     */ +	 * @brief Insert a new metric to be managed by this tester instance. +	 * @param[in] str - Unique string identifying the new metric. +	 */  	void addMetric(std::string str) ;  	/** -     * @brief Compare test results, provided in 2 flavors: compare integers and compare floats. -     * @param[out] os - Formatted output string holding the compared values. -     * @param[in] metric_string - Name of the metric. -     * @param[in] v_base - Base value of the metric. -     * @param[in] v_current - Current value of the metric. -     */ +	 * @brief Compare test results, provided in 2 flavors: compare integers and compare floats. +	 * @param[out] os - Formatted output string holding the compared values. +	 * @param[in] metric_string - Name of the metric. +	 * @param[in] v_base - Base value of the metric. +	 * @param[in] v_current - Current value of the metric. +	 */  	virtual void compareTestResults(std::ofstream* os, std::string metric_string, S32 v_base, S32 v_current) ;  	virtual void compareTestResults(std::ofstream* os, std::string metric_string, F32 v_base, F32 v_current) ; -     +  	/** -     * @brief Reset internal record count. Count starts with 1. -     */ +	 * @brief Reset internal record count. Count starts with 1. +	 */  	void resetCurrentCount() { mCount = 1; }  	/** -     * @brief Increment internal record count. -     */ +	 * @brief Increment internal record count. +	 */  	void incrementCurrentCount() { mCount++; }  	/** -     * @return Returns the label to be used for the current count. It's "TesterName"-"Count". -     */ -    std::string getCurrentLabelName() const { return llformat("%s-%d", mName.c_str(), mCount) ;} -     -    /** -     * @brief Write a test record to the LLSD. Implementers need to overload this method. -     * @param[out] sd - The LLSD record to store metric data into. -     */ +	 * @return Returns the label to be used for the current count. It's "TesterName"-"Count". +	 */ +	std::string getCurrentLabelName() const { return llformat("%s-%d", mName.c_str(), mCount) ;} + +	/** +	 * @brief Write a test record to the LLSD. Implementers need to overload this method. +	 * @param[out] sd - The LLSD record to store metric data into. +	 */  	virtual void outputTestRecord(LLSD* sd) = 0 ;  private:  	void preOutputTestResults(LLSD* sd) ;  	void postOutputTestResults(LLSD* sd) ; -	std::string mName ;                         // Name of this tester instance -	S32 mCount ;                                // Current record count -    BOOL mValidInstance;                        // TRUE if the instance is managed by the map +	std::string mName ;							// Name of this tester instance +	S32 mCount ;								// Current record count +	BOOL mValidInstance;						// TRUE if the instance is managed by the map  	std::vector< std::string > mMetricStrings ; // Metrics strings  // Static members managing the collection of testers  public:	 -    // Map of all the tester instances in use +	// Map of all the tester instances in use  	typedef std::map< std::string, LLMetricPerformanceTesterBasic* > name_tester_map_t;	  	static name_tester_map_t sTesterMap ;  	/** -     * @return Returns a pointer to the tester -     * @param[in] name - Name of the tester instance queried. -     */ +	 * @return Returns a pointer to the tester +	 * @param[in] name - Name of the tester instance queried. +	 */  	static LLMetricPerformanceTesterBasic* getTester(std::string name) ;  	/** -     * @return Returns TRUE if there's a tester defined, FALSE otherwise. -     */ +	 * @return Returns TRUE if there's a tester defined, FALSE otherwise. +	 */  	static BOOL hasMetricPerformanceTesters() { return !sTesterMap.empty() ;}  	/** -     * @brief Delete all testers and reset the tester map -     */ +	 * @brief Delete all testers and reset the tester map +	 */  	static void cleanClass() ;  private: -    // Add a tester to the map. Returns false if adding fails. -	static BOOL addTester(LLMetricPerformanceTesterBasic* tester) ;     +	// Add a tester to the map. Returns false if adding fails. +	static BOOL addTester(LLMetricPerformanceTesterBasic* tester) ;  };  /** @@ -153,42 +153,42 @@ class LL_COMMON_API LLMetricPerformanceTesterWithSession : public LLMetricPerfor  {  public:  	/** -     * @param[in] name - Unique string identifying this tester instance. -     */ +	 * @param[in] name - Unique string identifying this tester instance. +	 */  	LLMetricPerformanceTesterWithSession(std::string name);  	virtual ~LLMetricPerformanceTesterWithSession();  	/** -     * @brief Compare the test results. -     * This will be loading the base and current sessions and compare them using the virtual  -     * abstract methods loadTestSession() and compareTestSessions() -     */ +	 * @brief Compare the test results. +	 * This will be loading the base and current sessions and compare them using the virtual  +	 * abstract methods loadTestSession() and compareTestSessions() +	 */  	virtual void analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current) ;  protected: -    /** -     * @class LLMetricPerformanceTesterWithSession::LLTestSession -     * @brief Defines an interface for the two abstract virtual functions loadTestSession() and compareTestSessions() -     */ -	class LLTestSession -        { -        public: -            virtual ~LLTestSession() ; -        }; -     -	/** -     * @brief Convert an LLSD log into a test session. -     * @param[in] log - The LLSD record -     * @return Returns the record as a test session -     */ +	/** +	 * @class LLMetricPerformanceTesterWithSession::LLTestSession +	 * @brief Defines an interface for the two abstract virtual functions loadTestSession() and compareTestSessions() +	 */ +	class LL_COMMON_API LLTestSession +		{ +		public: +			virtual ~LLTestSession() ; +		}; + +	/** +	 * @brief Convert an LLSD log into a test session. +	 * @param[in] log - The LLSD record +	 * @return Returns the record as a test session +	 */  	virtual LLMetricPerformanceTesterWithSession::LLTestSession* loadTestSession(LLSD* log) = 0; -     +  	/** -     * @brief Compare the base session and the target session. Assumes base and current sessions have been loaded. -     * @param[out] os - The comparison result as a standard stream -     */ +	 * @brief Compare the base session and the target session. Assumes base and current sessions have been loaded. +	 * @param[out] os - The comparison result as a standard stream +	 */  	virtual void compareTestSessions(std::ofstream* os) = 0; -     +  	LLTestSession* mBaseSessionp;  	LLTestSession* mCurrentSessionp;  }; | 
