diff options
Diffstat (limited to 'indra/newview/llviewerassetstats.cpp')
| -rw-r--r-- | indra/newview/llviewerassetstats.cpp | 346 | 
1 files changed, 173 insertions, 173 deletions
diff --git a/indra/newview/llviewerassetstats.cpp b/indra/newview/llviewerassetstats.cpp index 14e05fd440..011b8afd73 100644 --- a/indra/newview/llviewerassetstats.cpp +++ b/indra/newview/llviewerassetstats.cpp @@ -1,25 +1,25 @@ -/**  +/**   * @file llviewerassetstats.cpp - * @brief  + * @brief   *   * $LicenseInfo:firstyear=2010&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$   */ @@ -123,17 +123,17 @@ public:  namespace LLViewerAssetStatsFF  { -	static EViewerAssetCategories asset_type_to_category(const LLViewerAssetType::EType at, bool with_http, bool is_temp) -	{ -		// For statistical purposes, we divide GETs into several -		// populations of asset fetches: -		//  - textures which are de-prioritized in the asset system -		//  - wearables (clothing, bodyparts) which directly affect -		//    user experiences when they log in -		//  - sounds -		//  - gestures, including animations -		//  - everything else. -		// +    static EViewerAssetCategories asset_type_to_category(const LLViewerAssetType::EType at, bool with_http, bool is_temp) +    { +        // For statistical purposes, we divide GETs into several +        // populations of asset fetches: +        //  - textures which are de-prioritized in the asset system +        //  - wearables (clothing, bodyparts) which directly affect +        //    user experiences when they log in +        //  - sounds +        //  - gestures, including animations +        //  - everything else. +        //          EViewerAssetCategories ret;          switch (at) @@ -163,13 +163,13 @@ namespace LLViewerAssetStatsFF                  ret = with_http ? EVACOtherHTTPGet : EVACOtherUDPGet;                  break;          } -		return ret; -	} +        return ret; +    } -	static LLTrace::DCCountStatHandle<> sEnqueued[EVACCount]; -	static LLTrace::DCCountStatHandle<> sDequeued[EVACCount]; -	static LLTrace::DCEventStatHandle<> sBytesFetched[EVACCount]; -	static LLTrace::DCEventStatHandle<F64Seconds > sResponse[EVACCount]; +    static LLTrace::DCCountStatHandle<> sEnqueued[EVACCount]; +    static LLTrace::DCCountStatHandle<> sDequeued[EVACCount]; +    static LLTrace::DCEventStatHandle<> sBytesFetched[EVACCount]; +    static LLTrace::DCEventStatHandle<F64Seconds > sResponse[EVACCount];  }  // ------------------------------------------------------ @@ -181,99 +181,99 @@ LLViewerAssetStats * gViewerAssetStats(0);  // LLViewerAssetStats class definition  // ------------------------------------------------------  LLViewerAssetStats::LLViewerAssetStats() -:	mRegionHandle(U64(0)), -	mCurRecording(NULL) +:   mRegionHandle(U64(0)), +    mCurRecording(NULL)  { -	start(); +    start();  }  LLViewerAssetStats::LLViewerAssetStats(const LLViewerAssetStats & src) -:	mRegionHandle(src.mRegionHandle) +:   mRegionHandle(src.mRegionHandle)  { -	mRegionRecordings = src.mRegionRecordings; - -	mCurRecording = &mRegionRecordings[mRegionHandle]; -	 -	// assume this is being passed to another thread, so make sure we have unique copies of recording data -	for (PerRegionRecordingContainer::iterator it = mRegionRecordings.begin(), end_it = mRegionRecordings.end(); -		it != end_it; -		++it) -	{ -		it->second.stop(); -		it->second.makeUnique(); -	} - -	LLStopWatchControlsMixin<LLViewerAssetStats>::setPlayState(src.getPlayState()); +    mRegionRecordings = src.mRegionRecordings; + +    mCurRecording = &mRegionRecordings[mRegionHandle]; + +    // assume this is being passed to another thread, so make sure we have unique copies of recording data +    for (PerRegionRecordingContainer::iterator it = mRegionRecordings.begin(), end_it = mRegionRecordings.end(); +        it != end_it; +        ++it) +    { +        it->second.stop(); +        it->second.makeUnique(); +    } + +    LLStopWatchControlsMixin<LLViewerAssetStats>::setPlayState(src.getPlayState());  }  void LLViewerAssetStats::handleStart()  { -	if (mCurRecording) -	{ -		mCurRecording->start(); -	} +    if (mCurRecording) +    { +        mCurRecording->start(); +    }  }  void LLViewerAssetStats::handleStop()  { -	if (mCurRecording) -	{ -		mCurRecording->stop(); -	} +    if (mCurRecording) +    { +        mCurRecording->stop(); +    }  }  void LLViewerAssetStats::handleReset()  { -	reset(); +    reset();  }  void LLViewerAssetStats::reset()  { -	// Empty the map of all region stats -	mRegionRecordings.clear(); - -	// initialize new recording for current region -	if (mRegionHandle) -	{ -		mCurRecording = &mRegionRecordings[mRegionHandle]; -		mCurRecording->setPlayState(getPlayState()); -	} +    // Empty the map of all region stats +    mRegionRecordings.clear(); + +    // initialize new recording for current region +    if (mRegionHandle) +    { +        mCurRecording = &mRegionRecordings[mRegionHandle]; +        mCurRecording->setPlayState(getPlayState()); +    }  }  void LLViewerAssetStats::setRegion(region_handle_t region_handle)  { -	if (region_handle == mRegionHandle) -	{ -		// Already active, ignore. -		return; -	} - -	if (mCurRecording) -	{ -		mCurRecording->pause(); -	} -	if (region_handle) -	{ -		mCurRecording = &mRegionRecordings[region_handle]; -		mCurRecording->setPlayState(getPlayState()); -	} - -	mRegionHandle = region_handle; +    if (region_handle == mRegionHandle) +    { +        // Already active, ignore. +        return; +    } + +    if (mCurRecording) +    { +        mCurRecording->pause(); +    } +    if (region_handle) +    { +        mCurRecording = &mRegionRecordings[region_handle]; +        mCurRecording->setPlayState(getPlayState()); +    } + +    mRegionHandle = region_handle;  }  template <typename T>  void LLViewerAssetStats::getStat(LLTrace::Recording& rec, T& req, LLViewerAssetStatsFF::EViewerAssetCategories cat, bool compact_output)  { -	using namespace LLViewerAssetStatsFF; +    using namespace LLViewerAssetStatsFF;      if (!compact_output -        || rec.getSampleCount(sEnqueued[cat])  +        || rec.getSampleCount(sEnqueued[cat])          || rec.getSampleCount(sDequeued[cat])          || rec.getSampleCount(sResponse[cat]))      { -        req	.enqueued(rec.getSampleCount(sEnqueued[cat])) +        req .enqueued(rec.getSampleCount(sEnqueued[cat]))              .dequeued(rec.getSampleCount(sDequeued[cat]))              .resp_count(rec.getSampleCount(sResponse[cat]))              .resp_min(rec.getMin(sResponse[cat]).value()) @@ -285,16 +285,16 @@ void LLViewerAssetStats::getStat(LLTrace::Recording& rec, T& req, LLViewerAssetS  void LLViewerAssetStats::getStats(AssetStats& stats, bool compact_output)  { -	using namespace LLViewerAssetStatsFF; +    using namespace LLViewerAssetStatsFF; -	stats.regions.setProvided(); -	 -	for (PerRegionRecordingContainer::iterator it = mRegionRecordings.begin(), end_it = mRegionRecordings.end(); -		it != end_it; -		++it) -	{ -		RegionStats& r = stats.regions.add(); -		LLTrace::Recording& rec = it->second; +    stats.regions.setProvided(); + +    for (PerRegionRecordingContainer::iterator it = mRegionRecordings.begin(), end_it = mRegionRecordings.end(); +        it != end_it; +        ++it) +    { +        RegionStats& r = stats.regions.add(); +        LLTrace::Recording& rec = it->second;          getStat(rec, r.get_texture_temp_http, EVACTextureTempHTTPGet, compact_output);          getStat(rec, r.get_texture_temp_udp, EVACTextureTempUDPGet, compact_output); @@ -310,38 +310,38 @@ void LLViewerAssetStats::getStats(AssetStats& stats, bool compact_output)          getStat(rec, r.get_landmark_udp, EVACLandmarkUDPGet, compact_output);          getStat(rec, r.get_other_http, EVACOtherHTTPGet, compact_output);          getStat(rec, r.get_other_udp, EVACOtherUDPGet, compact_output); -         -		S32 fps = (S32)rec.getLastValue(LLStatViewer::FPS_SAMPLE); -		if (!compact_output || fps != 0) -		{ -			r.fps	.count(fps) -					.min(rec.getMin(LLStatViewer::FPS_SAMPLE)) -					.max(rec.getMax(LLStatViewer::FPS_SAMPLE)) -					.mean(rec.getMean(LLStatViewer::FPS_SAMPLE)); -		} -		U32 grid_x(0), grid_y(0); -		grid_from_region_handle(it->first, &grid_x, &grid_y); -		r	.grid_x(grid_x) -			.grid_y(grid_y) -			.duration(F64Seconds(rec.getDuration()).value()); -	} - -	stats.duration(mCurRecording ? F64Seconds(mCurRecording->getDuration()).value() : 0.0); + +        S32 fps = (S32)rec.getLastValue(LLStatViewer::FPS_SAMPLE); +        if (!compact_output || fps != 0) +        { +            r.fps   .count(fps) +                    .min(rec.getMin(LLStatViewer::FPS_SAMPLE)) +                    .max(rec.getMax(LLStatViewer::FPS_SAMPLE)) +                    .mean(rec.getMean(LLStatViewer::FPS_SAMPLE)); +        } +        U32 grid_x(0), grid_y(0); +        grid_from_region_handle(it->first, &grid_x, &grid_y); +        r   .grid_x(grid_x) +            .grid_y(grid_y) +            .duration(F64Seconds(rec.getDuration()).value()); +    } + +    stats.duration(mCurRecording ? F64Seconds(mCurRecording->getDuration()).value() : 0.0);  }  LLSD LLViewerAssetStats::asLLSD(bool compact_output)  { -	LLParamSDParser parser; -	LLSD sd; -	AssetStats stats; -	getStats(stats, compact_output); -	LLInitParam::predicate_rule_t rule = LLInitParam::default_parse_rules(); -	if (!compact_output) -	{ -		rule.allow(LLInitParam::EMPTY); -	} -	parser.writeSD(sd, stats, rule); -	return sd; +    LLParamSDParser parser; +    LLSD sd; +    AssetStats stats; +    getStats(stats, compact_output); +    LLInitParam::predicate_rule_t rule = LLInitParam::default_parse_rules(); +    if (!compact_output) +    { +        rule.allow(LLInitParam::EMPTY); +    } +    parser.writeSD(sd, stats, rule); +    return sd;  }  // ------------------------------------------------------ @@ -352,47 +352,47 @@ namespace LLViewerAssetStatsFF  {  void set_region(LLViewerAssetStats::region_handle_t region_handle)  { -	if (! gViewerAssetStats) -		return; +    if (! gViewerAssetStats) +        return; -	gViewerAssetStats->setRegion(region_handle); +    gViewerAssetStats->setRegion(region_handle);  }  void record_enqueue(LLViewerAssetType::EType at, bool with_http, bool is_temp)  { -	const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp)); +    const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp)); -	add(sEnqueued[int(eac)], 1); +    add(sEnqueued[int(eac)], 1);  }  void record_dequeue(LLViewerAssetType::EType at, bool with_http, bool is_temp)  { -	const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp)); +    const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp)); -	add(sDequeued[int(eac)], 1); +    add(sDequeued[int(eac)], 1);  }  void record_response(LLViewerAssetType::EType at, bool with_http, bool is_temp, LLViewerAssetStats::duration_t duration, F64 bytes)  { -	const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp)); +    const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp)); -	record(sResponse[int(eac)], F64Seconds(duration)); -	record(sBytesFetched[int(eac)], bytes); +    record(sResponse[int(eac)], F64Seconds(duration)); +    record(sBytesFetched[int(eac)], bytes);  }  void init()  { -	if (! gViewerAssetStats) -	{ -		gViewerAssetStats = new LLViewerAssetStats(); -	} +    if (! gViewerAssetStats) +    { +        gViewerAssetStats = new LLViewerAssetStats(); +    }  }  void  cleanup()  { -	delete gViewerAssetStats; -	gViewerAssetStats = 0; +    delete gViewerAssetStats; +    gViewerAssetStats = 0;  } @@ -400,51 +400,51 @@ cleanup() -LLViewerAssetStats::AssetRequestType::AssetRequestType()  -:	enqueued("enqueued"), -	dequeued("dequeued"), -	resp_count("resp_count"), -	resp_min("resp_min"), -	resp_max("resp_max"), -	resp_mean("resp_mean"), +LLViewerAssetStats::AssetRequestType::AssetRequestType() +:   enqueued("enqueued"), +    dequeued("dequeued"), +    resp_count("resp_count"), +    resp_min("resp_min"), +    resp_max("resp_max"), +    resp_mean("resp_mean"),      resp_mean_bytes("resp_mean_bytes")  {} -	 -LLViewerAssetStats::FPSStats::FPSStats()  -:	count("count"), -	min("min"), -	max("max"), -	mean("mean") + +LLViewerAssetStats::FPSStats::FPSStats() +:   count("count"), +    min("min"), +    max("max"), +    mean("mean")  {} -LLViewerAssetStats::RegionStats::RegionStats()  -:	get_texture_temp_http("get_texture_temp_http"), -	get_texture_temp_udp("get_texture_temp_udp"), -	get_texture_non_temp_http("get_texture_non_temp_http"), -	get_texture_non_temp_udp("get_texture_non_temp_udp"), -	get_wearable_http("get_wearable_http"), -	get_wearable_udp("get_wearable_udp"), -	get_sound_http("get_sound_http"), -	get_sound_udp("get_sound_udp"), -	get_gesture_http("get_gesture_http"), -	get_gesture_udp("get_gesture_udp"), -	get_landmark_http("get_landmark_http"), -	get_landmark_udp("get_landmark_udp"), -	get_other_http("get_other_http"), -	get_other_udp("get_other_udp"), -	fps("fps"), -	grid_x("grid_x"), -	grid_y("grid_y"), -	duration("duration") +LLViewerAssetStats::RegionStats::RegionStats() +:   get_texture_temp_http("get_texture_temp_http"), +    get_texture_temp_udp("get_texture_temp_udp"), +    get_texture_non_temp_http("get_texture_non_temp_http"), +    get_texture_non_temp_udp("get_texture_non_temp_udp"), +    get_wearable_http("get_wearable_http"), +    get_wearable_udp("get_wearable_udp"), +    get_sound_http("get_sound_http"), +    get_sound_udp("get_sound_udp"), +    get_gesture_http("get_gesture_http"), +    get_gesture_udp("get_gesture_udp"), +    get_landmark_http("get_landmark_http"), +    get_landmark_udp("get_landmark_udp"), +    get_other_http("get_other_http"), +    get_other_udp("get_other_udp"), +    fps("fps"), +    grid_x("grid_x"), +    grid_y("grid_y"), +    duration("duration")  {} -LLViewerAssetStats::AssetStats::AssetStats()  -:	regions("regions"), -	duration("duration"), -	session_id("session_id"), -	agent_id("agent_id"), -	message("message"), -	sequence("sequence"), -	initial("initial"), -	break_("break") +LLViewerAssetStats::AssetStats::AssetStats() +:   regions("regions"), +    duration("duration"), +    session_id("session_id"), +    agent_id("agent_id"), +    message("message"), +    sequence("sequence"), +    initial("initial"), +    break_("break")  {}  | 
