[Plugin] Performance profiler
#41

Quote:
Originally Posted by -Danny-
Посмотреть сообщение
This doesn't work for me. I've everything loaded and at the right directories, but there's no .prof file in my gamemodes directory. Help please!
I have encountered the same behavior, I have used the precompiled bins and also self compiled ones and I get no .prof I have used /rcon gmx and also ending my gamemodes round normally (which just calls GameModeExit). I am using Linux (Fedora 15..) I can provide anymore info if necessary, would really like to see this working.
Reply
#42

I tested to profile a small filterscript instead and now it doesn't crash the server when I'm using gmx as it did on my gm. But I doesn't get any .prof file.
Reply
#43

Now I tested it again with 2.0a3. The server crashes when I use slash a path separator and when my first filter script is loading. If I use backslash, it doesn't crashes, but I got nothing when I close my server.
Reply
#44

I've found what causes random crashes (call to callStack_.top() when it's empty - because amx_Exec'ed functions are popped twice), I'm currently trying to fix this, please be patient
Reply
#45

Quote:
Originally Posted by 0x5A656578
Посмотреть сообщение
I've found what causes random crashes (call to callStack_.top() when it's empty - because amx_Exec'ed functions are popped twice), I'm currently trying to fix this, please be patient
Good to hear
Reply
#46

New version: https://github.com/downloads/Zeex/pr...ler-2.0b-1.zip

- Fixed random crashes (hopefully)
- Now profiler runs when no symbolic info available, too (but for ordinary functions will print their addresses instead of names)
Reply
#47

Quote:
Originally Posted by 0x5A656578
Посмотреть сообщение
New version: https://github.com/downloads/Zeex/pr...filer-2.0b.zip

- Fixed random crashes (hopefully)
- Now profiler runs when no symbolic info available, too (but for ordinary functions will print their addresses instead of names)
You fixed my startup problem and the server seems to be stable when it's running with the profiler on but when using gmx the server crashes after about 30 sek and I doesn't get any .prof file.
Reply
#48

This is some kind of weird output...
pawn Код:
Function    Calls   Time per call, µs   Overall time, µs    Overall time, %
CallLocalFunction   29  303990  8815704     35.67
mysql_query     112     24972   2796820     11.32
OnGameModeInit  5c4     1   1507460     1507460     6.10
OnGameModeExit  189270  1   1245281     1245281     5.04
22d934  1   1117259     1117259     4.52
Check   1f98e8  100     7296    729617  2.95
Kick    1   724327  724327  2.93
OnPlayerDisconnect  888     1   724326  724326  2.93
Audio_OnPlayerDisconnect    be0     1   724313  724313  2.93
Itter_OnPlayerDisconnect    1c3ec   1   724307  724307  2.93
Streamer_OnPlayerDisconnect     d21c4   1   724289  724289  2.93
2026f4  1   610115  610115  2.47
mysql_connect   1   542180  542180  2.19
22ccd4  1   328208  328208  1.33
mysql_fetch_row_format  93  3480    323604  1.31
OnPlayerRequestClass    d01c0   1   301047  301047  1.22
print   24  10025   240597  0.97
cd834   1   214522  214522  0.87
OnPlayerSpawn   19fd4   1   188813  188813  0.76
SyncVehicles    15860   1   178065  178065  0.72
cf584   1004    168     168556  0.68
LoadPlayerData  18d5b4  1   163193  163193  0.66
211120  800     200     159949  0.65
OnPlayerConnect     718     1   144423  144423  0.58
OnDialogResponse    d8f50   1   132022  132022  0.53
OnPlayerUpdate  1fbdbc  2673    48  128369  0.52
SavePlayerData  18e0b0  1   113355  113355  0.46
214060  1   113351  113351  0.46
211eb0  1   102991  102991  0.42
ceb44   6   13425   80551   0.33
200a88  1   72132   72132   0.29
I'm using the latest version.
Reply
#49

Quote:
Originally Posted by wups
Посмотреть сообщение
This is some kind of weird output...
pawn Код:
Function    Calls   Time per call, µs   Overall time, µs    Overall time, %
CallLocalFunction   29  303990  8815704     35.67
mysql_query     112     24972   2796820     11.32
OnGameModeInit  5c4     1   1507460     1507460     6.10
OnGameModeExit  189270  1   1245281     1245281     5.04
22d934  1   1117259     1117259     4.52
Check   1f98e8  100     7296    729617  2.95
Kick    1   724327  724327  2.93
OnPlayerDisconnect  888     1   724326  724326  2.93
Audio_OnPlayerDisconnect    be0     1   724313  724313  2.93
Itter_OnPlayerDisconnect    1c3ec   1   724307  724307  2.93
Streamer_OnPlayerDisconnect     d21c4   1   724289  724289  2.93
2026f4  1   610115  610115  2.47
mysql_connect   1   542180  542180  2.19
22ccd4  1   328208  328208  1.33
mysql_fetch_row_format  93  3480    323604  1.31
OnPlayerRequestClass    d01c0   1   301047  301047  1.22
print   24  10025   240597  0.97
cd834   1   214522  214522  0.87
OnPlayerSpawn   19fd4   1   188813  188813  0.76
SyncVehicles    15860   1   178065  178065  0.72
cf584   1004    168     168556  0.68
LoadPlayerData  18d5b4  1   163193  163193  0.66
211120  800     200     159949  0.65
OnPlayerConnect     718     1   144423  144423  0.58
OnDialogResponse    d8f50   1   132022  132022  0.53
OnPlayerUpdate  1fbdbc  2673    48  128369  0.52
SavePlayerData  18e0b0  1   113355  113355  0.46
214060  1   113351  113351  0.46
211eb0  1   102991  102991  0.42
ceb44   6   13425   80551   0.33
200a88  1   72132   72132   0.29
I'm using the latest version.
Quote:
- Now profiler runs when no symbolic info available, too (but for ordinary functions will print their addresses instead of names)
Reading helps.
Reply
#50

Quote:
Originally Posted by Calg00ne
Посмотреть сообщение
Reading helps.
Thats not the point. Number of calls is also with characters(wtf?), and i don't even know where else is calllocalfunction in my game mode, without zcmd.
OnGameModeExit Calls: 189270
Reply
#51

Most includes tend to use it for callbacks inside an include, as well as CallRemoteFunction.
Reply
#52

Zeex has updated that to 2.0b-1. Check that out.
Also thanks for the update
Reply
#53

Thanks a lot! Now I can tell what is taking the most time in my scripts! Also, can this be used for people to test file saving scripts, and see which is fastest?
Reply
#54

Everytime my server loads it, I get "Loading" or "Game is loading" (don't know how it's spelled in english, it's the white screen you get f.e. when your coords are nearby a million or the gravity is > 50 etc)

Failed (/usr/lib32/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by plugins/profiler.so))
Reply
#55

Probably it is unrelated to this plugin.
You get the "Loading" message in the game, because your coordinates and gravity are too large that it is unsupported by GTA:SA.
Reply
#56

No, it's not. When the plugin is loaded, the loading message displays and my players are sticky at the coordinates 0 0 0.

Код:
Failed (/usr/lib32/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by plugins/profiler.so))
Reply
#57

I have weird results beacose instead of function names i have this:
Код:
0x6cb8	1	598053	598053	43.70
0xfed0	2	15053	30106	2.20
0xe760	1	21330	21330	1.56
How to fix it ?
Reply
#58

People! Do not leave this on your script permanently! It adds about 45mb of ram usage (for me)!!!! Use it temp only!
Reply
#59

__[ShaDoW]__:
Compile your script with debug flag, just like the crashdetect plugin.
If you don't, custom functions will only show its address instead of name.

Hal:
True, it takes about 100000KB of memory (100MB) more for me.
Reply
#60

Cool & Awesome Plugin. I'm going to try it.
Reply


Forum Jump:


Users browsing this thread: 8 Guest(s)