summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerstats.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewerstats.h')
-rw-r--r--indra/newview/llviewerstats.h189
1 files changed, 104 insertions, 85 deletions
diff --git a/indra/newview/llviewerstats.h b/indra/newview/llviewerstats.h
index f91a1241fe..e02a4ccdc7 100644
--- a/indra/newview/llviewerstats.h
+++ b/indra/newview/llviewerstats.h
@@ -33,87 +33,90 @@
class LLViewerStats : public LLSingleton<LLViewerStats>
{
public:
- LLStat mKBitStat;
- LLStat mLayersKBitStat;
- LLStat mObjectKBitStat;
- LLStat mAssetKBitStat;
- LLStat mTextureKBitStat;
- LLStat mVFSPendingOperations;
- LLStat mObjectsDrawnStat;
- LLStat mObjectsCulledStat;
- LLStat mObjectsTestedStat;
- LLStat mObjectsComparedStat;
- LLStat mObjectsOccludedStat;
- LLStat mFPSStat;
- LLStat mPacketsInStat;
- LLStat mPacketsLostStat;
- LLStat mPacketsOutStat;
- LLStat mPacketsLostPercentStat;
- LLStat mTexturePacketsStat;
- LLStat mActualInKBitStat; // From the packet ring (when faking a bad connection)
- LLStat mActualOutKBitStat; // From the packet ring (when faking a bad connection)
- LLStat mTrianglesDrawnStat;
+ LLStat mKBitStat,
+ mLayersKBitStat,
+ mObjectKBitStat,
+ mAssetKBitStat,
+ mTextureKBitStat,
+ mVFSPendingOperations,
+ mObjectsDrawnStat,
+ mObjectsCulledStat,
+ mObjectsTestedStat,
+ mObjectsComparedStat,
+ mObjectsOccludedStat,
+ mFPSStat,
+ mPacketsInStat,
+ mPacketsLostStat,
+ mPacketsOutStat,
+ mPacketsLostPercentStat,
+ mTexturePacketsStat,
+ mActualInKBitStat, // From the packet ring (when faking a bad connection)
+ mActualOutKBitStat, // From the packet ring (when faking a bad connection)
+ mTrianglesDrawnStat;
// Simulator stats
- LLStat mSimTimeDilation;
-
- LLStat mSimFPS;
- LLStat mSimPhysicsFPS;
- LLStat mSimAgentUPS;
- LLStat mSimScriptEPS;
-
- LLStat mSimFrameMsec;
- LLStat mSimNetMsec;
- LLStat mSimSimOtherMsec;
- LLStat mSimSimPhysicsMsec;
-
- LLStat mSimSimPhysicsStepMsec;
- LLStat mSimSimPhysicsShapeUpdateMsec;
- LLStat mSimSimPhysicsOtherMsec;
-
- LLStat mSimAgentMsec;
- LLStat mSimImagesMsec;
- LLStat mSimScriptMsec;
- LLStat mSimSpareMsec;
- LLStat mSimSleepMsec;
- LLStat mSimPumpIOMsec;
-
- LLStat mSimMainAgents;
- LLStat mSimChildAgents;
- LLStat mSimObjects;
- LLStat mSimActiveObjects;
- LLStat mSimActiveScripts;
-
- LLStat mSimInPPS;
- LLStat mSimOutPPS;
- LLStat mSimPendingDownloads;
- LLStat mSimPendingUploads;
- LLStat mSimPendingLocalUploads;
- LLStat mSimTotalUnackedBytes;
-
- LLStat mPhysicsPinnedTasks;
- LLStat mPhysicsLODTasks;
- LLStat mPhysicsMemoryAllocated;
-
- LLStat mSimPingStat;
-
- LLStat mNumImagesStat;
- LLStat mNumRawImagesStat;
- LLStat mGLTexMemStat;
- LLStat mGLBoundMemStat;
- LLStat mRawMemStat;
- LLStat mFormattedMemStat;
-
- LLStat mNumObjectsStat;
- LLStat mNumActiveObjectsStat;
- LLStat mNumNewObjectsStat;
- LLStat mNumSizeCulledStat;
- LLStat mNumVisCulledStat;
+ LLStat mSimTimeDilation,
+
+ mSimFPS,
+ mSimPhysicsFPS,
+ mSimAgentUPS,
+ mSimScriptEPS,
+
+ mSimFrameMsec,
+ mSimNetMsec,
+ mSimSimOtherMsec,
+ mSimSimPhysicsMsec,
+
+ mSimSimPhysicsStepMsec,
+ mSimSimPhysicsShapeUpdateMsec,
+ mSimSimPhysicsOtherMsec,
+ mSimSimAIStepMsec,
+ mSimSimSkippedSilhouetteSteps,
+ mSimSimPctSteppedCharacters,
+
+ mSimAgentMsec,
+ mSimImagesMsec,
+ mSimScriptMsec,
+ mSimSpareMsec,
+ mSimSleepMsec,
+ mSimPumpIOMsec,
+
+ mSimMainAgents,
+ mSimChildAgents,
+ mSimObjects,
+ mSimActiveObjects,
+ mSimActiveScripts,
+ mSimPctScriptsRun,
+
+ mSimInPPS,
+ mSimOutPPS,
+ mSimPendingDownloads,
+ mSimPendingUploads,
+ mSimPendingLocalUploads,
+ mSimTotalUnackedBytes,
+
+ mPhysicsPinnedTasks,
+ mPhysicsLODTasks,
+ mPhysicsMemoryAllocated,
+
+ mSimPingStat,
+
+ mNumImagesStat,
+ mNumRawImagesStat,
+ mGLTexMemStat,
+ mGLBoundMemStat,
+ mRawMemStat,
+ mFormattedMemStat,
+
+ mNumObjectsStat,
+ mNumActiveObjectsStat,
+ mNumNewObjectsStat,
+ mNumSizeCulledStat,
+ mNumVisCulledStat;
void resetStats();
public:
- // If you change this, please also add a corresponding text label
- // in statTypeToText in llviewerstats.cpp
+ // If you change this, please also add a corresponding text label in llviewerstats.cpp
enum EStatType
{
ST_VERSION = 0,
@@ -178,7 +181,6 @@ public:
ST_COUNT = 58
};
-
LLViewerStats();
~LLViewerStats();
@@ -244,7 +246,7 @@ public:
inline F32 getStdDev() const
{
const F32 mean = getMean();
- return (mCount == 0) ? 0.f : sqrt( mSumOfSquares/mCount - (mean * mean) );
+ return (mCount < 2) ? 0.f : sqrt(llmax(0.f,mSumOfSquares/mCount - (mean * mean)));
}
inline U32 getCount() const
@@ -274,7 +276,28 @@ public:
};
StatsAccumulator mAgentPositionSnaps;
-
+
+ // Phase tracking (originally put in for avatar rezzing), tracking
+ // progress of active/completed phases for activities like outfit changing.
+ typedef std::map<std::string,LLFrameTimer> phase_map_t;
+ typedef std::map<std::string,StatsAccumulator> phase_stats_t;
+ class PhaseMap
+ {
+ private:
+ phase_map_t mPhaseMap;
+ static phase_stats_t sStats;
+ public:
+ PhaseMap();
+ LLFrameTimer& getPhaseTimer(const std::string& phase_name);
+ void startPhase(const std::string& phase_name);
+ void stopPhase(const std::string& phase_name);
+ void stopAllPhases();
+ void clearPhases();
+ LLSD dumpPhases();
+ static StatsAccumulator& getPhaseStats(const std::string& phase_name);
+ static void recordPhaseStat(const std::string& phase_name, F32 value);
+ };
+
private:
F64 mStats[ST_COUNT];
@@ -284,14 +307,10 @@ private:
static const F32 SEND_STATS_PERIOD = 300.0f;
// The following are from (older?) statistics code found in appviewer.
-void init_statistics();
-void reset_statistics();
-void output_statistics(void*);
-void update_statistics(U32 frame_count);
+void update_statistics();
void send_stats();
-extern std::map<S32,LLFrameTimer> gDebugTimers;
-extern std::map<S32,std::string> gDebugTimerLabel;
+extern LLFrameTimer gTextureTimer;
extern U32 gTotalTextureBytes;
extern U32 gTotalObjectBytes;
extern U32 gTotalTextureBytesPerBoostLevel[] ;