Commit Graph

17 Commits (e92d3dcf1013ab340fdef514b41ebf790f79e04c)

Author SHA1 Message Date
Loren Shih bfbd8e22cb Automated merge up from viewer-development into mesh-development 2011-02-08 12:46:43 -05:00
Merov Linden 6371ce7727 Clean up license headers in a handfull of files 2011-02-04 15:38:15 -08:00
Loren Shih 8bca21e23b SH-689 Fix build issue due to assert i llviewerassetstats
Changed assert to 50 since that's the new asset count.  Added OTHER metrics for mesh and dummy asset types.
2010-12-21 15:04:25 -05:00
Monty Brandenberg bb53d27b7a ESC-211 ESC-212 Use arrays in payload to grid and compact payload
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-11 16:16:07 -05:00
Monty Brandenberg 11d420dd32 Decided to refactor a bit. Was using LLSD as an internal data
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-10 17:41:05 -08:00
Monty Brandenberg a59c43f1ad ESC-210 Non-active regions were getting extra duration time.
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-12-03 18:34:20 -05:00
Monty Brandenberg 0f2ed092c5 ESC-154 ESC-156 Now using region hash rather than region uuid as identifier.
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-29 08:31:08 -08:00
Monty Brandenberg a4bf732289 ESC-154 ESC-155 Viewer metrics fixes for min/max merged values, floating 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-24 15:02:46 -08:00
Monty Brandenberg 3962b155b4 ESC-154 ESC-156 Integrating metrics collector into viewer.
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-23 12:29:15 -08:00
Monty Brandenberg 9ec3334184 ESC-154 ESC-156 Data collection and control for viewer metrics
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-23 13:31:22 -05:00
Monty Brandenberg f98a622325 ESC-154 ESC-156 Metrics integration into viewer's threads
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-22 10:26:25 -08:00
Monty Brandenberg a99db82e9b ESC-155 Multi-threaded umbrella collector for stats aggregation
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-19 15:14:40 -08:00
Monty Brandenberg d666a3d92c ESC-154 ESC-155 ESC-156
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-18 08:43:09 -08:00
Monty Brandenberg deeef0c73e Need precompiled header include for windows. 2010-11-10 10:13:31 -08:00
Monty Brandenberg fd2d4dc1b1 ESC-110 ESC-111
Cleanup passes on the two threaded collectors with better comments
and more complete unit tests.
2010-11-10 08:44:53 -08:00
Monty Brandenberg 1ed9d997a6 ESC-111 Texture interfaces
Mainly expand the categories to include protocol and location/temp
nature of texture asset.
2010-10-29 08:50:03 -07:00
Monty Brandenberg 851f995287 ESC-109 Write single-thread asset stats collector for wearable.
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.
2010-10-28 08:48:26 -07:00