wolfpld / tracy

Frame profiler

Home Page:https://tracy.nereid.pl/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature Request: Support for multiple clients

murphyeoin opened this issue · comments

Hello,
we have a use case where we have multiple client processes contributing to different parts of a single output. They are all generating tracy trace data. Frame numbers/ids are synchronized between all of processes. We would like to be able to see all of the trace data in a single tracy timeline. There are a few steps here:

  1. uniquely namespace the data from each process/client
  2. support listening to and handling data from multiple clients

One Implementation suggestion:
Create a "mixer" or "relay" daemon that uses multiple Tracy Workers to listen to multiple clients, and passes the data from the multiple clients to a single tracy server. This would involve - amongst other tasks.. rewriting some of the Tracy Worker code to be thread-safe (assuming multiple threads are needed). The daemon would need some sort of UI (possibly the existing connection UI?) or configuration so it knows which clients to connect to.

Wondering if anyone has thought about this before, whether it's a practical idea (or not) and what a good way to approach it is.

It is related somewhat to #203 (doing this work would make #203 fairly trivial I think).

Thanks for listening

Duplicate of #471.