summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llvoavatar.cpp40
-rw-r--r--indra/newview/llvoavatar.h1
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml21
3 files changed, 57 insertions, 5 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index f95017b658..46d10b0fe6 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -752,6 +752,7 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
mRuthTimer.reset();
mRuthDebugTimer.reset();
+ mDebugExistenceTimer.reset();
}
//------------------------------------------------------------------------
@@ -763,16 +764,18 @@ LLVOAvatar::~LLVOAvatar()
{
if (!mFullyLoaded)
{
- llinfos << "AVATARREZTIME: Avatar '" << getFullname() << " left after " << (U32)mRuthDebugTimer.getElapsedTimeF32() << " seconds as cloud." << llendl;
+ llinfos << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() << "sec ] Avatar '" << getFullname() << " left after " << (U32)mRuthDebugTimer.getElapsedTimeF32() << " seconds as cloud." << llendl;
LLSD args;
+ args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32());
args["TIME"] = llformat("%d",(U32)mRuthDebugTimer.getElapsedTimeF32());
args["NAME"] = getFullname();
LLNotificationsUtil::add("AvatarRezLeftCloudNotification",args);
}
else
{
- llinfos << "AVATARREZTIME: Avatar '" << getFullname() << " left." << llendl;
+ llinfos << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() << "sec ] Avatar '" << getFullname() << " left." << llendl;
LLSD args;
+ args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32());
args["NAME"] = getFullname();
LLNotificationsUtil::add("AvatarRezLeftNotification",args);
}
@@ -2110,10 +2113,12 @@ U32 LLVOAvatar::processUpdateMessage(LLMessageSystem *mesgsys,
{
if (has_name && getNVPair("FirstName"))
{
+ mDebugExistenceTimer.reset();
LLSD args;
+ args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32());
args["NAME"] = getFullname();
LLNotificationsUtil::add("AvatarRezArrivedNotification",args);
- llinfos << "AVATARREZTIME: Avatar '" << getFullname() << "' arrived." << llendl;
+ llinfos << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() << "sec ] Avatar '" << getFullname() << "' arrived." << llendl;
}
}
if(retval & LLViewerObject::INVALID_UPDATE)
@@ -2809,6 +2814,29 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
const BOOL is_muted = isSelf() ? FALSE : LLMuteList::getInstance()->isMuted(getID());
const BOOL is_cloud = getIsCloud();
+ if (gSavedSettings.getBOOL("DebugAvatarRezTime"))
+ {
+ if (is_appearance != mNameAppearance)
+ {
+ if (is_appearance)
+ {
+ LLSD args;
+ args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32());
+ args["NAME"] = getFullname();
+ LLNotificationsUtil::add("AvatarRezEnteredAppearanceNotification",args);
+ llinfos << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() << "sec ] Avatar '" << getFullname() << " entered appearance mode." << llendl;
+ }
+ else
+ {
+ LLSD args;
+ args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32());
+ args["NAME"] = getFullname();
+ LLNotificationsUtil::add("AvatarRezLeftAppearanceNotification",args);
+ llinfos << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() << "sec ] Avatar '" << getFullname() << " left appearance mode." << llendl;
+ }
+ }
+ }
+
if (mNameString.empty() ||
new_name ||
(!title && !mTitle.empty()) ||
@@ -5902,8 +5930,9 @@ void LLVOAvatar::updateRuthTimer(bool loading)
mRuthTimer.reset();
if (gSavedSettings.getBOOL("DebugAvatarRezTime"))
{
- llinfos << "AVATARREZTIME: Avatar '" << getFullname() << "' became cloud." << llendl;
+ llinfos << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() << "sec ] Avatar '" << getFullname() << "' became cloud." << llendl;
LLSD args;
+ args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32());
args["TIME"] = llformat("%d",(U32)mRuthDebugTimer.getElapsedTimeF32());
args["NAME"] = getFullname();
LLNotificationsUtil::add("AvatarRezCloudNotification",args);
@@ -5941,8 +5970,9 @@ BOOL LLVOAvatar::processFullyLoadedChange(bool loading)
{
if (!mPreviousFullyLoaded && !loading && mFullyLoaded)
{
- llinfos << "AVATARREZTIME: Avatar '" << getFullname() << "' resolved in " << (U32)mRuthDebugTimer.getElapsedTimeF32() << " seconds." << llendl;
+ llinfos << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() << "sec ] Avatar '" << getFullname() << "' resolved in " << (U32)mRuthDebugTimer.getElapsedTimeF32() << " seconds." << llendl;
LLSD args;
+ args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32());
args["TIME"] = llformat("%d",(U32)mRuthDebugTimer.getElapsedTimeF32());
args["NAME"] = getFullname();
LLNotificationsUtil::add("AvatarRezNotification",args);
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index 24bd2739f7..d74b4fe7b2 100644
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -261,6 +261,7 @@ private:
LLFrameTimer mFullyLoadedTimer;
LLFrameTimer mRuthTimer;
LLFrameTimer mRuthDebugTimer; // For tracking how long it takes for av to rez
+ LLFrameTimer mDebugExistenceTimer; // Debugging for how long the avatar has been in memory.
/** State
** **
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 6b486a91c5..4b31a1a0ad 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -6123,6 +6123,7 @@ Drag items from inventory onto a person in the resident picker
icon="notifytip.tga"
name="AvatarRezNotification"
type="notifytip">
+( [EXISTENCE] seconds )
Avatar '[NAME]' rezzed in [TIME] seconds.
</notification>
@@ -6130,6 +6131,7 @@ Avatar '[NAME]' rezzed in [TIME] seconds.
icon="notifytip.tga"
name="AvatarRezCloudNotification"
type="notifytip">
+( [EXISTENCE] seconds )
Avatar '[NAME]' became cloud.
</notification>
@@ -6137,6 +6139,7 @@ Avatar '[NAME]' became cloud.
icon="notifytip.tga"
name="AvatarRezArrivedNotification"
type="notifytip">
+( [EXISTENCE] seconds )
Avatar '[NAME]' appeared.
</notification>
@@ -6144,13 +6147,31 @@ Avatar '[NAME]' appeared.
icon="notifytip.tga"
name="AvatarRezLeftCloudNotification"
type="notifytip">
+( [EXISTENCE] seconds )
Avatar '[NAME]' left after [TIME] seconds as cloud.
</notification>
<notification
icon="notifytip.tga"
+ name="AvatarRezEnteredAppearanceNotification"
+ type="notifytip">
+( [EXISTENCE] seconds )
+Avatar '[NAME]' entered appearance mode.
+ </notification>
+
+ <notification
+ icon="notifytip.tga"
+ name="AvatarRezLeftAppearanceNotification"
+ type="notifytip">
+( [EXISTENCE] seconds )
+Avatar '[NAME]' left appearance mode.
+ </notification>
+
+ <notification
+ icon="notifytip.tga"
name="AvatarRezLeftNotification"
type="notifytip">
+( [EXISTENCE] seconds )
Avatar '[NAME]' left as fully loaded.
</notification>