Skip to content
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

Instruments import only provides access to the last run #66

Closed
uber-mahyar2 opened this issue Jun 20, 2018 · 4 comments
Closed

Instruments import only provides access to the last run #66

uber-mahyar2 opened this issue Jun 20, 2018 · 4 comments

Comments

@uber-mahyar2
Copy link

If you do multiple runs of a trace, it seems like speed scope only renders the last run? Or kind of merges them together? It's kind of hard to tell.

Here is an example trace on safari.

Maybe a run selector needs to be added?

2-run-safari-instruments-v9.trace.zip

@jlfwong
Copy link
Owner

jlfwong commented Jun 20, 2018

Yeah, there's a bunch of trickiness here.

  1. The instruments trace import only visualizes the last run
  2. Each run only visualizes the main thread

It would be great to fix both of those things, and they may need different solutions

@jlfwong jlfwong changed the title Multiple run instrument trace files do not render properly Instruments import only provides access to the last run Jun 20, 2018
@uber-mahyar2
Copy link
Author

When I was trying to make a good example file for this ticket, I created an instruments file that doesn't render at all. Barely any spans are running since the safari app is fairly idle. There are also 2 runs. I was also using instruments v10. When I create a single run v10 instruments file although, it does render properly with speedscope.

https://uber.box.com/s/hfboka3vmnvxfn8da30r4fnnjwk9m7kh

@jlfwong
Copy link
Owner

jlfwong commented Jun 20, 2018

Thanks for the test file! I haven't tested with Instruments 10 at all -- when was that released?

@uber-mahyar2
Copy link
Author

It was released at WWDC as part of the xcode 10 beta. You will need an apple developer account to download it , but I think the free account can do it. Figma has iOS apps on the app store, so your apple account with figma should definitely be able to download the dmg for you.

https://developer.apple.com/xcode/ <- tap the blue download button in the top right

Here is an example one run instruments v10 looking at itunes: https://uber.box.com/s/vk4h1nisc8okb4b2a4qzamns5x0nk19l

@jlfwong jlfwong added this to the release-1.0.0 milestone Aug 5, 2018
jlfwong added a commit that referenced this issue Aug 12, 2018
More broadly, this just supports multiple profiles loaded into the editor in the same time, which supports import from profiles which are multithreaded by importing each thread as a different profile.

For now, the only two file formats that support multiprocess import are Instruments .trace files and speedscope's own file format

In the process of doing this, I refactored the container code considerably and extracted all the dispatch calls into containers rather than them being part of the non-container view code. This is nice because it means that views don't have to be aware of which Flamechart they are or which profile index is being operated upon.

Fixes #66 
Fixes #82 
Fixes #91
jlfwong added a commit that referenced this issue Aug 12, 2018
More broadly, this just supports multiple profiles loaded into the editor in the same time, which supports import from profiles which are multithreaded by importing each thread as a different profile.

For now, the only two file formats that support multiprocess import are Instruments .trace files and speedscope's own file format

In the process of doing this, I refactored the container code considerably and extracted all the dispatch calls into containers rather than them being part of the non-container view code. This is nice because it means that views don't have to be aware of which Flamechart they are or which profile index is being operated upon.

Fixes #66
Fixes #82
Fixes #91
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants