summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorMonty Brandenberg <monty@lindenlab.com>2010-12-10 16:05:19 -0500
committerMonty Brandenberg <monty@lindenlab.com>2010-12-10 16:05:19 -0500
commit4bab98f5cd2a815d10fe494a0a7e51cc237adb4a (patch)
tree99211e1a44a5a00f62270c7975b4d3b1fae0bd5e /indra
parent38476e35931fb6f68805dbbae143b7bf6dbd04de (diff)
ESC-228 ESC-227 Corrections for metrics counters and send-on-quit delivery.
Wanted to avoid computing metrics for duplicate requests as much as possible, they artificially depress averages but missed an opportunity and was including them in the counts. The non-texture case is solid. Textures are.... confounding still. Do a better job of trying to send one last packet to the grid when quitting. It is succeeding now, at least sometimes. Put a comment in base llassetstorage.cpp pointing to cut-n-paste derivation in llviewerassetstorage.cpp so that changes can be replicated. Hate doing this but current design forces it.
Diffstat (limited to 'indra')
-rw-r--r--indra/llmessage/llassetstorage.cpp4
-rw-r--r--indra/newview/llappviewer.cpp4
-rw-r--r--indra/newview/llviewerassetstorage.cpp7
3 files changed, 13 insertions, 2 deletions
diff --git a/indra/llmessage/llassetstorage.cpp b/indra/llmessage/llassetstorage.cpp
index b26d412e9f..27a368df3d 100644
--- a/indra/llmessage/llassetstorage.cpp
+++ b/indra/llmessage/llassetstorage.cpp
@@ -513,6 +513,10 @@ void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, LL
}
+//
+// *NOTE: Logic here is replicated in LLViewerAssetStorage::_queueDataRequest.
+// Changes here may need to be replicated in the viewer's derived class.
+//
void LLAssetStorage::_queueDataRequest(const LLUUID& uuid, LLAssetType::EType atype,
LLGetAssetCallback callback,
void *user_data, BOOL duplicate,
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 30005258ed..c667fba86f 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3036,6 +3036,9 @@ void LLAppViewer::requestQuit()
return;
}
+ // Try to send metrics back to the grid
+ metricsSend(!gDisconnected);
+
LLHUDEffectSpiral *effectp = (LLHUDEffectSpiral*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINT, TRUE);
effectp->setPositionGlobal(gAgent.getPositionGlobal());
effectp->setColor(LLColor4U(gAgent.getEffectColor()));
@@ -3053,7 +3056,6 @@ void LLAppViewer::requestQuit()
LLSideTray::getInstance()->notifyChildren(LLSD().with("request","quit"));
send_stats();
- metricsSend(!gDisconnected);
gLogoutTimer.reset();
mQuitRequested = true;
diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp
index 197cb3468c..36c8b42a52 100644
--- a/indra/newview/llviewerassetstorage.cpp
+++ b/indra/newview/llviewerassetstorage.cpp
@@ -348,7 +348,12 @@ void LLViewerAssetStorage::_queueDataRequest(
req->mDownCallback = callback;
req->mUserData = user_data;
req->mIsPriority = is_priority;
- req->mMetricsStartTime = LLViewerAssetStatsFF::get_timestamp();
+ if (!duplicate)
+ {
+ // Only collect metrics for non-duplicate requests. Others
+ // are piggy-backing and will artificially lower averages.
+ req->mMetricsStartTime = LLViewerAssetStatsFF::get_timestamp();
+ }
mPendingDownloads.push_back(req);