diff options
Diffstat (limited to 'indra/llcommon/llmetrics.cpp')
| -rw-r--r-- | indra/llcommon/llmetrics.cpp | 170 | 
1 files changed, 85 insertions, 85 deletions
diff --git a/indra/llcommon/llmetrics.cpp b/indra/llcommon/llmetrics.cpp index d40afe5160..7c37b18bab 100644 --- a/indra/llcommon/llmetrics.cpp +++ b/indra/llcommon/llmetrics.cpp @@ -1,4 +1,4 @@ -/**  +/**   * @file llmetrics.cpp   * @author Kelly   * @date 2007-05-25 @@ -7,21 +7,21 @@   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2010, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -36,128 +36,128 @@  class LLMetricsImpl  {  public: -	LLMetricsImpl() { } -	~LLMetricsImpl(); - -	void recordEvent(const std::string& location, const std::string& mesg, bool success); -	void printTotals(LLSD metadata); -	void recordEventDetails(const std::string& location,  -									const std::string& mesg,  -									bool success,  -									LLSD stats); +    LLMetricsImpl() { } +    ~LLMetricsImpl(); + +    void recordEvent(const std::string& location, const std::string& mesg, bool success); +    void printTotals(LLSD metadata); +    void recordEventDetails(const std::string& location, +                                    const std::string& mesg, +                                    bool success, +                                    LLSD stats);  private: -	LLFrameTimer mLastPrintTimer; -	LLSD mMetricsMap; +    LLFrameTimer mLastPrintTimer; +    LLSD mMetricsMap;  };  LLMetricsImpl::~LLMetricsImpl()  {  } -void LLMetricsImpl::recordEventDetails(const std::string& location,  -									const std::string& mesg,  -									bool success,  -									LLSD stats) +void LLMetricsImpl::recordEventDetails(const std::string& location, +                                    const std::string& mesg, +                                    bool success, +                                    LLSD stats)  { -	recordEvent(location,mesg,success); +    recordEvent(location,mesg,success); -	LLSD metrics = LLSD::emptyMap(); -	metrics["location"] = location; -	metrics["stats"]  = stats; -	 -	LL_INFOS() << "LLMETRICS: " << (LLSDNotationStreamer(metrics)) << LL_ENDL;  +    LLSD metrics = LLSD::emptyMap(); +    metrics["location"] = location; +    metrics["stats"]  = stats; + +    LL_INFOS() << "LLMETRICS: " << (LLSDNotationStreamer(metrics)) << LL_ENDL;  }  // Store this:  // [ {'location_1':{'mesg_1':{'success':i10, 'fail':i0}, -//					'mesg_2':{'success':i10, 'fail':i0}}, +//                  'mesg_2':{'success':i10, 'fail':i0}},  //   {'location_2',{'mesg_3':{'success':i10, 'fail':i0}} ]  void LLMetricsImpl::recordEvent(const std::string& location, const std::string& mesg, bool success)  { -	LLSD& stats = mMetricsMap[location][mesg]; -	if (success) -	{ -		stats["success"] = stats["success"].asInteger() + 1; -	} -	else -	{ -		stats["fail"] = stats["fail"].asInteger() + 1; -	} +    LLSD& stats = mMetricsMap[location][mesg]; +    if (success) +    { +        stats["success"] = stats["success"].asInteger() + 1; +    } +    else +    { +        stats["fail"] = stats["fail"].asInteger() + 1; +    }  }  // Print this:  // { 'meta': -//		{ 'elapsed_time':r3600.000 } +//      { 'elapsed_time':r3600.000 }  //   'stats': -//		[ {'location':'location_1', 'mesg':'mesg_1', 'success':i10, 'fail':i0}, -//		  {'location':'location_1', 'mesg':'mesg_2', 'success':i10, 'fail':i0}, -//		  {'location':'location_2', 'mesg':'mesg_3', 'success':i10, 'fail':i0} ] } +//      [ {'location':'location_1', 'mesg':'mesg_1', 'success':i10, 'fail':i0}, +//        {'location':'location_1', 'mesg':'mesg_2', 'success':i10, 'fail':i0}, +//        {'location':'location_2', 'mesg':'mesg_3', 'success':i10, 'fail':i0} ] }  void LLMetricsImpl::printTotals(LLSD metadata)  { -	F32 elapsed_time = mLastPrintTimer.getElapsedTimeAndResetF32(); -	metadata["elapsed_time"] = elapsed_time; - -	LLSD out_sd = LLSD::emptyMap(); -	out_sd["meta"] = metadata; -		 -	LLSD stats = LLSD::emptyArray(); - -	LLSD::map_const_iterator loc_it = mMetricsMap.beginMap(); -	LLSD::map_const_iterator loc_end = mMetricsMap.endMap(); -	for ( ; loc_it != loc_end; ++loc_it) -	{ -		const std::string& location = (*loc_it).first; -		 -		const LLSD& loc_map = (*loc_it).second; -		LLSD::map_const_iterator mesg_it = loc_map.beginMap(); -		LLSD::map_const_iterator mesg_end = loc_map.endMap(); -		for ( ; mesg_it != mesg_end; ++mesg_it) -		{ -			const std::string& mesg = (*mesg_it).first; -			const LLSD& mesg_map = (*mesg_it).second; - -			LLSD entry = LLSD::emptyMap(); -			entry["location"] = location; -			entry["mesg"] = mesg; -			entry["success"] = mesg_map["success"]; -			entry["fail"] = mesg_map["fail"]; -		 -			stats.append(entry); -		} -	} - -	out_sd["stats"] = stats; - -	LL_INFOS() << "LLMETRICS: AGGREGATE: " << LLSDOStreamer<LLSDNotationFormatter>(out_sd) << LL_ENDL; +    F32 elapsed_time = mLastPrintTimer.getElapsedTimeAndResetF32(); +    metadata["elapsed_time"] = elapsed_time; + +    LLSD out_sd = LLSD::emptyMap(); +    out_sd["meta"] = metadata; + +    LLSD stats = LLSD::emptyArray(); + +    LLSD::map_const_iterator loc_it = mMetricsMap.beginMap(); +    LLSD::map_const_iterator loc_end = mMetricsMap.endMap(); +    for ( ; loc_it != loc_end; ++loc_it) +    { +        const std::string& location = (*loc_it).first; + +        const LLSD& loc_map = (*loc_it).second; +        LLSD::map_const_iterator mesg_it = loc_map.beginMap(); +        LLSD::map_const_iterator mesg_end = loc_map.endMap(); +        for ( ; mesg_it != mesg_end; ++mesg_it) +        { +            const std::string& mesg = (*mesg_it).first; +            const LLSD& mesg_map = (*mesg_it).second; + +            LLSD entry = LLSD::emptyMap(); +            entry["location"] = location; +            entry["mesg"] = mesg; +            entry["success"] = mesg_map["success"]; +            entry["fail"] = mesg_map["fail"]; + +            stats.append(entry); +        } +    } + +    out_sd["stats"] = stats; + +    LL_INFOS() << "LLMETRICS: AGGREGATE: " << LLSDOStreamer<LLSDNotationFormatter>(out_sd) << LL_ENDL;  }  LLMetrics::LLMetrics()  { -	mImpl = new LLMetricsImpl(); +    mImpl = new LLMetricsImpl();  }  LLMetrics::~LLMetrics()  { -	delete mImpl; -	mImpl = NULL; +    delete mImpl; +    mImpl = NULL;  }  void LLMetrics::recordEvent(const std::string& location, const std::string& mesg, bool success)  { -	if (mImpl) mImpl->recordEvent(location,mesg,success); +    if (mImpl) mImpl->recordEvent(location,mesg,success);  }  void LLMetrics::printTotals(LLSD meta)  { -	if (mImpl) mImpl->printTotals(meta); +    if (mImpl) mImpl->printTotals(meta);  } -void LLMetrics::recordEventDetails(const std::string& location,  -									const std::string& mesg,  -									bool success,  -									LLSD stats) +void LLMetrics::recordEventDetails(const std::string& location, +                                    const std::string& mesg, +                                    bool success, +                                    LLSD stats)  { -	if (mImpl) mImpl->recordEventDetails(location,mesg,success,stats); +    if (mImpl) mImpl->recordEventDetails(location,mesg,success,stats);  }  | 
