This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Mobile Studio 2020.3 capture on hold

Hi,

I was giving a try to 2020.3 but I can't find an option to avoid capturing straight from app start. The point of capture I'm (typically) interested in is a few good seconds away from the start of the app and this generates a very large apc file. Is there a way for the capture to start paused or something along those lines? 

In addition to this when I stop the capture it kills the application. I would be great to keep it alive to do more captures if I need to.

Parents
  • Hi JPJ, 

    There isn't a way to do this via the new GUI today, although you can still use the gator_me.py script (it might need a modification to not kill the app). 

    There are a couple of technical reasons we now force connect on start, primarily that connecting to a process after it's started and forked threads is a lot more expensive to monitor using Perf than one we can instrument before any threads are created. For threaded game engines that are capturing CPU counters it's very probable that a post-start data capture will actually fail to capture due to inode exhaustion on Android (If we connect after threads have been created we need one inode per counter, per thread, per cpu so that can multiply up pretty fast, and Android's default inode limits are pretty low).

    Is the only concern you have the data file size? There are a couple of possible directions we could go in future:

    • Keep establishing the connection early, but to defer actually starting to capture data until the user presses record. I suspect we could reuse this ability to have restartable captures within the scope of a single data session.
    • Keep the capture behavior the same, but allow a user to clip a captured data file to a smaller data range as a post-process step.

    Would be interested to have your thoughts here.

    Cheers, 
    Pete

Reply
  • Hi JPJ, 

    There isn't a way to do this via the new GUI today, although you can still use the gator_me.py script (it might need a modification to not kill the app). 

    There are a couple of technical reasons we now force connect on start, primarily that connecting to a process after it's started and forked threads is a lot more expensive to monitor using Perf than one we can instrument before any threads are created. For threaded game engines that are capturing CPU counters it's very probable that a post-start data capture will actually fail to capture due to inode exhaustion on Android (If we connect after threads have been created we need one inode per counter, per thread, per cpu so that can multiply up pretty fast, and Android's default inode limits are pretty low).

    Is the only concern you have the data file size? There are a couple of possible directions we could go in future:

    • Keep establishing the connection early, but to defer actually starting to capture data until the user presses record. I suspect we could reuse this ability to have restartable captures within the scope of a single data session.
    • Keep the capture behavior the same, but allow a user to clip a captured data file to a smaller data range as a post-process step.

    Would be interested to have your thoughts here.

    Cheers, 
    Pete

Children