-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Debugger] Move most profilers to ServersDebugger, fix core includes. #57715
[Debugger] Move most profilers to ServersDebugger, fix core includes. #57715
Conversation
Uses GDExtension, replaces old Callable system for profilers, and is also used internally.
Also splits bandwidth/rpc profiler (RPCProfiler is now in SceneDebugger).
Forcing draw during debug break is now handled by ServersDebugger, and only happens when the proper message is sent from the EditorDebugger ("servers:draw"). In a similar way, briging the window in foreground is now also handled by ServersDebugger upon receiving "servers:foreground" which is sent by the EditorDebugger when resuming from a break ("continue").
9c1d685
to
6583797
Compare
Note: this also improve the network profiler to track all multiplayer bandwidth. I still find it a bit tricky, because it cannot give accurate results (and never did):
|
The reported values could be multiplied by |
The MultiplayerAPI doesn't know if the underlying network peer is applying compression or not. |
We might want to apply the compression at the MultiplayerAPI-level, that would give a bit more accurate results (still limited by the fact that the value will not include broadcast bandwidth accurately). |
This looks good to me, I guess maybe it shuold ask the peer for the used bandwidth? |
Yeah, we can add a |
@Faless Makes sense |
@reduz can we still merge this? The code is pretty unrelated to the multiplayer API, I would rather make those changes in a separate PR. I can remove the extra bandwidth logs if you wish (it's just 3 lines, it might as well just go in as is for now). |
Thanks! |
@Faless Hi is there an tutorial how to implement your own EngineProfiler? I looking for a way to build code coverage, maybe a Profiler can help to track the executed functions. |
In this PR:
Uses GDExtension, replaces old Callable system for profilers, and is also used internally.
Also splits bandwidth/rpc profiler (RPCProfiler is now in SceneDebugger).
Forcing draw during debug break is now handled by ServersDebugger, and only happens when the proper message is sent from the EditorDebugger ("servers:draw").
In a similar way, briging the window in foreground is now also handled by ServersDebugger upon receiving "servers:foreground" which is sent by the EditorDebugger when resuming from a break ("continue").
Should remove all remaining bogus include in
core/debugger
(#53295).