[WIP] Plugin Profiler

Discussion in 'WIP and Development Status' started by PotatoB, Feb 26, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    PotatoB

    I'm making a plugin that benchmarks other plugins' performances.

    It has 3 simple commands (need the permission profiler.commands):

    /diag # - Starts a test that lasts for # milliseconds. During this test the plugin collects information on all actively running plugins. At the end of # milliseconds, the test will conclude and a new folder will be created in your main project directory called "diagnostics" which has a summary on your server's active plugins' performances, and specific information for each separate plugin.

    /canceldiag - Cancels a previously started test. Does not output information to diagnostics folder.
    /stopdiag - Stops a previously started test. Outputs information to diagnostics folder.

    Installation

    1) It's not compatible with Spout (yet) so you need to disable Spout and all Spout dependent plugins while you have this installed.
    2) You must extract the contents of the download to the plugins folder (so you have plugins/PluginProfiler.jar and plugins/lib/javassist.jar).
    3) To actually activate the plugin, you must add the following VM argument:

    Code:
    -javaagent:plugins/PluginProfiler.jar


    If you're not planning on using the plugin, deactivate it! Do this by simply removing the VM argument. With the plugin activated, your server's startup time will be a bit slower.

    I have attached the current version of the plugin to this thread. Let me know if it works! It's compatible with CB 1.4.7, I'm not sure if it will work for earlier versions.

    What it Does

    After you complete a test (/diag #) a new folder will be created in your server's main directory called "diagnostics." Inside will be a summary.txt file and a folder called plugins. The summary.txt file gives you a broad summary of all plugins that were actively running during the span of your test. The plugins folder has more in-depth information about each of these plugins (benchmarks for separate method calls, which threads methods were called from, and statistics, such as mean, median, quartiles, etc).
     

    Attached Files:

    Adrenaline likes this.
  2. Offline

    jorisk322

    This looks pretty cool, but many people won't be able to use it, because they don't have access to their startup script (shared MC hosting).
     
Thread Status:
Not open for further replies.

Share This Page