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.
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:
Would be interested to have your thoughts here.
Cheers, Pete
One related question - to help you jump more directly into the interesting aspects of your application, would the ability to pass in command line arguments to the application when starting it be useful (e.g. selecting a scene to test, skipping manual menu selection)?
Hi Pete,
Thanks for the clarification!
File size is one of the main reasons, yes, but ... I just had a look at what's getting stored in the apc directory and found out, to my surprise, (and fault) that the apk together with symbols files have been stored from old capture sessions in many of my captures (due to me adding it to the configuration a long time ago). Having those removed really makes the capture size much much less important, so my apologies here.
Having said this, in my particular case, I also find it quite useful to have multiple captures that I know have started at roughly the same time as I tend to compare multiple captures "side-by-side". I understand I can just add a bookmark but I just find it easier to have multiple captures where I know, say, second 1/2 in the capture roughly matches second 2 in the other capture and vice-versa. Both options you mention above sound quite useful though, and not exclusive. I would certainly find myself using both!
Keeping the app alive after the app is also something quite important for me as I tend to make multiple captures most of the time (multiple levels, etc..). If there's something I can manually tweak locally until you add an option to avoid this it would be great to know. I'll have a look at the script to see if something obvious pops out.
I believe we don't have yet any kind of support for that but I'll try to find out - it would certainly be useful! I'll get back to you on this.
Thanks! Feel free to drop me a mail if you want some pointers on the script mods.
For completion, just wanted to add that when using the command line to setup gator the app doesn't get killed when I stop the capture. So all good, thanks :).
I think both of the features you described are good to have. I started using 2020.3 but I switched back to 2020.1 because sometimes I need a lot of clicking before getting to the place I want profiling.
Thanks for the feedback, we'll get these into the backlog (probably won't be in time for 2021.0 though).
Note that the old flow from earlier versions (using gator_me.py) is still possible with 2020.3, just not via the Android connection GUI. I'll dig out some instructions.
I second that. I'm now using the old flow with 2020.3 - the only difference I noticed is that I'm queried about using the "Advanced Mode" through a popup when Streamline realizes I've started the process using the command line and not the GUI. Not really an issue for me - only one more click.
Right! Just need to choose TCP (Advanced) at the top. The popup shows up if you still on Android (adb) which is really helpful.