Skip to content

Having multiple traces open in the same Tracy window. #203

@simonvanbernem

Description

@simonvanbernem

I want to request the following set of features:

  • Have one tracy server be able to have multiple traces open at the same time.
  • Create a UI element, that shows the currently open traces, clearly shows the order in which they were recorded (possibly by just using a sorted list) and lets the user select one. The timeline, messages and so on is shown for the selected trace (just like how it currently works).
  • Add a mode where tracy tries to automatically reconnect to a client that died (equivalent to the the current "reconnect" functionality that appears after one discards a trace). If the connection is successfull, the the incoming data is treaded as a new trace and added to the list of open traces.
  • Add the ability to compare two currently opened traces without saving either one as a file.

I think telemetry has comparable features for some of these requests.

I suspect that this might be a very big change if the server is built with the assumption that there is only ever one trace open, but after analyzing my workflow with tracy, I think it would greatly improve my productivity with it. Currently, I am using tracy to profile an application after making some (rather small) changes to it, to see if I improved or worsened performance. The core loop currently is:

  • change code, build application
  • open a tracy instance, click connect
  • start application, run test, close application
  • compare current trace with last trace (which is opened in another tracy window)
  • repeat

The issues that come up are:

  • I don't use the discard and reconnect feature, because that would lose my last trace. I could save the last trace to disk, but then I'd have to pick a name (I don't want to be bothered with this in this tight loop), and I would have to reload the trace in a different instance. So opening a new tracy instance for each trace is just faster.
  • When having multiple tracy instances open, it gets confusing as to what the newest trace is. I have to guess based on the profiling data or double check by reading the trace timestamp in the window title. This is also slow and something I don't want to be bothered with. I also don't want to be bothered with window management, but to see things side by side I have to rearrange windows all the time.
  • I have to close the oldes traces to not drown in tracy windows. If I confuse one trace for another, I might lose a trace I actually wanted to look at.
  • I'd also want to use the compare feature, but saving the file, selecting a name, and then selecting the right file to open in the compare file dialog is just slower than having two windows open and opening statistics for the zones I am interested in.

The requested features would improve on all of these issues:

  • the new ui element shows the order of the traces clearly. I can just select the latest one without double checking.
  • I can compare two traces without having to select a file name, and going through two file dialogs.
  • I don't need to have multiple windows open and don't need to bother with window management.

I am fully aware that these are not very pressing issues: I can continue to use my current workflow and it'll be fine. But I think this might be a substantial productivity win for a lot of people.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions