amxmodx profiler
2 Attachment(s)
This is a profiler built into amxmodx's core - it really is only useful to people trying to find bottlenecks in their plugins.
What is a profiler? It basically tells you how long your plugin spends executing stuff. To install it, just replace the amxmodx_mm_i386.so or amxmodx_mm.dll files (remember to backup your old ones) with the provided binaries. You do not need to recompile any plugins or change any modules. Then configure plugins to be profiled like you would to get plugins debugged. There is a new cvar, "amx_profile", its configuration is identical to "amx_debug": 0 = no plugins will be profiled 1 = only specified plugins will be profiled (default) 2 = all plugins will be profiled To specify a plugin for profiling (for amx_profile mode 1), open up plugins.ini, and after the plugin name, add "profile". For example, "admin.amxx" would become "admin.amxx profile" Note: You cannot profile a plugin in debug mode. When a plugin is being profiled, there is a very slight overhead. It should be unnoticeable, and you should be able to profile plugins on a production environment. At map change, all plugins that are being profiled will get their profile data appended to amxmodx/data/profiles/<pluginname.amxx>.txt The profiler will read the time it takes to execute native calls, public function calls (from forwards), and function calls (direct public function / stock function calls). Additionally, it provides two new natives (they are not available in amxmodx's official core) to allow you to profile special chunks of code yourself. Documentation for these is available in the "profiler.inc" file. Source is available here Any issues with this version post here, do not file a bug report for it. Edit: New version for 1.8.2 and bugs fixed is available here: https://forums.alliedmods.net/showpo...0&postcount=87 |
Re: amxmodx profiler
Here's an example profile report from admincmd.amxx
Code:
date: Fri Feb 29 01:42:55 2008 map: de_dust Note that it doesn't add up recursive calls. For example: If function a() calls function b(), for the duration that b() is executing, the profiler for function a() is not keeping track of time. As soon as b() stops executing, a() will continue tallying up time. |
Re: amxmodx profiler
neat!
|
Re: amxmodx profiler
sawce if I could steal that trophy of yours and re-award it to you - I would.
It's that amazing. |
Re: amxmodx profiler
Quote:
|
Re: amxmodx profiler
Your karma status could not be more accurate.
|
Re: amxmodx profiler
Irrefutable proof that there is nothing that sawce cannot do!
I need to steal this for SourceMod. |
Re: amxmodx profiler
wow this is awsome
|
Re: amxmodx profiler
would it be possible for you to make something that logs at which function ( or maybe even the certain portion of the function ) a certain plugin is when the server crashes or reboots
|
Re: amxmodx profiler
use binlogging
|
All times are GMT -4. The time now is 10:14. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.