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.h416
1 files changed, 208 insertions, 208 deletions
diff --git a/indra/newview/llviewerstats.h b/indra/newview/llviewerstats.h
index 4f0f4f8813..a857af53cc 100644
--- a/indra/newview/llviewerstats.h
+++ b/indra/newview/llviewerstats.h
@@ -1,25 +1,25 @@
-/**
+/**
* @file llviewerim_peningtats.h
* @brief LLViewerStats class header file
*
* $LicenseInfo:firstyear=2002&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$
*/
@@ -34,47 +34,47 @@
enum ESimStatID
{
- LL_SIM_STAT_TIME_DILATION = 0,
- LL_SIM_STAT_FPS = 1,
- LL_SIM_STAT_PHYSFPS = 2,
- LL_SIM_STAT_AGENTUPS = 3,
- LL_SIM_STAT_FRAMEMS = 4,
- LL_SIM_STAT_NETMS = 5,
- LL_SIM_STAT_SIMOTHERMS = 6,
- LL_SIM_STAT_SIMPHYSICSMS = 7,
- LL_SIM_STAT_AGENTMS = 8,
- LL_SIM_STAT_IMAGESMS = 9,
- LL_SIM_STAT_SCRIPTMS = 10,
- LL_SIM_STAT_NUMTASKS = 11,
- LL_SIM_STAT_NUMTASKSACTIVE = 12,
- LL_SIM_STAT_NUMAGENTMAIN = 13,
- LL_SIM_STAT_NUMAGENTCHILD = 14,
- LL_SIM_STAT_NUMSCRIPTSACTIVE = 15,
- LL_SIM_STAT_LSLIPS = 16,
- LL_SIM_STAT_INPPS = 17,
- LL_SIM_STAT_OUTPPS = 18,
- LL_SIM_STAT_PENDING_DOWNLOADS = 19,
- LL_SIM_STAT_PENDING_UPLOADS = 20,
- LL_SIM_STAT_VIRTUAL_SIZE_KB = 21,
- LL_SIM_STAT_RESIDENT_SIZE_KB = 22,
- LL_SIM_STAT_PENDING_LOCAL_UPLOADS = 23,
- LL_SIM_STAT_TOTAL_UNACKED_BYTES = 24,
- LL_SIM_STAT_PHYSICS_PINNED_TASKS = 25,
- LL_SIM_STAT_PHYSICS_LOD_TASKS = 26,
- LL_SIM_STAT_SIMPHYSICSSTEPMS = 27,
- LL_SIM_STAT_SIMPHYSICSSHAPEMS = 28,
- LL_SIM_STAT_SIMPHYSICSOTHERMS = 29,
- LL_SIM_STAT_SIMPHYSICSMEMORY = 30,
- LL_SIM_STAT_SCRIPT_EPS = 31,
- LL_SIM_STAT_SIMSPARETIME = 32,
- LL_SIM_STAT_SIMSLEEPTIME = 33,
- LL_SIM_STAT_IOPUMPTIME = 34,
- LL_SIM_STAT_PCTSCRIPTSRUN = 35,
- LL_SIM_STAT_REGION_IDLE = 36, // dataserver only
- LL_SIM_STAT_REGION_IDLE_POSSIBLE = 37, // dataserver only
- LL_SIM_STAT_SIMAISTEPTIMEMS = 38,
- LL_SIM_STAT_SKIPPEDAISILSTEPS_PS = 39,
- LL_SIM_STAT_PCTSTEPPEDCHARACTERS = 40
+ LL_SIM_STAT_TIME_DILATION = 0,
+ LL_SIM_STAT_FPS = 1,
+ LL_SIM_STAT_PHYSFPS = 2,
+ LL_SIM_STAT_AGENTUPS = 3,
+ LL_SIM_STAT_FRAMEMS = 4,
+ LL_SIM_STAT_NETMS = 5,
+ LL_SIM_STAT_SIMOTHERMS = 6,
+ LL_SIM_STAT_SIMPHYSICSMS = 7,
+ LL_SIM_STAT_AGENTMS = 8,
+ LL_SIM_STAT_IMAGESMS = 9,
+ LL_SIM_STAT_SCRIPTMS = 10,
+ LL_SIM_STAT_NUMTASKS = 11,
+ LL_SIM_STAT_NUMTASKSACTIVE = 12,
+ LL_SIM_STAT_NUMAGENTMAIN = 13,
+ LL_SIM_STAT_NUMAGENTCHILD = 14,
+ LL_SIM_STAT_NUMSCRIPTSACTIVE = 15,
+ LL_SIM_STAT_LSLIPS = 16,
+ LL_SIM_STAT_INPPS = 17,
+ LL_SIM_STAT_OUTPPS = 18,
+ LL_SIM_STAT_PENDING_DOWNLOADS = 19,
+ LL_SIM_STAT_PENDING_UPLOADS = 20,
+ LL_SIM_STAT_VIRTUAL_SIZE_KB = 21,
+ LL_SIM_STAT_RESIDENT_SIZE_KB = 22,
+ LL_SIM_STAT_PENDING_LOCAL_UPLOADS = 23,
+ LL_SIM_STAT_TOTAL_UNACKED_BYTES = 24,
+ LL_SIM_STAT_PHYSICS_PINNED_TASKS = 25,
+ LL_SIM_STAT_PHYSICS_LOD_TASKS = 26,
+ LL_SIM_STAT_SIMPHYSICSSTEPMS = 27,
+ LL_SIM_STAT_SIMPHYSICSSHAPEMS = 28,
+ LL_SIM_STAT_SIMPHYSICSOTHERMS = 29,
+ LL_SIM_STAT_SIMPHYSICSMEMORY = 30,
+ LL_SIM_STAT_SCRIPT_EPS = 31,
+ LL_SIM_STAT_SIMSPARETIME = 32,
+ LL_SIM_STAT_SIMSLEEPTIME = 33,
+ LL_SIM_STAT_IOPUMPTIME = 34,
+ LL_SIM_STAT_PCTSCRIPTSRUN = 35,
+ LL_SIM_STAT_REGION_IDLE = 36, // dataserver only
+ LL_SIM_STAT_REGION_IDLE_POSSIBLE = 37, // dataserver only
+ LL_SIM_STAT_SIMAISTEPTIMEMS = 38,
+ LL_SIM_STAT_SKIPPEDAISILSTEPS_PS = 39,
+ LL_SIM_STAT_PCTSTEPPEDCHARACTERS = 40
};
namespace LLStatViewer
@@ -82,161 +82,161 @@ namespace LLStatViewer
struct SimMeasurementSampler : public LLInstanceTracker<SimMeasurementSampler, ESimStatID>
{
- SimMeasurementSampler(ESimStatID id)
- : LLInstanceTracker<SimMeasurementSampler, ESimStatID>(id)
- {}
- virtual ~SimMeasurementSampler() {}
+ SimMeasurementSampler(ESimStatID id)
+ : LLInstanceTracker<SimMeasurementSampler, ESimStatID>(id)
+ {}
+ virtual ~SimMeasurementSampler() {}
- virtual void sample(F64 value) = 0;
+ virtual void sample(F64 value) = 0;
};
template<typename T = F64>
struct SimMeasurement : public LLTrace::SampleStatHandle<T>, public SimMeasurementSampler
{
- typedef SimMeasurement<T> self_t;
+ typedef SimMeasurement<T> self_t;
- SimMeasurement(const char* name, const char* description, ESimStatID stat_id)
- : LLTrace::SampleStatHandle<T>(name, description),
- SimMeasurementSampler(stat_id)
- {}
+ SimMeasurement(const char* name, const char* description, ESimStatID stat_id)
+ : LLTrace::SampleStatHandle<T>(name, description),
+ SimMeasurementSampler(stat_id)
+ {}
- using SimMeasurementSampler::getInstance;
+ using SimMeasurementSampler::getInstance;
- //friend void sample(self_t& measurement, T value)
- //{
- // LLTrace::sample(static_cast<LLTrace::SampleStatHandle<T>& >(measurement), value);
- //}
+ //friend void sample(self_t& measurement, T value)
+ //{
+ // LLTrace::sample(static_cast<LLTrace::SampleStatHandle<T>& >(measurement), value);
+ //}
- /*virtual*/ void sample(F64 value)
- {
- LLTrace::sample(static_cast<LLTrace::SampleStatHandle<T>& >(*this), value);
- //LLStatViewer::sample(*this, value);
- }
+ /*virtual*/ void sample(F64 value)
+ {
+ LLTrace::sample(static_cast<LLTrace::SampleStatHandle<T>& >(*this), value);
+ //LLStatViewer::sample(*this, value);
+ }
};
-extern LLTrace::CountStatHandle<> FPS,
- PACKETS_IN,
- PACKETS_LOST,
- PACKETS_OUT,
- TEXTURE_PACKETS,
- CHAT_COUNT,
- IM_COUNT,
- OBJECT_CREATE,
- OBJECT_REZ,
- LOGIN_TIMEOUTS,
- LSL_SAVES,
- ANIMATION_UPLOADS,
- FLY,
- TELEPORT,
- DELETE_OBJECT,
- SNAPSHOT,
- UPLOAD_SOUND,
- UPLOAD_TEXTURE,
- EDIT_TEXTURE,
- KILLED,
- FRAMETIME_DOUBLED,
- TEX_BAKES,
- TEX_REBAKES,
- NUM_NEW_OBJECTS;
+extern LLTrace::CountStatHandle<> FPS,
+ PACKETS_IN,
+ PACKETS_LOST,
+ PACKETS_OUT,
+ TEXTURE_PACKETS,
+ CHAT_COUNT,
+ IM_COUNT,
+ OBJECT_CREATE,
+ OBJECT_REZ,
+ LOGIN_TIMEOUTS,
+ LSL_SAVES,
+ ANIMATION_UPLOADS,
+ FLY,
+ TELEPORT,
+ DELETE_OBJECT,
+ SNAPSHOT,
+ UPLOAD_SOUND,
+ UPLOAD_TEXTURE,
+ EDIT_TEXTURE,
+ KILLED,
+ FRAMETIME_DOUBLED,
+ TEX_BAKES,
+ TEX_REBAKES,
+ NUM_NEW_OBJECTS;
extern LLTrace::CountStatHandle<LLUnit<F64, LLUnits::Kilotriangles> > TRIANGLES_DRAWN;
-extern LLTrace::CountStatHandle<F64Kilobytes > ACTIVE_MESSAGE_DATA_RECEIVED,
- LAYERS_NETWORK_DATA_RECEIVED,
- OBJECT_NETWORK_DATA_RECEIVED,
- ASSET_UDP_DATA_RECEIVED,
- TEXTURE_NETWORK_DATA_RECEIVED,
- MESSAGE_SYSTEM_DATA_IN,
- MESSAGE_SYSTEM_DATA_OUT;
-
-extern LLTrace::CountStatHandle<F64Seconds > SIM_20_FPS_TIME,
- SIM_PHYSICS_20_FPS_TIME,
- LOSS_5_PERCENT_TIME;
-
-extern SimMeasurement<> SIM_TIME_DILATION,
- SIM_FPS,
- SIM_PHYSICS_FPS,
- SIM_AGENT_UPS,
- SIM_SCRIPT_EPS,
- SIM_SKIPPED_SILHOUETTE,
- SIM_MAIN_AGENTS,
- SIM_CHILD_AGENTS,
- SIM_OBJECTS,
- SIM_ACTIVE_OBJECTS,
- SIM_ACTIVE_SCRIPTS,
- SIM_IN_PACKETS_PER_SEC,
- SIM_OUT_PACKETS_PER_SEC,
- SIM_PENDING_DOWNLOADS,
- SIM_PENDING_UPLOADS,
- SIM_PENDING_LOCAL_UPLOADS,
- SIM_PHYSICS_PINNED_TASKS,
- SIM_PHYSICS_LOD_TASKS;
-
-extern SimMeasurement<LLUnit<F64, LLUnits::Percent> > SIM_PERCENTAGE_SCRIPTS_RUN,
- SIM_SKIPPED_CHARACTERS_PERCENTAGE;
-
-extern LLTrace::SampleStatHandle<> FPS_SAMPLE,
- NUM_IMAGES,
- NUM_RAW_IMAGES,
- NUM_OBJECTS,
- NUM_MATERIALS,
- NUM_ACTIVE_OBJECTS,
- ENABLE_VBO,
- LIGHTING_DETAIL,
- VISIBLE_AVATARS,
- SHADER_OBJECTS,
- DRAW_DISTANCE,
- WINDOW_WIDTH,
- WINDOW_HEIGHT;
+extern LLTrace::CountStatHandle<F64Kilobytes > ACTIVE_MESSAGE_DATA_RECEIVED,
+ LAYERS_NETWORK_DATA_RECEIVED,
+ OBJECT_NETWORK_DATA_RECEIVED,
+ ASSET_UDP_DATA_RECEIVED,
+ TEXTURE_NETWORK_DATA_RECEIVED,
+ MESSAGE_SYSTEM_DATA_IN,
+ MESSAGE_SYSTEM_DATA_OUT;
+
+extern LLTrace::CountStatHandle<F64Seconds > SIM_20_FPS_TIME,
+ SIM_PHYSICS_20_FPS_TIME,
+ LOSS_5_PERCENT_TIME;
+
+extern SimMeasurement<> SIM_TIME_DILATION,
+ SIM_FPS,
+ SIM_PHYSICS_FPS,
+ SIM_AGENT_UPS,
+ SIM_SCRIPT_EPS,
+ SIM_SKIPPED_SILHOUETTE,
+ SIM_MAIN_AGENTS,
+ SIM_CHILD_AGENTS,
+ SIM_OBJECTS,
+ SIM_ACTIVE_OBJECTS,
+ SIM_ACTIVE_SCRIPTS,
+ SIM_IN_PACKETS_PER_SEC,
+ SIM_OUT_PACKETS_PER_SEC,
+ SIM_PENDING_DOWNLOADS,
+ SIM_PENDING_UPLOADS,
+ SIM_PENDING_LOCAL_UPLOADS,
+ SIM_PHYSICS_PINNED_TASKS,
+ SIM_PHYSICS_LOD_TASKS;
+
+extern SimMeasurement<LLUnit<F64, LLUnits::Percent> > SIM_PERCENTAGE_SCRIPTS_RUN,
+ SIM_SKIPPED_CHARACTERS_PERCENTAGE;
+
+extern LLTrace::SampleStatHandle<> FPS_SAMPLE,
+ NUM_IMAGES,
+ NUM_RAW_IMAGES,
+ NUM_OBJECTS,
+ NUM_MATERIALS,
+ NUM_ACTIVE_OBJECTS,
+ ENABLE_VBO,
+ LIGHTING_DETAIL,
+ VISIBLE_AVATARS,
+ SHADER_OBJECTS,
+ DRAW_DISTANCE,
+ WINDOW_WIDTH,
+ WINDOW_HEIGHT;
extern LLTrace::SampleStatHandle<LLUnit<F32, LLUnits::Percent> > PACKETS_LOST_PERCENT;
extern LLTrace::SampleStatHandle<F64Megabytes > FORMATTED_MEM;
-extern LLTrace::SampleStatHandle<F64Kilobytes > DELTA_BANDWIDTH,
- MAX_BANDWIDTH;
-extern SimMeasurement<F64Milliseconds > SIM_FRAME_TIME,
- SIM_NET_TIME,
- SIM_OTHER_TIME,
- SIM_PHYSICS_TIME,
- SIM_PHYSICS_STEP_TIME,
- SIM_PHYSICS_SHAPE_UPDATE_TIME,
- SIM_PHYSICS_OTHER_TIME,
- SIM_AI_TIME,
- SIM_AGENTS_TIME,
- SIM_IMAGES_TIME,
- SIM_SCRIPTS_TIME,
- SIM_SPARE_TIME,
- SIM_SLEEP_TIME,
- SIM_PUMP_IO_TIME;
-
-extern SimMeasurement<F64Kilobytes > SIM_UNACKED_BYTES;
-extern SimMeasurement<F64Megabytes > SIM_PHYSICS_MEM;
-
-
-extern LLTrace::SampleStatHandle<F64Milliseconds > FRAMETIME_JITTER,
- FRAMETIME_SLEW,
- SIM_PING;
+extern LLTrace::SampleStatHandle<F64Kilobytes > DELTA_BANDWIDTH,
+ MAX_BANDWIDTH;
+extern SimMeasurement<F64Milliseconds > SIM_FRAME_TIME,
+ SIM_NET_TIME,
+ SIM_OTHER_TIME,
+ SIM_PHYSICS_TIME,
+ SIM_PHYSICS_STEP_TIME,
+ SIM_PHYSICS_SHAPE_UPDATE_TIME,
+ SIM_PHYSICS_OTHER_TIME,
+ SIM_AI_TIME,
+ SIM_AGENTS_TIME,
+ SIM_IMAGES_TIME,
+ SIM_SCRIPTS_TIME,
+ SIM_SPARE_TIME,
+ SIM_SLEEP_TIME,
+ SIM_PUMP_IO_TIME;
+
+extern SimMeasurement<F64Kilobytes > SIM_UNACKED_BYTES;
+extern SimMeasurement<F64Megabytes > SIM_PHYSICS_MEM;
+
+
+extern LLTrace::SampleStatHandle<F64Milliseconds > FRAMETIME_JITTER,
+ FRAMETIME_SLEW,
+ SIM_PING;
extern LLTrace::EventStatHandle<LLUnit<F64, LLUnits::Meters> > AGENT_POSITION_SNAP;
-extern LLTrace::EventStatHandle<> LOADING_WEARABLES_LONG_DELAY;
+extern LLTrace::EventStatHandle<> LOADING_WEARABLES_LONG_DELAY;
-extern LLTrace::EventStatHandle<F64Milliseconds > REGION_CROSSING_TIME,
- FRAME_STACKTIME,
- UPDATE_STACKTIME,
- NETWORK_STACKTIME,
- IMAGE_STACKTIME,
- REBUILD_STACKTIME,
- RENDER_STACKTIME;
+extern LLTrace::EventStatHandle<F64Milliseconds > REGION_CROSSING_TIME,
+ FRAME_STACKTIME,
+ UPDATE_STACKTIME,
+ NETWORK_STACKTIME,
+ IMAGE_STACKTIME,
+ REBUILD_STACKTIME,
+ RENDER_STACKTIME;
-extern LLTrace::EventStatHandle<F64Seconds > AVATAR_EDIT_TIME,
- TOOLBOX_TIME,
- MOUSELOOK_TIME,
- FPS_10_TIME,
- FPS_8_TIME,
- FPS_2_TIME;
+extern LLTrace::EventStatHandle<F64Seconds > AVATAR_EDIT_TIME,
+ TOOLBOX_TIME,
+ MOUSELOOK_TIME,
+ FPS_10_TIME,
+ FPS_8_TIME,
+ FPS_2_TIME;
extern LLTrace::EventStatHandle<LLUnit<F32, LLUnits::Percent> > OBJECT_CACHE_HIT_RATE;
@@ -244,48 +244,48 @@ extern LLTrace::EventStatHandle<LLUnit<F32, LLUnits::Percent> > OBJECT_CACHE_HIT
class LLViewerStats : public LLSingleton<LLViewerStats>
{
- LLSINGLETON(LLViewerStats);
- ~LLViewerStats();
+ LLSINGLETON(LLViewerStats);
+ ~LLViewerStats();
public:
- void resetStats();
+ void resetStats();
+
+ void updateFrameStats(const F64Seconds time_diff);
- void updateFrameStats(const F64Seconds time_diff);
-
- void addToMessage(LLSD &body);
+ void addToMessage(LLSD &body);
typedef LLStatsAccumulator StatsAccumulator;
// Phase tracking (originally put in for avatar rezzing), tracking
- // progress of active/completed phases for activities like outfit changing.
- typedef std::map<std::string,LLTimer> 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();
- LLTimer& getPhaseTimer(const std::string& phase_name);
- bool getPhaseValues(const std::string& phase_name, F32& elapsed, bool& completed);
- void startPhase(const std::string& phase_name);
- void stopPhase(const std::string& phase_name);
- void clearPhases();
- LLSD asLLSD();
- static StatsAccumulator& getPhaseStats(const std::string& phase_name);
- static void recordPhaseStat(const std::string& phase_name, F32 value);
- phase_map_t::iterator begin() { return mPhaseMap.begin(); }
- phase_map_t::iterator end() { return mPhaseMap.end(); }
- };
-
- LLTrace::Recording& getRecording() { return mRecording; }
- const LLTrace::Recording& getRecording() const { return mRecording; }
+ // progress of active/completed phases for activities like outfit changing.
+ typedef std::map<std::string,LLTimer> 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();
+ LLTimer& getPhaseTimer(const std::string& phase_name);
+ bool getPhaseValues(const std::string& phase_name, F32& elapsed, bool& completed);
+ void startPhase(const std::string& phase_name);
+ void stopPhase(const std::string& phase_name);
+ void clearPhases();
+ LLSD asLLSD();
+ static StatsAccumulator& getPhaseStats(const std::string& phase_name);
+ static void recordPhaseStat(const std::string& phase_name, F32 value);
+ phase_map_t::iterator begin() { return mPhaseMap.begin(); }
+ phase_map_t::iterator end() { return mPhaseMap.end(); }
+ };
+
+ LLTrace::Recording& getRecording() { return mRecording; }
+ const LLTrace::Recording& getRecording() const { return mRecording; }
private:
- LLTrace::Recording mRecording;
+ LLTrace::Recording mRecording;
- F64Seconds mLastTimeDiff; // used for time stat updates
+ F64Seconds mLastTimeDiff; // used for time stat updates
};
static const F32 SEND_STATS_PERIOD = 300.0f;
@@ -295,7 +295,7 @@ void update_statistics();
void send_viewer_stats(bool include_preferences);
void update_texture_time();
-extern U32Bytes gTotalTextureData;
+extern U32Bytes gTotalTextureData;
extern U32Bytes gTotalObjectData;
extern U32Bytes gTotalTextureBytesPerBoostLevel[] ;
#endif // LL_LLVIEWERSTATS_H