summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
diff options
context:
space:
mode:
authorMonty Brandenberg <monty@lindenlab.com>2010-11-24 16:46:40 -0500
committerMonty Brandenberg <monty@lindenlab.com>2010-11-24 16:46:40 -0500
commit0fd80d09972657e6417193abf577084a3b3b85f1 (patch)
treea59781ed3dbcdfebbae13d008fc68d51c924e01b /indra/newview/llappviewer.cpp
parent6abc60be577bd29c2428d85143c8f583eab54723 (diff)
ESC-154 ESC-156 Metrics integration across threads
Using unpause() method in derived class rather than wake() in furthest base class solved the stalling problem. I still think too many levels of the LLTextureFetch hierarchy are keeping thread state, however. The LLViewerRegion instance an agent enters doesn't necessarily have its region_id yet, that only comes after the handshake, if any. So add a few more metrics insertion points to propagate region into metrics. Finally, try to launch a final metrics report when a quit is initiated.
Diffstat (limited to 'indra/newview/llappviewer.cpp')
-rw-r--r--indra/newview/llappviewer.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 86fba90ff7..bf79523078 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -2932,6 +2932,7 @@ void LLAppViewer::requestQuit()
LLSideTray::getInstance()->notifyChildren(LLSD().with("request","quit"));
send_stats();
+ metricsSend(!gDisconnected);
gLogoutTimer.reset();
mQuitRequested = true;
@@ -3719,7 +3720,7 @@ void LLAppViewer::idle()
// *TODO: Add configuration controls for this
if (report_interval.getElapsedTimeF32() >= app_metrics_interval)
{
- metricsIdle(! gDisconnected);
+ metricsSend(! gDisconnected);
report_interval.reset();
}
}
@@ -4601,7 +4602,7 @@ void LLAppViewer::metricsUpdateRegion(const LLUUID & region_id)
* Attempts to start a multi-threaded metrics report to be sent back to
* the grid for consumption.
*/
-void LLAppViewer::metricsIdle(bool enable_reporting)
+void LLAppViewer::metricsSend(bool enable_reporting)
{
if (! gViewerAssetStatsMain)
return;