Merge. Pull in monty/viewer-drano-metrics. This will likely be

Thu, 29 Aug 2013 12:19:33 -0400

author
Monty Brandenberg <monty@lindenlab.com>
date
Thu, 29 Aug 2013 12:19:33 -0400
changeset 40718
1248eee75671
parent 40713
d5b4d4d73ac4
parent 40717
461a27e3b944
child 40719
2001bebae60f

Merge. Pull in monty/viewer-drano-metrics. This will likely be
the last time and that repo can soon be abandoned (QA function
only).

indra/llcommon/CMakeLists.txt file | annotate | diff | revisions
indra/newview/llmeshrepository.cpp file | annotate | diff | revisions
indra/newview/llmeshrepository.h file | annotate | diff | revisions
     1.1 --- a/indra/newview/llmeshrepository.cpp	Mon Aug 26 18:54:39 2013 -0400
     1.2 +++ b/indra/newview/llmeshrepository.cpp	Thu Aug 29 12:19:33 2013 -0400
     1.3 @@ -69,6 +69,7 @@
     1.4  #include "lluploadfloaterobservers.h"
     1.5  #include "bufferarray.h"
     1.6  #include "bufferstream.h"
     1.7 +#include "llfasttimer.h"
     1.8  
     1.9  #include "boost/lexical_cast.hpp"
    1.10  
    1.11 @@ -345,7 +346,16 @@
    1.12  boost::signals2::connection metrics_teleport_started_signal;
    1.13  static void teleport_started();
    1.14  static bool is_retryable(LLCore::HttpStatus status);
    1.15 -
    1.16 +static LLFastTimer::DeclareTimer FTM_MESH_FETCH("Mesh Fetch");
    1.17 +
    1.18 +// Enable here or in build environment to get fasttimer data on mesh fetches.
    1.19 +#define LL_FASTTIMER_MESH_ENABLE		1
    1.20 +#if LL_FASTTIMER_MESH_ENABLE
    1.21 +#define	MESH_FASTTIMER_DEFBLOCK			LLFastTimer meshtimer(FTM_MESH_FETCH)
    1.22 +#else
    1.23 +#define	MESH_FASTTIMER_DEFBLOCK
    1.24 +#endif // LL_FASTTIMER_MESH_ENABLE
    1.25 + 
    1.26  //get the number of bytes resident in memory for given volume
    1.27  U32 get_volume_memory_size(const LLVolume* volume)
    1.28  {
    1.29 @@ -2897,7 +2907,6 @@
    1.30  	
    1.31  	mThread = new LLMeshRepoThread();
    1.32  	mThread->start();
    1.33 -
    1.34  }
    1.35  
    1.36  void LLMeshRepository::shutdown()
    1.37 @@ -2973,6 +2982,8 @@
    1.38  
    1.39  S32 LLMeshRepository::loadMesh(LLVOVolume* vobj, const LLVolumeParams& mesh_params, S32 detail, S32 last_lod)
    1.40  {
    1.41 +	MESH_FASTTIMER_DEFBLOCK;
    1.42 +	
    1.43  	// Manage time-to-load metrics for mesh download operations.
    1.44  	metricsProgress(1);
    1.45  
    1.46 @@ -3054,6 +3065,8 @@
    1.47  
    1.48  void LLMeshRepository::notifyLoadedMeshes()
    1.49  { //called from main thread
    1.50 +	MESH_FASTTIMER_DEFBLOCK;
    1.51 +
    1.52  	if (1 == mGetMeshVersion)
    1.53  	{
    1.54  		// Legacy GetMesh operation with high connection concurrency
    1.55 @@ -3402,6 +3415,8 @@
    1.56  
    1.57  const LLMeshSkinInfo* LLMeshRepository::getSkinInfo(const LLUUID& mesh_id, const LLVOVolume* requesting_obj)
    1.58  {
    1.59 +	MESH_FASTTIMER_DEFBLOCK;
    1.60 +
    1.61  	if (mesh_id.notNull())
    1.62  	{
    1.63  		skin_map::iterator iter = mSkinMap.find(mesh_id);
    1.64 @@ -3428,6 +3443,8 @@
    1.65  
    1.66  void LLMeshRepository::fetchPhysicsShape(const LLUUID& mesh_id)
    1.67  {
    1.68 +	MESH_FASTTIMER_DEFBLOCK;
    1.69 +
    1.70  	if (mesh_id.notNull())
    1.71  	{
    1.72  		LLModel::Decomposition* decomp = NULL;
    1.73 @@ -3456,6 +3473,8 @@
    1.74  
    1.75  LLModel::Decomposition* LLMeshRepository::getDecomposition(const LLUUID& mesh_id)
    1.76  {
    1.77 +	MESH_FASTTIMER_DEFBLOCK;
    1.78 +
    1.79  	LLModel::Decomposition* ret = NULL;
    1.80  
    1.81  	if (mesh_id.notNull())
    1.82 @@ -3518,6 +3537,8 @@
    1.83  
    1.84  LLSD& LLMeshRepository::getMeshHeader(const LLUUID& mesh_id)
    1.85  {
    1.86 +	MESH_FASTTIMER_DEFBLOCK;
    1.87 +
    1.88  	return mThread->getMeshHeader(mesh_id);
    1.89  }
    1.90  

mercurial