r11

Details

  • Filename
    _CPUThieves-r11.zip
  • Uploaded by
  • Uploaded
    Nov 3, 2014
  • Size
    9.96 KB
  • Downloads
    2,439
  • MD5
    4900185b32f6570c2fc2503df7be957b

Supported WoW Retail Versions

  • 6.0.3

Changelog

------------------------------------------------------------------------
r11 | mikk | 2014-11-03 21:19:14 +0000 (Mon, 03 Nov 2014) | 1 line
Changed paths:
   M /trunk/main.lua

Add "/cputhieves track FUNCNAME" for tracking specific functions. It gets executed as a Lua expression so you can even give it e.g. MyAddon.blah[5].func
------------------------------------------------------------------------
r10 | mikk | 2014-11-03 05:10:07 +0000 (Mon, 03 Nov 2014) | 1 line
Changed paths:
   M /trunk/main.lua

Sigh, move reporting to coroutine - adding functions made it take too much time to execute during combat.
------------------------------------------------------------------------
r9 | mikk | 2014-11-02 20:53:25 +0000 (Sun, 02 Nov 2014) | 9 lines
Changed paths:
   M /trunk/main.lua

Add in CPU polling of individual functions.
This is a VERY GOOD idea because:
1. C_Timer based timers tend to not show up in AddOn/Frame CPU usage (sometimes yes sometimes no - unsure why so far)
2. API calls that take time do not show up as AddOn time
By default, we monitor:
- C_Timer callouts (and where they were registered the first time)
- All GameTooltip APIs (you'd be surprised how much time they take!)
- All functions in the global namespace on startup (the "!" in "!CPUThieves" means we load before pretty much everything else)

------------------------------------------------------------------------
r8 | mikk | 2014-11-02 04:16:21 +0000 (Sun, 02 Nov 2014) | 1 line
Changed paths:
   M /trunk/main.lua

We now track all OnEvent/OnUpdate that we have seen a frame use, and include their CPU usage in the stats. This doesn't necessarily mean all the ones that it ever used (we might have missed it between polls!), but it's a lot better than nothing.
------------------------------------------------------------------------
r7 | mikk | 2014-11-02 02:44:45 +0000 (Sun, 02 Nov 2014) | 3 lines
Changed paths:
   M /trunk/main.lua

Add print() 10 seconds after start:
  Remember to "/cputhieves disable" when you are done or your performance will suffer!

------------------------------------------------------------------------
r6 | mikk | 2014-11-02 01:09:08 +0000 (Sun, 02 Nov 2014) | 8 lines
Changed paths:
   M /trunk/main.lua

Ch-ch-ch-changeees!
- OnUpdate CPU usage now included in frame CPU usage (manual polling yay). Addon checks if this is necessary or not on start-up. (Future safe)
- If we ever report high CPU on an unnamed frame, it is now assigned a global name e.g. UnnamedFrame01234567 and reported as such. This allows you to prod it yourself with e.g. /dump
- New command "/cputhieves identify VARNAME" that does its best to find out just where the hell that variable came from.
- - It loops through ALL global vars&tables, up to 6 deep, trying to find someone pointing at it
- - For frames, it loops ALL Script handlers and does the same global scan
- - For any table, it loops all members and does issecurevariable() on them, trying to find mention of addons
- We now poll 4000 frames per OnUpdate (was:2000). Still takes less time per frame than on the ones that we have to UpdateAddOnCPUUsage().
------------------------------------------------------------------------
r5 | mikk | 2014-11-01 05:48:36 +0000 (Sat, 01 Nov 2014) | 1 line
Changed paths:
   M /trunk/main.lua

Ups. Reinstate same-handler-function finding logic in live scanner, that I earlier disabled for troubleshooting purposes.
------------------------------------------------------------------------
r4 | mikk | 2014-11-01 05:28:43 +0000 (Sat, 01 Nov 2014) | 1 line
Changed paths:
   M /trunk/main.lua

Thank you Phanx for pointing out my spelling error: hiccup, not hickup. This important fix is now pushed out immediately :D
------------------------------------------------------------------------
r3 | mikk | 2014-11-01 04:42:38 +0000 (Sat, 01 Nov 2014) | 2 lines
Changed paths:
   M /trunk/main.lua

Slight fubar of live detection of frames using >100ms per polling cycle (but without triggering the FPS guard).
SHOULD be fixed, but there's still something very strange going on that I'm right now seeing only for SUF's target frames. Unsure what it is still, investigating.
------------------------------------------------------------------------
r2 | mikk | 2014-10-31 05:43:34 +0000 (Fri, 31 Oct 2014) | 1 line
Changed paths:
   A /trunk/!CPUThieves.toc
   A /trunk/main.lua

Initial commit. Working I guess :D
------------------------------------------------------------------------
r1 | svn | 2014-10-31 05:40:16 +0000 (Fri, 31 Oct 2014) | 1 line
Changed paths:
   A /branches
   A /tags
   A /trunk

cputhieves/mainline: Initial Import
------------------------------------------------------------------------