• World of Warcraft Addons
  • World of Warcraft
  • Average Rating:

  • Your Rating

  • Share
  • Report Abuse

Event Tracker

 
Project Updated:
Files Updated: Mon, Jan 18 2010
Supports Game Version: 3.3.0
Category: Development Tools
Tags:

[Edit Tags]

Project Manager: fmeus
Additional Authors: No additional authors
Current Version: 1.4
License: All Rights Reserved
Development Site: CurseForge.com
Avg Daily DL (last 30 days): 2
Downloads Total: 737
Favorites: 6
Comments: 5
  • About Event Tracker
  •  

Event Tracker allows you to view detailed information such as argument information of tracked events/functions as well as what frames are monitoring specific event. For functions tracked it will also provide information on the time spent on execution functions (on a call per call base as well as the total execution time).

See the EventTracker blogpage @ http://fmeus.wordpress.com/eventtracker/ for more information on the usage of Event Tracker and the API to track your own functions.

To tell Event Tracker which standard WoW events to track for now you need to update the file EventTracker_events.lua yourself. The following is an example of how the contents of the file may look like.

--[[ =================================================================
    Description:
        Use this file to specify which events need to be tracked.
    ================================================================= --]]

-- Events to be tracked
    ET_TRACKED_EVENTS = {
        "PLAYER_LEVEL_UP",
        "PLAYER_XP_UPDATE",
        "PLAYER_TARGET_CHANGED",
    };

Be careful to specify only valid events. Event Tracker uses the function GetFramesRegisteredForEvent, which will cause WoW to hard crash when it is being called with a non-existing event.

The following slash commands are available

CommandDescription
/etOpen/close EventTracker dialog
/et { help or ? }Show this list of commands
/et add <event>Add event to be tracked
/et remove <event>Remove event to be tracked
/et registerallRegister all events to be tracked (# of events not known)
/et unregisterallUnregister all events to be tracked (except for VARIABLES_LOADED)
/et resetpos:Reset position of the main EventTracker frame
  • Downloads (5)
  •  
File Name Release Type Game Version Downloads Date
Addon Curse.com Beta 2.3.3 0 9/29/2008
  File Name Release Type Game Version Downloads Date  
  Event Tracker 1.4 Release 3.3.0 61 1/18/2010
  Event Tracker 1.3 Release 3.3.0 157 12/8/2009
  Event Tracker 1.2 Release 3.2.0 342 8/4/2009
  Event Tracker 1.1 Release 3.1.0 81 7/15/2009
  Event Tracker 1.0 Release 3.1.0 96 6/8/2009
  • 1 page(s)
  • Screenshots (2)
  •  
  • Comments

Add Comment  

Add

You need to login or register to post.

Benefits of Registration

  • Interact with hundreds of thousands of other gamers on an open social network.
  • Post your stories, news, images, videos, and other content to share.
  • Create a network with your fellow gamers or join an existing one.
  • Gain reputation for everything you do.
  • Unrak said

    Right well the following is reported by event tracker every time the WHO LIST is opened. I have no idea what it means or how to stop the who list opening, but it HAS tracked what it was asked to track \o/

    [string "*:OnShow"]:1: in function <[string "*:OnShow"]:1>
    [C]: in function `Show'
    Interface\FrameXML\FriendsFrame.lua:32: in function `FriendsFrame_ShowSubFrame'
    Interface\FrameXML\FriendsFrame.lua:165: in function `FriendsFrame_Update'
    Interface\FrameXML\FriendsFrame.lua:124: in function <Interface\FrameXML\FriendsFrame.lua:120>
    [C]: in function `Show'
    Interface\FrameXML\UIParent.lua:1576: in function `SetUIPanel'
    Interface\FrameXML\UIParent.lua:1421: in function `ShowUIPanel'
    Interface\FrameXML\UIParent.lua:1308: in function <Interface\FrameXML\UIParent.lua:1304>
    [C]: in function `SetAttribute'
    Interface\FrameXML\UIParent.lua:1974: in function <Interface\FrameXML\UIParent.lua:1962>
    [C]: in function `ShowUIPanel'
    Interface\FrameXML\FriendsFrame.lua:484: in function `WhoList_Update'
    Interface\FrameXML\FriendsFrame.lua:830: in function `FriendsFrame_OnEvent'
    ...s\Broker_ChannelWatch\Libs\LibWho-2.0\LibWho-2.0.lua:846: in function `?'
    ...s\Broker_ChannelWatch\Libs\LibWho-2.0\LibWho-2.0.lua:781: in function <...s\Broker_ChannelWatch\Libs\LibWho-2.0\LibWho-2.0.lua:780>
    ...ace\AddOns\GnomishYellowPages\GnomishYellowPages.lua:2749: in function `FriendsFrame_OnEvent'
    [string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>

    Reply Report Permalink
  • fmeus said

    Hi Unrak,

    do you still by any chance have the testing code from the beginning of January active? One or both of the
    following:

    EventTracker_TrackProc( "SendWho", { "filter" } ); -- Send request to find players
    EventTracker_TrackProc( "SetWhoToUI", { "state" } ); -- Send output to list or chat

    Regards,
    Frank

    Reply Report Permalink
  • Unrak said

    They were in EventTracker_events.lua right?
    Well i deleted them when i made a macro :
    /script EventTracker_TrackProc( "SendWho", { "filter" } ); EventTracker_TrackProc( "SetWhoToUI", { "state" } );

    So i start wow, open event tracker and then fire the macro. I get a few readings of state 0 and state 1 and then the Who List will open and the stack frump for State 1 is as i posted.

    Reply Report Permalink
  • fmeus said

    From the stack posted in appears that both Gnomish Yellow Pages and Broker_Channel are responding to the who messages or are causing them.

    I would suggest contacting the respective developers for these addons and tell them about the behavior you are experiencing. Maybe they are already aware of these issues and can provide a solution for you.


    is doing something.

    So I suggest to report the behavior you are seeing to the developer of Gnomish Yellow Pages.


    Reply Report Permalink
  • Unrak said

    Will do - thanks for your help

    Reply Report Permalink
  • Unrak said

    Better make that a double expresso.
    ran the 2nd option and Bugsack went nuts.

    Here's a breakdown of the report: http://www.grraids.net/Docs/ETreport.txt

    Sorry about this. I never wanted to open a can of worms.

    Reply Report Permalink
  • fmeus said

    When I have Gnomish Yellow Pages installed and I am in Dalaran, I could reproduce the issue. So GYP is definitely heavily using the social features.

    This doesn't help you much, but might be an indication of the issues you see with the social window popping up from time to time.

    And I have some more homework in figuring out why a stack overflow is being caused.

    Sorry that I couldn't be of more help to you. Thanks for giving EventTracker a try.

    Regards,
    Frank

    Reply Report Permalink
  • fmeus said

    During what operation did you get these errors.

    I have tested it also using a macro followed by executing some who requests manually and I don't get error.
    Maybe I will have to install Gnomish Yellow Pages, to get the same results....

    I am also working on adding call stack information to ET, I am making good progress on it, just some UI issues to solve.

    Regards,
    Frank

    Reply Report Permalink
  • Unrak said

    right i have Gnomish Yellow Pages, Broker_Channelwatch and Broker_altguild

    All 3 cause the Who Is Panel to fire open randomly with an 'n-charname' argument. the charname is entirely random and if i leave the Who Is window open then the charname will change itself. The errors i was getting was as soon as i fired the macro with the script. Bugsack gave up after 117 errors :)

    Reply Report Permalink
  • Unrak said

    Thanks for your fast response.
    I put the code you suggested above the last } in EventTracker_events.lua and logged on and got the message:

    1x EventTracker-1.2\EventTracker.lua:285: attempt to get length of global 'ET_TRACKED_EVENTS' (a nil value)
    EventTracker-1.2\EventTracker.lua:325: in function `EventTracker_EventOnClick'
    <string>:"*:OnClick":1: in function <[string "*:OnClick"]:1>

    Locals:
    button = "LeftButton"
    event = "VARIABLES_LOADED"
    timestamp = 1262611974
    data = <table> {
    }
    realevent = true
    time_usage = nil
    wipe = <function> defined =[C]:-1

    ---

    so thinking i put the code in the wrong place i moved it to after the last } and tried again. this time i got the message:

    1x EventTracker-1.2\EventTracker_events.lua:20: attempt to call global 'EventTracker_TrackProc' (a nil value)

    Locals:

    ---

    Should i have assigned values to {state} and {filter} ?

    Reply Report Permalink
  • fmeus said

    Hint to self: Do not answer any questions before at least having drunk 2 strong cups of coffee.

    Now for the serious part, I gooffed up. The EventTracker_events.lua is loaded before any
    other code, so the functions are not know yet. Sorry for that.

    There are two ways that should work

    1) - Remove the lines for EventTracker_TrackProc from EventTracker_events.lua
    - Create a new file called ET_custom.lua and put the lines for EventTracker_TrackProc in the file
    - Make sure the file ET_custom.lua is placed in the same folder as EventTracker itself
    - Edit the file EventTracker.toc and as a last and new line put ET_custom.lua in there
    - Save all changes and reload or restart WoW

    2) - Remove the lines for EventTracker_TrackProc from EventTracker_events.lua
    - Create an in-game macro with the following code
    /script EventTracker_TrackProc( "SendWho", { "filter" } ); EventTracker_TrackProc( "SetWhoToUI", { "state" } );
    - Save all changes and reload or restart Wow
    - Use the newly created macro to active the tracking of SendWho and SetWhoToUI


    You should no assign values to state and filter. Those are labels used in the ET frame to make the output a little more readible.


    I am not at Wow-enabled machine at the moment, so I hope I didn't goofup again.....

    Regards,
    Frank

    Reply Report Permalink
  • Unrak said

    This could be the answer to a problem i have. I run a lot of addons and recently i have seen that the /who social window will pop up by itself on occassion. I am not sure which of my addons is causing it (but i believe it maye be Broker_channelwatch or Gnomish Yellow Pages). Will this tool allow for watching when the /who window pops up and tell me what called that function? What would i need to add to EventTracker_events.lua to enable it to do that? (i am a Lua noob so if you could provide me the code i would be very happy). I forsee a donation if i can solve this mystery as the mod authors don't seem to recognise the issue or cannot duplicate it.
    To reiterate, the window i am talking about is the Who window you see if you click social button. Sometimes i get "n-charactername" in the edit box, sometimes it is blank.
    Thanks in anticipation.

    Reply Report Permalink
  • fmeus said

    Hi,

    EventTracker allows you to monitor the events that are generated by the game itself and you can tell ET to track specific calls. However ET does not provide information which function/procedure caused another function to be called, for events it just states which addons track a certain event.

    For your issue you could add the following events to EventTracker_events.lua file;
    WHO_LIST_UPDATE

    But this will only tell that a certain event if a certain event has been happened in the game.

    It would be more helpful to track the following functions;
    SendWho()
    SetWhoToUI()

    You could add the following two lines to the end of the file EventTracker_events.lua
    EventTracker_TrackProc( "SendWho", { "filter" } ); -- Send request to find players
    EventTracker_TrackProc( "SetWhoToUI", { "state" } ); -- Send output to list or chat

    If state is set to 0 the output will go to the chat window, if there are more the social window will popup.
    If state is set to 1 the social window will always be used to display the results.

    Maybe based on the information within the filter you will be able to track down the issue you are having.

    I will try to see for a future version of EventTracker it will be possible to determine the stack of a
    function call so it will be easier to see which addon is using which functions.

    Regards,
    Frank

    Reply Report Permalink
  • Racicot said

    can we get some instructions. maybe slash commands plse.
    thankyou

    Reply Report Permalink
  • fmeus said

    Instructions can be found at http://fmeus.wordpress.com/eventtracker/

    What kind of slash commands do you have in mind?

    Reply Report Permalink
  • 1 page(s)
  • Addon Packs Containing Event Tracker

Most Downloads / Day

Event Tracker has not been added to any Addon Packs yet.

  • Similar Addons
  •  

Average downloads per day

  1. 437 Addon Control Panel Libraries, Development Tools...
  2. 345 !BugGrabber Development Tools
  3. 136 BugSack Development Tools
  4. 28 LibOOP Libraries, and Development...
  5. 22 MpqViewer Data Export, and Development...