Commit Graph

119 Commits (ee37ea4aa751de128ce51f59260716d8ee8ee6ed)

Author SHA1 Message Date
Mnikolenko Productengine 3950341916 SL-15177 Added LLTextureFetchTester to log texture fetching state timers 2021-04-29 17:37:26 +03:00
Andrey Kleshchev 2938b8238c SL-12889 Failed to cache image crashes 2020-05-25 23:59:56 +03:00
maxim_productengine a6cc3b7159 SL-11074 FIXED "Cache Hit Rate" in Statistics is broken 2019-05-06 17:14:55 +03:00
AndreyL ProductEngine 65bf63c973 Merged in lindenlab/viewer-bear 2019-04-02 22:12:55 +03:00
andreykproductengine 346fc435f1 SL-10291 cleanup-mutex 2019-01-17 01:53:27 +02:00
Graham Linden graham@lindenlab.com c0e16b2800 Add stats for tex cache read / decode / fetch latency for comparison of old cache code with TCO. 2018-04-11 20:14:33 +01:00
Brad Payne (Vir Linden) e9c786ec60 SL-409 - fixes for viewer asset metrics. Copy and/or assignment of Recording objects is failing, changed to create LLSD blob earlier and just copy that. 2017-03-10 11:29:48 -05:00
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
Rider Linden b8c1976460 Merge 2016-03-17 13:14:21 -07:00
Oz Linden 31f3db0291 merge changes for DRTVWR-417 2016-03-16 13:08:06 -04:00
andreykproductengine a0e9ee4757 MAINT-2199 separating UI elements from in-world textures. 2016-02-16 20:44:53 +02:00
Oz Linden bc22e58743 merge changes for 4.0.1-release 2016-01-15 16:55:04 -05:00
Rider Linden e7eaa94dfa Merge VR 2016-01-15 13:36:38 -08:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
ruslantproductengine dc2cb70e81 MAINT-4360 FIXED (Setting LogTextureDownloadsToSimulator causes a viewer crash)
The fix in fllowing:
LLTextureFetch has object LLTextureInfo which is has Recorder object.

The recorder object activate (Recorder::handleStart()) self AccumulatorBufferGroup
(Recorder::mBuffers into the current (LLTrace::get_thread_recorder()) ThreadRecorder object
which created (as I understand) one per thread, and time to time send accumulated data to the master ThreadRecorder.

The problem is that LLTextureFetch also can uses from the main thread.
I decide add parameter to CTOR LLTextureInfo(bool postponeStartRecoreder) -
if it false the recorder start immediatly in LLTextureInfo CTOR body, if true we need to start it manually.

Also I add another one LLTextureInfo  in LLTextureFetch::mTextureInfoMainThread which is intended
for accumulate data from the main thread.
The postponed Recorder started/stoped from LLTextureFetch::startThread()/endThread().
2015-10-21 18:47:24 +03:00
Rider Linden 907efc9cc9 MAINT-5507: Remove llcurl, move constant values and untilities to llcorehttp lib 2015-09-15 17:01:26 -07:00
Rider Linden fe5567639d Change HttpOptions::ptr_t to be shared_ptr<> rather than intrusive. 2015-07-08 12:09:36 -07:00
Rider Linden 1138c57f9a Convert LLCore::HttpHeaders to use shared_ptr<> rather than an intrusive_ptr<> for refrence counting. 2015-07-08 10:01:27 -07:00
Monty Brandenberg 11036d7bf4 Cleanup work. Use http constants for content-type and
accept headers in mesh and textures.  For texture metrics
reporting, use the AP_INVENTORY policy class which is
non-pipelined and pointing (usually) in the right direction.
Use a do-while(false) structure to manage common exit path
code in onCompleted() methods.  Identical to a 'goto' but
might amuse the pedantic.  Tuning on background fetch to
have it cycle faster.  This is experimental.  I suspect
with HTTP balancing in llcorehttp, we can do away with the
timers here.
2014-09-19 19:43:25 -04:00
Monty Brandenberg e79a88c8cc Better support for dynamic option changes in llcorehttp. Libcurl has
some problems disabling pipelining on a multi handle with outstanding
requests so build a more conservative system that allows requests
to drain before setting curl multi options.  Would rather not have
this but it is significantly safer.  "HttpPipelining" debug setting
is now fully dynamic.  Connection limits can also be made dynamic
in the near future.  Upped the default connection count back to 8 for
now but will revisit this in the tuning phase.  It might be time to
combine mesh and textures into a single asset class.  For normal
server operations that would be a clear path, but for server under
load, the current scheme may be better.  Minor cleanup in logging
to elminate some redundant strings.  Might add some more tracing to the
stall logic 'just in case'.
2014-08-12 18:21:26 -04:00
Monty Brandenberg 5cca78e718 First HTTP pipelining viewer. Enable pipelining for
GetTexture and GetMesh2 at a pipeline depth of 5.  Create
global debug option, HttpPipelining, to enable and disable
HTTP pipelining (defaults to true).  Tweak texture and
mesh low- and high-water request levels based on pipelining
status and depth.  Fixup texture console which was damaged
in a recent release.  Split logging of the no-request
HTTP error case into two cases:  one for missing URL in
HTTP request, one for HTTP request not created.  A refactor
in llcorehttp is coming:  I will be moving all libcurl-
using code into libcurl-specific modules.
2014-06-23 14:23:33 -04:00
Brad Payne (Vir Linden) 7b9708a2e3 sunshine-external merge WIP 2014-05-13 10:02:26 -04:00
Richard Linden 80b4a4a1f5 merge with release 2014-02-24 18:45:59 -08:00
Brad Payne (Vir Linden) 0384d57972 SH-4611 WIP 2013-11-20 16:21:34 -05:00
Richard Linden 612892b45a SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 ms
continued conversion to units system
made units perform type promotion correctly and preserve type in arithmetic
e.g. can now do LLVector3 in units
added typedefs for remaining common unit types, including implicits
2013-08-18 22:30:27 -07:00
Richard Linden 9f7bfa1c37 moved unit types out of LLUnits namespace, since they are prefixed 2013-08-15 00:02:23 -07:00
Richard Linden 11e14cd3b0 SH-4299Interesting: High fps shown temporarily off scale in statistics console
various fixes to lltrace
start() on started recording no longer resets
fixed various instances of unit forgetfullness in lltrace
recording split now has gapless timing
scene monitor now guarantees min sample time
renamed a bunch of stats
added names to debug thread view on windows
2013-07-15 11:05:57 -07:00
Richard Linden d122318bef SH-4299 WIP: Interesting: High fps shown temporarily off scale in statistics console
added percentage/ratio units
added auto-range and auto tick calculation to stat bar to automate display stats
2013-07-08 00:55:17 -07:00
Richard Linden 9fd3af3c38 SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
changed Units macros and argument order to make it more clear
optimized units for integer types
fixed merging of periodicrecordings...should eliminate duplicate entries in sceneloadmonitor history
2013-06-13 15:29:15 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Richard Linden 9ae76d1215 SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
fixed copy construction behavior of Recordings to not zero out data
split measurement into event and sample, with sample representing
a continuous function
2013-05-29 17:00:50 -07:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Brad Payne (Vir Linden) 8d3afb35d8 SH-4061 - integrated LLHttpRetryPolicy with new corehttp header parsing 2013-04-15 18:58:58 -04:00
Brad Payne (Vir Linden) 7182203ebf SH-4061 WIP - moved all retry logic into lltexturefetch, some cleanup. Debug setting now defines a fake failure rate. 2013-04-15 17:46:28 -04:00
Monty Brandenberg 4eef1c8a2e SH-4106 Significantly upgrade the HttpHeaders interface for SSB.
Header container moves from a vector of raw lines to a vector
of string pairs representing name/value pairs in headers.  For
incoming headers, we normalize the name to lowercase and trim
it.  Values are only left-trimmed.  Outgoing headers are left
as-is.  Simple find() method for the common case, forward and
reverse iterators for those few who need to do it themselves.
The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated
as a header to be returned to caller.  Unit tests, as usual,
were a bear but they absolutely ensured outgoing HTTP header
conformance after the change.  Grunt work paid off.

LLTextureFetch was also given a second options structure
for texture fetches.  Same as the original but with header return
to caller requested.  Baked textures should use this, the other
20,000 texture fetch requests should continue to use the original.
2013-04-15 16:55:35 +00:00
Monty Brandenberg 8868964b54 SH-4106 Significantly upgrade the HttpHeaders interface for SSB.
Header container moves from a vector of raw lines to a vector
of string pairs representing name/value pairs in headers.  For
incoming headers, we normalize the name to lowercase and trim
it.  Values are only left-trimmed.  Outgoing headers are left
as-is.  Simple find() method for the common case, forward and
reverse iterators for those few who need to do it themselves.
The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated
as a header to be returned to caller.  Unit tests, as usual,
were a bear but they absolutely ensured outgoing HTTP header
conformance after the change.  Grunt work paid off.

LLTextureFetch was also given a second options structure
for texture fetches.  Same as the original but with header return
to caller requested.  Baked textures should use this, the other
20,000 texture fetch requests should continue to use the original.
2013-04-15 16:55:35 +00:00
Brad Payne (Vir Linden) a8cdcfc9a8 SH-4061 WIP - moved retry policy to newview so it can work with either llmessage or CoreHttp libraries. Updated tests. 2013-04-12 09:16:25 -04:00
Brad Payne (Vir Linden) e17920defb SH-4061 WIP - started adding retry to texture fetch, making retry policy compatible with old and new http libraries 2013-04-11 16:17:23 -04:00
Brad Payne (Vir Linden) f78da98791 SH-4061 WIP - capture http status codes from requests, restrict SB fetch retries to 5xx errors 2013-04-10 11:43:48 -04:00
Brad Payne (Vir Linden) 4bbcd26941 SH-4061 FIX - texture fetch failures added retry logic and fault injection for testing 2013-04-08 18:16:58 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Richard Linden 68f9f656cd merge with viewer-release 2013-03-22 00:44:59 -07:00
prep 8e3b190e91 merge 2013-03-11 15:17:13 -04:00
prep e0c9174609 merge 2013-03-11 15:05:47 -04:00
Brad Payne (Vir Linden) 957c8303be Added gratuitous coupling to stop gcc from complaining 2013-03-11 14:51:45 -04:00
Brad Payne (Vir Linden) 5a436e46f6 SH-3959 WIP - pass information about type of fetched image - server bake, host bake, map tile, etc - down the chain so LLTextureFetchWorker can adjust behavior as needed 2013-03-08 17:07:17 -05:00
Richard Linden f07b9c2c69 renamed LLTrace stat gathering classes/methods to make the structure of LLTrace clearer
Count becomes CountStatHandle
Count.sum becomes sum(Count, value), etc.
2013-03-06 11:08:25 -08:00
Monty Brandenberg cc0a4bf6ac Merge. Pull viewer-development in prior to filing DRTVWR merge request. 2013-01-09 16:39:30 -05:00
Monty Brandenberg 11e506f2eb SH-3357 Texture fetch debugger not running correctly under drano-
http phase 1 Some missing counter initialization kept the debugger
from entering the startup state giving the appearance of a do-
nothing floater.  Also found some unbound recursion that might need
looking at in the future.  (There's a comment.)
2012-12-21 22:24:34 +00:00
simon@Simon-PC.lindenlab.com 7fe4fbe674 Pull in upstream viewer-development via viewer-lion 2012-12-04 15:03:34 -08:00