summaryrefslogtreecommitdiff
path: root/indra/llcommon/lltrace.cpp
AgeCommit message (Collapse)Author
2022-12-12DRTVWR-565: Merge branch 'origin/contribute' into DRTVWR-565Nat Goodspeed
2022-11-12DRTVWR-575: Address review comments on Xcode 14.1 type tweaks.Nat Goodspeed
Introduce LLSD template constructors and assignment operators to disambiguate construction or assignment from any integer type to Integer, likewise any floating point type to Real. Use new narrow() function to validate conversions. For LLSD method parameters converted from LLSD::Integer to size_t, where the method previously checked for a negative argument, make it now check for size_t converted from negative: in other words, more than S32_MAX. The risk of having a parameter forced from negative to unsigned exceeds the risk of a valid length or index over that max. In lltracerecording.cpp's PeriodicRecording, now that mCurPeriod and mNumRecordedPeriods are size_t instead of S32, defend against subtracting 1 from 0. Use narrow() to validate newly-introduced narrowing conversions. Make llclamp() return the type of the raw input value, even if the types of the boundary values differ. std::ostream::tellp() no longer returns a value we can directly report as a number. Cast to U64.
2022-11-03DRTVWR-575: Fix llcommon assumptions that size_t fits in 4 bytes.Nat Goodspeed
It's a little distressing how often we have historically coded S32 or U32 to pass a length or index. There are more such assumptions in other viewer subdirectories, but this is a start.
2022-07-30SL-17868 Crash at ThreadRecorder::bringUpToDateAndrey Kleshchev
According to bugsplat get_thread_recorder was null Replaced apr based LLThreadLocalPointer with thread_local
2021-10-28SL-16148 SL-16244 SL-16270 SL-16253 Remove most BlockTimers, remove ↵Dave Parks
LLMemTracked, introduce alignas, hook most/all reamining allocs, disable synchronous occlusion, and convert frequently accessed LLSingletons to LLSimpleton
2013-12-10SH-4653 FIX Interesting: Viewer crashes while reading chat historyRichard Linden
2013-12-05added some comments and changed calls from get_master_thread_recorder()Richard Linden
over to get_thread_recorder() to be agnostic about which thread we're running on
2013-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-10-07renamed TraceType to StatTypeRichard Linden
added more MemTrackable types optimized memory usage of LLTrace some more
2013-10-03added initial memory usage tracking for lltraceRichard Linden
2013-09-07added memory usage and occlusion events to tracesRichard Linden
renamed "current" to "primary" when referring to accumulators
2013-08-21SH-4433 WIP Interesting: Statistics > Ping Sim is always 0 msRichard Linden
made getPrimaryAccumulator return a reference since it was an always non-null pointer changed unit conversion to perform lazy division in order to avoid truncation of timer values
2013-08-12SH-4399 FIX: Interesting: Texture console MB Bound 0/384 and texture queue ↵Richard Linden
bounces once per second SH-4346 FIX: Interesting: some integer Statistics are displayed as floating point after crossing region boundary made llerrs/infos/etc properly variadic wrt tags LL_INFOS("A", "B", "C") works, for example fixed unit tests remove llsimplestat
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-01SH-4294 FIX Interesting: Statistics Texture cache hit rate is always 0%Richard Linden
also, removed LLTrace::init and cleanup removed derived class implementation of memory stat for LLMemTrackable is automatic now
2013-06-30fixed memory leak due to implementation of LLThreadLocalSingletonRichard Linden
removed LLThreadLocalSingleton collapsed all thread recorder classes to single type, LLTrace::ThreadRecorder moved fasttimer stack head to llthreadlocalsingletonpointer via ThreadRecorder
2013-06-22fixed scene load monitor resetting to eagerly due to spurious camer amotionRichard Linden
pulled swap() out of ui time block cleaned up internal lltrace dependencies, factored out common accumulator definitions
2013-06-19SH-4246 FIX interesting: fast timers significantly decreases framerateRichard Linden
moved collapsed flag to fast timer tree node
2013-05-29SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
fixed copy construction behavior of Recordings to not zero out data split measurement into event and sample, with sample representing a continuous function
2013-01-08SH-3468 WIP add memory tracking base classRichard Linden
cleaned up hacks used to get unit tests working LLTrace::init now supports recursive initialization/cleanup put NOMINMAX back in win32 header wrappers
2013-01-03SH-3406 WIP convert fast timers to lltrace systemRichard Linden
made fast timer stack thread local added LLThreadLocalSingleton made LLThreadLocalPointer obey pointer rules for const added LLThreadLocalSingletonPointer for fast thread local pointers
2012-12-21SH-3468 WIP add memory tracking base classRichard Linden
improvements on lifetime of lltrace core data structures tweaks to thread local pointer handling so that static constructors/destructors can safely call functions that use lltrace
2012-11-16SH-3406 WIP convert fast timers to lltrace systemRichard Linden
got new fast timer code to compile and run
2012-11-15SH-3406 WIP convert fast timers to lltrace systemRichard Linden
eliminated min and max macros from windows.h got rest of viewer to compile against llfasttimer changes
2012-11-14SH-3406 WIP convert fast timers to lltrace systemRichard Linden
cleaning up build moved most includes of windows.h to llwin32headers.h to disable min/max macros, etc streamlined Time class and consolidated functionality in BlockTimer class llfasttimer is no longer included via llstring.h, so had to add it manually in several places
2012-11-13SH-3406 WIP convert fast timers to lltrace systemRichard Linden
moving fast timers into lltrace namespace and accumulation system
2012-11-12SH-3406 WIP convert fast timers to lltrace systemRichard Linden
simplified llfasttimer code down to 2 classes llunit unit conversion now done in floating point or 64 bit integer precision, depending on source type
2012-10-10SH-3405 WIP convert existing stats to lltrace systemRichard Linden
fixed units conversion so that trace getters return convertable units removed circular dependencies from lltrace* converted more stats to lltrace
2012-10-04SH-3275 WIP Update viewer metrics system to be more flexibleRichard Linden
moved threadrecorder classes into separate file added Count trace type, which tracks value increases and decreases and can report churn as well as overall growth rate
2012-10-02SH-3275 WIP Update viewer metrics system to be more flexibleRichard Linden
implemented minimal merging logic made recordings ligher weight by moving live tracking data into threadrecorder
2012-10-02SH-3404 create sampler classRichard Linden
renamed LLTrace::ThreadTrace to LLTrace::ThreadRecorder renamed LLTrace::Sampler to LLTrace::Recording
2012-10-01SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
cleaned up API samplers are now value types with copy-on-write buffers under the hood removed coupling with LLThread
2012-09-30SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
factored out lltrace::sampler into separate file added rudimentary lltrace support to llstatgraph made llstatgraph use param blocks more effectively moves initial set of stats over to lltrace removed windows.h #defines for min and max
2012-09-28SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
created separate constructor for static allocation of sampler buffer fixed start/stop/resume semantics of samplers and added sampler time interval tracking
2012-09-26SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
slave threads now pushing data to master thread
2012-09-26SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
fixed various issues related to unit tests and LLThreadLocalPtr initialization and teardown
2012-09-24SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
moved LLThreadLocalPtr to llapr fixed various startup race conditions for LLThreadLocalPtr
2012-09-21SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
added LLThreadLocalPtr broke llmutex out into llmutex.h got primary sampling buffer under thread local storage