Commit Graph

75 Commits (50689a13baf07bcd68bfb77b111b066da972f076)

Author SHA1 Message Date
Graham Madarasz 50689a13ba BOOG2707 uncomment cleared suspects 2013-06-05 06:14:27 -07:00
Graham Madarasz ea24612561 BUG-2707 make use of OsOutputDebugString _DEBUG only on Windows to avoid throwing unhandlable exceptions in coroutines in RelWithDebInfo builds 2013-06-04 07:51:27 -07:00
Graham Madarasz 1f9137ed5f BUG-2707 fix unref'd var 2013-06-02 19:52:59 -07:00
Graham Madarasz a1888e72fa BUG-2707 eliminate debug message and memory dump from FrameWatcher, which appears to be going off on login for some 2013-06-02 17:08:01 -07:00
Graham Madarasz c19200eb00 BUG-2707 add some logging to help narrow down what part of login instance handling is going awry 2013-05-30 17:01:28 -07:00
Oz Linden 3bb708d706 merge up to latest viewer-development for merge to 3.5.2 2013-04-19 14:42:56 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Dave Parks a36b66bd14 MAINT-1815 Fix for excessive memory usage in Mayfair. Disable tcmalloc. Disable private memory pools. Make viewer large address aware on windows.
Reviewed by Kelly
2012-11-07 16:03:54 -06:00
Oz Linden b3338955ba linux version number fixes 2013-02-22 19:57:02 +00:00
Oz Linden 3b8092e31f add OS version string 2013-02-21 13:19:39 -05:00
Vadim ProductEngine a47e9bd97b EXP-1525 FIXED Potential fix for a crash at shutdown: added some error handling to saving inventory cache. 2012-01-10 16:35:36 +02:00
Oz Linden ac94b66a08 storm-1729: ensure that cpu id has no leading or trailing spaces for ease of comparison and formatting 2011-12-13 15:58:34 -05:00
Richard Linden b215c724c1 Automated merge with http://hg.secondlife.com/viewer-development 2011-08-11 10:11:59 -07:00
Leslie Linden d712dde69e SH-2218 FIX -- v2.8.x Viewers crash consistently when I actively use other applications
* Mac memory stats now extracted from proper system calls.

Reviewed by Nat Linden.
2011-08-05 11:05:48 -07:00
Leslie Linden 017a23aaf4 SH-2218 WORK AROUND -- v2.8.x Viewers crash consistently when I actively use other applications
* Just removed mac memory stats to make a low-risk work-around.
2011-08-03 17:07:49 -07:00
Nat Goodspeed ed648b1f08 CHOP-753: Eliminate redundant array-of-pair-arrays in LLMemoryInfo.
(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-12 20:14:39 -04:00
Nat Goodspeed e58a0e9b26 CHOP-753: Defend against boost::regex exceptions.
(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-12 14:34:31 -04:00
Nat Goodspeed 4e23550363 CHOP-753: make getAvailableMemoryKB() only load data on Windows.
(per Monty code review)
Other platforms return -1 anyway, so don't need to call load methods.
2011-07-12 13:34:09 -04:00
Nat Goodspeed 8fcda650a7 CHOP-753: Add classic-C-style diagnostics around popen("vm_stat").
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-11 14:24:28 -04:00
Nat Goodspeed 607f60d6f6 CHOP-753: Add timestamp to LLMemoryInfo's LLSD stats block.
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-11 10:57:14 -04:00
Nat Goodspeed 774306bc25 CHOP-753: have to cast pointer passed to GetProcessMemoryInfo().
GetProcessMemoryInfo() is prototyped with PROCESS_MEMORY_COUNTERS*, so to
accept PROCESS_MEMORY_COUNTERS_EX* as documented, have to cast.
2011-07-07 14:47:20 -04:00
Nat Goodspeed 65657b9f5c CHOP-753: uh, Microsoft docs lied about header file to use?
Remove <kfuncs.h>, documented header file for GetCurrentProcess().
2011-07-07 14:20:37 -04:00
Nat Goodspeed 6c0d6956da CHOP-753: add stats from GetProcessMemoryInfo() on Windows.
Introduce StatsArray helper class to facilitate accumulating stats in the
array-of-pair-arrays form cached internally by LLMemoryInfo.
2011-07-07 14:05:56 -04:00
Nat Goodspeed bfbd7c6df5 CHOP-753: On Windows, add GetPerformanceInfo to LLMemoryInfo stats.
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-07-05 20:20:26 -04:00
Nat Goodspeed abf50e8c7d CHOP-753: Fix compile errors in LLMemoryInfo Windows-specific code. 2011-06-30 13:57:11 -04:00
Nat Goodspeed 01607fe418 CHOP-753: Reduce redundancy in LLMemoryInfo.
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-30 11:50:54 -04:00
Nat Goodspeed b75eedb0dc CHOP-753: Fix errors in LLMemoryInfo Mac-specific code.
Handle conversion errors (boost::bad_lexical_cast).
Glean additional LLSD statistics from vm_stat output.
2011-06-30 10:12:45 -04:00
Nat Goodspeed 21ff3d0d1c CHOP-753: fix minor compilation errors on Linux 2011-06-29 20:42:30 -04:00
Nat Goodspeed 7f8ec9f142 CHOP-753: Introduce LLSD access to LLMemoryInfo ** BROKEN **
This is known not to compile on Mac yet; checking in to concurrently work on
Linux-specific code.
2011-06-29 20:35:44 -04:00
Nat Goodspeed 1262f710b5 CHOP-753: Report Linux memory stats 1/line, like other platforms.
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-28 23:09:00 -04:00
Nat Goodspeed 26be53aede CHOP-753: Introduce a sliding window of framerate samples.
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-28 16:01:16 -04:00
Nat Goodspeed 57c230b73e CHOP-753: suppress VS fatal warning 4355 2011-06-28 08:58:10 -04:00
Nat Goodspeed abb8a7018d CHOP-753: Log LLMemoryInfo whenever framerate hits a new low.
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-28 08:21:49 -04:00
Nat Goodspeed 2619f3db1f CHOP-753: add timestamp and <mem> marker to memory stats log lines 2011-06-24 10:46:38 -04:00
Nat Goodspeed 0ec4d813eb Log enriched memory info for Mac too.
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-06-23 14:50:28 -04:00
Tank_Master 5b4dcf003e Correctly identify Server 2008, Server 2008 R2, Server 2012, and Windows 8 2011-05-16 23:58:28 -07:00
Leslie Linden a34cad5f2a EXP-779 FIX -- Help > About Second Life Reports Kernel Version Twice, 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.
2011-05-04 16:13:26 -07:00
Xiaohong Bao 219cd6ecda more debug code for SH-207: viewer crash in LLVertexBuffer::mapBuffer. 2010-10-14 21:23:23 -06:00
Xiaohong Bao 5ee546eb4e for SH-335: create a debug tool to track of memory availability. 2010-10-14 17:01:39 -06:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
palange@pdp47.lindenlab.com 71f3913679 EXT-3780 FIX Fixed CPU MHz to be MHz on all platforms. 2010-06-02 15:24:59 -07:00
Mark Palange (Mani) 0db04cbb67 EXT-3780 WIP Adding newline to linux getCPUFeatureDesc output 2010-05-11 16:27:50 -07:00
Mark Palange (Mani) 1aef4820a5 EXT-3780 Added linux impl - wip 2010-05-03 17:06:14 -07:00
Tofu Linden 7462911bdd Change Linux fasttimer implementation back to RDTSC - using a reliable 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-04-19 12:49:15 +01:00
Eugene Mutavchi 48fd4c8d14 Working on major bug EXT-4820([NUX] Viewer dimensions on first-run) - moved LLDisplayInfo to llwindow, implemented getting the width/height of screen for mac os and linux.
--HG--
branch : product-engine
2010-03-05 21:36:41 +02:00
Vadim Savchuk 70000e0b1e Fixed Win build.
--HG--
branch : product-engine
2010-03-04 17:08:21 +02:00
Vadim Savchuk 99f5cc8151 merge
--HG--
branch : product-engine
2010-03-04 16:53:21 +02:00
Ychebotarev ProductEngine b6d5909ddc partitial fix for major EXT-4820 [NUX] Viewer dimensions on first-run
need to specify desctop width and height for macos and linux (see LLDesctopInfo in llsys.cpp for details)

--HG--
branch : product-engine
2010-03-04 15:43:14 +02:00
Mark Palange (Mani) dd500fb1fd EXT-3780 Rewrote windows processor detection to support cpuid brandstring, and x64.
Refactored the CProcessor class into LLProcessorInfo.
Reviewed by brad
2010-01-07 16:15:51 -08:00
Brad Payne (Vir Linden) e8ec98c307 line ending fixes
--HG--
branch : avatar-pipeline
2009-12-01 12:06:31 -05:00