summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerassetstats.cpp
AgeCommit message (Collapse)Author
2012-04-09SH-3064 FIX - added cloud and cloud-or-gray stats to summary metrics. Moved ↵Brad Payne (Vir Linden)
summary metrics out of per-region info. Removed phase stats from avatar appearance change msg.
2012-04-02SH-3064 WIP - centralized logic for mapping rez status S32 values to stringsBrad Payne (Vir Linden)
2012-03-21changed nearby avatar stat metrics to map instead of arrayBrad Payne (Vir Linden)
2012-03-14SH-2970 FIX - per-region logging of basic avatar statsBrad Payne (Vir Linden)
2011-02-08Automated merge up from viewer-development into mesh-developmentLoren Shih
2011-02-04Clean up license headers in a handfull of filesMerov Linden
2010-12-21SH-689 Fix build issue due to assert i llviewerassetstatsLoren Shih
Changed assert to 50 since that's the new asset count. Added OTHER metrics for mesh and dummy asset types.
2010-12-11ESC-211 ESC-212 Use arrays in payload to grid and compact payloadMonty Brandenberg
First, introduced a compact payload format that allows blocks of metrics to be dropped from the viewer->collector payload compressing 1200 bytes of LLSD into about 300, give-or-take. Then converted to using LLSD arrays in the payload to enumerate the regions encountered. This simplifies much data handling from the viewer all the way into the final formatter of the metrics on the grid.
2010-12-10Decided to refactor a bit. Was using LLSD as an internal dataMonty Brandenberg
representation transferring ownership, doing data aggregation in a very pedantic way. That's just adding unneeded cost and complication. Used the same objects to transport data as are collecting it and everything got simpler, faster, easier to read with fewer gotchas. Bit myself *again* doing the min/max/mean merges but the unittests where there to pick me up again. Added a per-region FPS metric while I was at it. This is much asked for and there was a convenient place to sample the value.
2010-12-03ESC-210 Non-active regions were getting extra duration time.Monty Brandenberg
Metrics were crediting inactive regions (those not current but contributing to the sample) with additional time at the end of the sample interval. Corrected.
2010-11-29ESC-154 ESC-156 Now using region hash rather than region uuid as identifier.Monty Brandenberg
In the viewer, the region's UUID is acquired very late and isn't generally used as the canonical region identifier. The U64 region hash is a better and more consistently used identifier so I'm moving over to using that as the region key. Don't have a proper reserved invalid region hash which is unfortunate, but then, so much is.
2010-11-24ESC-154 ESC-155 Viewer metrics fixes for min/max merged values, floating ↵Monty Brandenberg
timestamps. The min/max response time calculations needed to be sensitive to the response counts to know if their was actual data. Failure to do so introduced a gratuitous min/max test against zero values which tended to corrupt the mins. Unit tests added to test for this condition. Finished conversion of times to floating point seconds. Removed two logging events used to debug the cross-thread messaging. Looks like a code completion point.
2010-11-23ESC-154 ESC-156 Integrating metrics collector into viewer.Monty Brandenberg
After discussions, renamed 'QAModeMetricsSubmetrics' to 'QAModeMetrics' and confirmed that LLCachedControl<> is the way to go. Moved the resulting flag out of LLViewerAssetStats (where it didn't belong) and it lives in both LLAppViewer and LLTextureFetch where it does belong.
2010-11-23ESC-154 ESC-156 Data collection and control for viewer metricsMonty Brandenberg
Detect QAMode (and new QAModeMetricsSubmode) settings which enable logging of metrics report locally and a faster cycle time to reduce test waiting. Do this only in the main thread and propagate the result via collector constructors (will likely move that out and put it in llappviewer/lltexturefetch which is more correct scope). Managed to deadlock myself with a recursive mutex (sheesh).
2010-11-22ESC-154 ESC-156 Metrics integration into viewer's threadsMonty Brandenberg
Removed declared but undefined interfaces from LLTextureFetch family. Had inserted the cross-thread command processor into some of LLTextureFetchWorker's processing which was unnatural and probably wrong. Moved it to LLTextureFetch which turned out to be far, far more natural. Better documentation on the asLLSD() format. Refined LLSD stats merger logic and enhanced unit tests to verify same.
2010-11-19ESC-155 Multi-threaded umbrella collector for stats aggregationMonty Brandenberg
Code complete with the intelligence to merge counts, mins, maxes and means with reasonable defences. Added QAMode controls to the viewer so that we can QA this more quickly by reducing the timing interval and sending the metrics body to local logging as well as to the caps service.
2010-11-18ESC-154 ESC-155 ESC-156Monty Brandenberg
Asset fetch requests wrapped to allow for measurements. Asset fetch enqueues, dequeues and completion times recorded to asset stats collector. Texture fetch operations (http and udp) recorded to asset stats collector. Stats collector time vallue switched from F32 to U64 which is the more common type in the viewer. Cross-thread mechanism introduced to communicate region changes and generate global statistics messages. Facility to deliver metrics via Capabilities sketched in but needs additional work. Documentation and diagrams added.
2010-11-10Need precompiled header include for windows.Monty Brandenberg
2010-11-10ESC-110 ESC-111Monty Brandenberg
Cleanup passes on the two threaded collectors with better comments and more complete unit tests.
2010-10-29ESC-111 Texture interfacesMonty Brandenberg
Mainly expand the categories to include protocol and location/temp nature of texture asset.
2010-10-28ESC-109 Write single-thread asset stats collector for wearable.Monty Brandenberg
Code-complete with unit tests and foundation for other collectors. Interestingly, sim and viewer have two different ideas about asset type enumeration (compatible, one's just longer). Both are missing mesh though that's to be expected.