Inactive [DEV/ADMIN] BukkitInsider 1.1 - Inspect events and plugins that register them. [1337]

Discussion in 'Inactive/Unsupported Plugins' started by apiocera, Oct 23, 2011.

  1. Offline

    apiocera

    BukkitInsider: inspect events and plugins. On the fly.
    Version: 1.1

    This quick, small and dirty plugin is able to get all event subscriptions and list them to you. Also, of particular interest is the ability to calculate average time to process a certain event.

    Some technical details: it works partly because of some black magic called Reflections. I substitute Bukkit's own PluginManager with my own that is very similar to the original, but allows me to intercept all events prior to another plugins and pull out my microsecond-precise stopwatch. Please note that this may add a couple of microseconds to the bill.
    As you might know, black magic doesn't like to cooperate, so if you have any other plugin that does its own sacred rituals, be aware of possible bad interaction.

    Screenshot:
    [​IMG]
    Commands:
    Primary command is `introspect`, aliased `isp`. It dumps everything into console because amount of imformation is just huge, you just won't see everything in that tiny Minecraft chat.
    • `introspect all` - dump everything known.
    • `introspect plugin <plugin name>` - dump everything about plugin.
    • `introspect plugins` - get a list of loaded plugins.
    • `introspect <command> plugins <plugin1> [plugin2] ...` - dump everything about those plugins.
    • `introspect event <event name>` - find who subscribed to that event.
    • `introspect events` - list of events that have at least one listener.
    • `introspect events <event1> [event2] ...` - dump everything about those events.
    • `introspect scheduler` - view all scheduled tasks.
    How, hints: plugin names are case-insensitive. Event names are, however, not.
    Downloads:
    Download BukkitInsider.
    Source Code (warning: obscene comments and obscene code, content rated R).
    BukkitDev - yup.

    Changelog:
    • v 1.1:
    • Now with microsecond precision!
    • Also, each listener is now measured separately. This is quite awesome, you can now compare efficiency of each listener, effectively making this plugin an optimization tool.
    • Scheduled tasks can now be viewed.
    • v 1.0
    • first release, also the first public
     
    Rahazan likes this.
  2. Offline

    Afforess

    I am pleased to see another follower of the dark arts.

    Suggestion: Use nanotime instead of milliseconds, then divide 1E6D so you can see partial milliseconds.
     
  3. Offline

    Rahazan

    This is genius, although I do not see a direct use for it.
     
  4. Offline

    MonsieurApple

  5. Offline

    L5D

    Usefull to check the performance of plugins.

    Can you add things ? :
    Group time and call number by plugin name
    Same control to check sync task
     
  6. Offline

    apiocera

    New version, now 1.1! Thanks @Afforess and @L5D, I really needed that push to make this plugin better. So, new features are:
    • Now with microsecond precision!
    • Also, each listener is now measured separately. This is quite awesome, you can now compare efficiency of each listener, effectively making this plugin an optimization tool.
    • Scheduled tasks can now be viewed.
    • Also, charming flavour :)
     
  7. Offline

    nacs

    Looks promising! Will test this

    Edit: Works and works beautifully!

    It's great to finally see a breakdown of what each plugin is doing and how long each one is taking to run. Thank you so much for creating this.
     
  8. Offline

    dirkson

    This thing creates massive log spam when run with the newer Spout dev builds. I'd love to be able to use it!

    -Dirk
     
  9. Offline

    Codex Arcanum

    This looks great! I've always wanted to have some automated way to do this so I can weed out plugins checking for PLAYER_MOVE and such.
     
  10. Offline

    Donald Scott

    +100 This is great for finding lag.
     
  11. Offline

    sorklin

    Any chance this'll be updated for 1.1?
     
  12. Offline

    Dark_Balor

    NotYetRated likes this.
  13. Offline

    NotYetRated

  14. Offline

    Dark_Balor

    It's now updated for the 1.2, you'll find the plugin on dev.bukkit :)
     
  15. Offline

    Sabotage

    Would someone care to explain the output in more detail? I'm a little confused on how to interpret the results.
    Here is an output from my server if anyone would care to translate:

    http://pastebin.com/kJUm0Wkf
     
  16. Offline

    Ziden

    update to the lastest RB pleeeease
     

Share This Page