Get an Epic Experience with Premium

Addon Profiler

Miscellaneous Login to Add Favorites
  • 4 Likes
  • World of Warcraft
  • 217 Monthly Downloads
  • Supports: 3.2.0
  • 22,064 Total Downloads
  • Updated 09/03/2009
  • Created 06/22/2009
  • 79 Favorites
  • Project Site
  • Comments
  • Release Type: Mature
  • License: All Rights Reserved
  • Newest File: r20090903
or

About Addon Profiler

Memory and CPU profiling addon, let's you set a period of time in seconds to profile over where it will keep track of total CPU used, CPU used per second as well as (tries) to keep track of how much garbage an addon creates over the duration it is profiling.

Includes an option to group any modules into their parents so you can more accurately see how much addons are really using, if you have addon Orange that lists Apple as a required depedency (And that's its only dependency) then Apple will list its own stats combined with Oranges as well, you can click on the main addon to see what it's modules are using specifically.
Slash commands: /profiler (/ap)

Author: Shadowed <shadowed.wow@gmail.com>
Date:   Wed Sep 2 19:45:38 2009 -0700
- Fixed issues related to profiling with filters up
- Fixed children not showing if their parent is filtered (Orphaning children is always a sad thing)

Date:   Wed Aug 5 14:21:36 2009 -0700
- Fixed CPU to show in seconds instead of milliseconds, CPU/Sec still shows in milliseconds thought
- Added text indicating CPU is shown in seconds, CPU/Sec in milliseconds
TOC Bump + AddonLoader support
* Split localization into its own file

Date:   Sun Jul 12 11:12:55 2009 -0700
* Fixed average cpu used a second being off when modules are enabled

Date:   Sun Jul 5 01:18:52 2009 -0700
* Fixed profiler interrupted message
* Changed addon modules to be expanded by default
* Added how long the profiling was to the finished message
* Increased displayed rows from 12 to 18

Date:   Tue Jun 23 15:30:41 2009 -0700
* Changed garbage collection detection, now stops the GC during profile and manually runs a step and then restarts the GC once profiling is done. This should keep the GC numbers at least somewhat accurate without killing performance by having to check memory in a OnUpdate

Date:   Mon Jun 22 21:56:17 2009 -0700
* Actually changed to .- in case multiple underscores are used in a folder name
* Fixed sorting not working correctly when you had include modules enabled
* Fixed sorting not using average CPU when scan finished
* Fixed module detection, now attempts to use <parent>_<module> to find the owner first, then it falls back to check if it has only one dependency and associates it that way
* Changed to formating to the second decimal place instead of the first for all stats
* Changed to chat frame background as it's easier to read the text when the frame isn't 70% alpha
* Added an addon filter so you can only profile an addon or two if wanted
* After profiling finishes, CPU/Sec will turn into Avg/Sec and show the average CPU time in seconds over the profile time
* Fixed a few things that I broke when renaming
* Quick profiling addon that you can set to run for X amount of seconds, stats are reset at the start when it profiles, also attempts to keep track of how much garbage an addon creates. Includes support to group any "modules" into their parents, so if addon Apple has Orange as it's only dependency, then Orange will list its own stats combined with Apple's as well.
* Git being a pain
* Quick profiling addon, lets you set a profile duration where it'll keep track of total CPU used over the passed period of time, as well as total amount of garbage created. Profiling stats are reset when you start a new profiler.

Comments

  • #4
    BTW, I wish there were some extra features for helping to find out problematic addons, that cause short but intense CPU-usage spikes.

    For example sometimes FPS drops drastically during intensive battleground fight, but to find out what causes it, you must have AddonProfiler open (and it takes a lot of screen space), sorted by CPU/Sec, and notice which addon was the top one, and what CPU/Sec value it had. And since values change constantly - it's not an easy task.

    It would help a lot, if there was one or more of these implemented:
    1) extra column "Max CPU/Sec" (which would hold maximum seen value)
    2) option to report to chat window, each time addon exceeds given CPU/Sec value (for example "AddonProfiler: ZZZUnitFrames - 800 Cpu/Sec!"). Why into chat window, and not just filter visible values? Because you get log, which you can analyze later, and because you don't need to have AddonProfiler window open at the time lag happens. Anyway, this would require extra input box to be added (for CPU/Sec filter value to be entered).
    500 red. This is probably less useful than above two options.
  • #3
    Still works OK on 4.0.3
  • #1
    Count: 32
    Message: ..\AddOns\AddonProfiler\AddonProfiler.lua line 55:
    attempt to index field '?' (a nil value)
    Debug:
    (tail call): ?
    [C]: ?
    AddonProfiler\AddonProfiler.lua:55:
    AddonProfiler\AddonProfiler.lua:36
    AddonProfiler\AddonProfiler.lua:98:
    AddonProfiler\AddonProfiler.lua:93
  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Maingear

ENTER NOW