-
-
Notifications
You must be signed in to change notification settings - Fork 410
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
Add Tracy, a frame profiler #3118
Conversation
Nice. I have been using it for at least 3 years with MTA. But you should be aware of the macro TRACY_ON_DEMAND. Without using it a profiler will spend all the process memory in situations when it has no connections. |
Ah, so you've been using it with MTA. |
Nothing special:
|
Okay, I just tried out your branch. From what I can see, the problem is you're exporting DLL in all projects even when import is being required. You should remove |
I also saw an error |
So I can't be lazy. |
Premake doesn't support that. CMake propagates requirements of a target to dependents automatically. Adding Tracy is a good idea. |
Okay Ill work on this soon |
This draft pull request is stale because it has been open for at least 90 days with no activity. Please continue on your draft pull request or it will be closed in 30 days automatically. |
This draft pull request was closed because it has been marked stale for 30 days with no activity. |
Adds Tracy v0.9.1: A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler
I've added tracing to quite a few functions.
Updated the readme with instructions on how to use Tracy. [TODO]
The performance impact isn't too bad.
To test, just download the Tracy v0.9.1 server from here
We're using v0.9.1 in particular because I'm too lazy to compile the latest Tracy server.
I'd like to use submodules, but not sure if our current infrastructure would work with it.
I also get linker errors when enabling the callstack feature (Regarding
RtlWalkStackChain
), so if someone knows what the issue is, pls fix it, ty.A possible issue could be security, as tracy must be in a separate dll, and uses sockets to communicate.
NOTE:
When connecting to the client [from the tracy server] first connect to an MTA server asTracy really doesn't like modules being unloaded while it's running [and it's going to crash].