summaryrefslogtreecommitdiff
path: root/indra/llcommon/llsys.cpp
AgeCommit message (Collapse)Author
2013-05-13Merged with https://bitbucket.org/lindenlab/viewer-betaGeenz
2013-04-19merge up to latest viewer-development for merge to 3.5.2Oz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-02-22Merge new boost and add OS X 10.8 modsGraham Madarasz (Graham Linden)
2013-01-22And thus, the demonic mouse position conversions from view space to screen ↵Geenz
space were tamed.
2012-11-07MAINT-1815 Fix for excessive memory usage in Mayfair. Disable tcmalloc. ↵Dave Parks
Disable private memory pools. Make viewer large address aware on windows. Reviewed by Kelly
2013-02-22linux version number fixesOz Linden
2013-02-21add OS version stringOz Linden
2012-01-10EXP-1525 FIXED Potential fix for a crash at shutdown: added some error ↵Vadim ProductEngine
handling to saving inventory cache.
2011-12-13storm-1729: ensure that cpu id has no leading or trailing spaces for ease of ↵Oz Linden
comparison and formatting
2011-08-11Automated merge with http://hg.secondlife.com/viewer-developmentRichard Linden
2011-08-05SH-2218 FIX -- v2.8.x Viewers crash consistently when I actively use other ↵Leslie Linden
applications * Mac memory stats now extracted from proper system calls. Reviewed by Nat Linden.
2011-08-03SH-2218 WORK AROUND -- v2.8.x Viewers crash consistently when I actively use ↵Leslie Linden
other applications * Just removed mac memory stats to make a low-risk work-around.
2011-07-12CHOP-753: Eliminate redundant array-of-pair-arrays in LLMemoryInfo.Nat Goodspeed
(per Monty code review) The notion of storing LLMemoryInfo data both as an LLSD::Map and an LLSD::Array of pair arrays arose from a (possibly misguided) desire to continue producing stats output into the viewer log in the same order it always used to be produced. There is no evidence that anyone cares about the order of those stats in the log; there is no other use case for preserving order. At Monty's recommendation, eliminate generating and storing the array-of-pair-arrays form: directly store LLSD::Map.
2011-07-12CHOP-753: Defend against boost::regex exceptions.Nat Goodspeed
(per Monty code review) Explain why we intentionally don't suppress exceptions from boost::regex objects constructed with string literals. Catch std::runtime_error from boost::regex_search() and boost::regex_match(); log and return false.
2011-07-12CHOP-753: make getAvailableMemoryKB() only load data on Windows.Nat Goodspeed
(per Monty code review) Other platforms return -1 anyway, so don't need to call load methods.
2011-07-11CHOP-753: Add classic-C-style diagnostics around popen("vm_stat").Nat Goodspeed
On Mac, where LLMemoryInfo relies on a child process rather than any sort of internal system API, try to produce more informative LL_WARNS output if popen() fails to run vm_stat, or if vm_stat terminates with nonzero rc.
2011-07-11CHOP-753: Add timestamp to LLMemoryInfo's LLSD stats block.Nat Goodspeed
For postprocessing these stats, we'll want the time at which they were captured. We'll want the current framerate too, but handle that at a higher level.
2011-07-07CHOP-753: have to cast pointer passed to GetProcessMemoryInfo().Nat Goodspeed
GetProcessMemoryInfo() is prototyped with PROCESS_MEMORY_COUNTERS*, so to accept PROCESS_MEMORY_COUNTERS_EX* as documented, have to cast.
2011-07-07CHOP-753: uh, Microsoft docs lied about header file to use?Nat Goodspeed
Remove <kfuncs.h>, documented header file for GetCurrentProcess().
2011-07-07CHOP-753: add stats from GetProcessMemoryInfo() on Windows.Nat Goodspeed
Introduce StatsArray helper class to facilitate accumulating stats in the array-of-pair-arrays form cached internally by LLMemoryInfo.
2011-07-05CHOP-753: On Windows, add GetPerformanceInfo to LLMemoryInfo stats.Nat Goodspeed
So far we've only been querying GlobalMemoryStatusEx(), but GetPerformanceInfo() delivers a bunch more memory-related stats that may be pertinent. Try capturing those too. May not yet compile on Windows...
2011-06-30CHOP-753: Fix compile errors in LLMemoryInfo Windows-specific code.Nat Goodspeed
2011-06-30CHOP-753: Reduce redundancy in LLMemoryInfo.Nat Goodspeed
Recast stream() to display data from LLSD array rather than reinvoking OS operations used to capture it. Make refresh() cache LLSD data in map form as well as array; fetch items from that in a few places to avoid going back to OS.
2011-06-30CHOP-753: Fix errors in LLMemoryInfo Mac-specific code.Nat Goodspeed
Handle conversion errors (boost::bad_lexical_cast). Glean additional LLSD statistics from vm_stat output.
2011-06-29CHOP-753: fix minor compilation errors on LinuxNat Goodspeed
2011-06-29CHOP-753: Introduce LLSD access to LLMemoryInfo ** BROKEN **Nat Goodspeed
This is known not to compile on Mac yet; checking in to concurrently work on Linux-specific code.
2011-06-28CHOP-753: Report Linux memory stats 1/line, like other platforms.Nat Goodspeed
Previous code deliberately flowed the different lines from MEMINFO_FILE together on a single line, which seems pointless to me, since we want to be able to grep the viewer log to recognize individual stats. Also replace classic-C LLFILE* machinery used to read MEMINFO_FILE with std::ifstream and std::getline().
2011-06-28CHOP-753: Introduce a sliding window of framerate samples.Nat Goodspeed
The trouble with remembering the slowest-ever framerate is that framerate drops dramatically on login, then typically bounces back to something reasonable during the session. So the session-normal framerate has to drop pretty dramatically before it falls below the original login framerate. To address this, only remember the last ~10 minutes of framerates, and log memory stats every time a new framerate is slower than the previous 10 minutes.
2011-06-28CHOP-753: suppress VS fatal warning 4355Nat Goodspeed
2011-06-28CHOP-753: Log LLMemoryInfo whenever framerate hits a new low.Nat Goodspeed
Introduce FrameWatcher, a static object that hooks into the LLEventPump named "mainloop" to get a call every frame. Track framerate over a defined sample time (20 seconds atm); track minimum and log LLMemoryInfo every time we hit a new minimum.
2011-06-24CHOP-753: add timestamp and <mem> marker to memory stats log linesNat Goodspeed
2011-06-23Log enriched memory info for Mac too.Nat Goodspeed
Add Mac logic to LLMemoryInfo::stream(): run vm_stat and log its output. Add comments with Mac and Linux suggestions to LLMemoryInfo::getAvailableMemoryKB(), responding to comment: //do not know how to collect available memory info for other systems.
2011-05-16Correctly identify Server 2008, Server 2008 R2, Server 2012, and Windows 8Tank_Master
2011-05-04EXP-779 FIX -- Help > About Second Life Reports Kernel Version Twice, ↵Leslie Linden
Instead of OS Version Modified Mac OS_VERSION string to include OS X version number in addition to Kernel version info. DARWIN llcommon build now depends on Carbon in order to provide this functionality. Reviewed by Richard.
2010-10-14more debug code for SH-207: viewer crash in LLVertexBuffer::mapBuffer.Xiaohong Bao
2010-10-14for SH-335: create a debug tool to track of memory availability.Xiaohong Bao
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-06-02EXT-3780 FIX Fixed CPU MHz to be MHz on all platforms.palange@pdp47.lindenlab.com
2010-05-11EXT-3780 WIP Adding newline to linux getCPUFeatureDesc outputMark Palange (Mani)
2010-05-03EXT-3780 Added linux impl - wipMark Palange (Mani)
2010-04-19Change Linux fasttimer implementation back to RDTSC - using a reliable ↵Tofu Linden
syscall was REALLY chewing CPU time. Sigh. I didn't realize how incredibly often this gets called. So, back to the assembly. But be more careful with CPU clock count on linux, so the fasttimer values are much more accurate than they were the last time we were with RDTSC, in absolute terms - back in the right order of magnitude anyway. Also change many instances of Mhz to MHz. Also some minor comment fixes.
2010-03-05Working on major bug EXT-4820([NUX] Viewer dimensions on first-run) - moved ↵Eugene Mutavchi
LLDisplayInfo to llwindow, implemented getting the width/height of screen for mac os and linux. --HG-- branch : product-engine
2010-03-04Fixed Win build.Vadim Savchuk
--HG-- branch : product-engine
2010-03-04mergeVadim Savchuk
--HG-- branch : product-engine
2010-03-04partitial fix for major EXT-4820 [NUX] Viewer dimensions on first-runYchebotarev ProductEngine
need to specify desctop width and height for macos and linux (see LLDesctopInfo in llsys.cpp for details) --HG-- branch : product-engine
2010-01-07EXT-3780 Rewrote windows processor detection to support cpuid brandstring, ↵Mark Palange (Mani)
and x64. Refactored the CProcessor class into LLProcessorInfo. Reviewed by brad
2009-12-01line ending fixesBrad Payne (Vir Linden)
--HG-- branch : avatar-pipeline
2009-11-20EXT-2618 Added code to determine if the viewer is running 'compatibility mode'Mark Palange (Mani)
OS version string reports compatibility mode and real os version number, if accessible. reviewed by Richard
2009-10-16merge from latest svn/viewer-2-0 to hg/viewer-2-0Mark Palange (Mani)