Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do I automatically create performance reports for an iOS app?
    primarykey
    data
    text
    <p>For some of my iOS application projects, I would like my CI server to be able to report the following properties:</p> <ul> <li>startup time</li> <li>frame rate</li> </ul> <p>both as a graph over time, and with "low water marks" so the build fails if the measured results aren't within certain criteria. I've already found some of the things I need.</p> <ul> <li>The CI server will be Jenkins.</li> <li>I can use <a href="http://gamua.com/blog/2012/03/how-to-deploy-ios-apps-to-the-iphone-via-the-command-line/" rel="noreferrer">Transporter Chief</a> to get the built app onto an iPad.</li> <li>To measure the startup time I could find the duration between launching <code>main()</code> and leaving <code>application:didFinishLaunchingWithOptions:</code>.</li> <li>To measure frame rate I can put a <code>CADisplayLink</code> into the app and sample its <code>duration</code> property.</li> <li>If those tests output JMeter XML, then Jenkins can display the output via the <a href="https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin" rel="noreferrer">Performance</a> plugin.</li> </ul> <p>What I haven't worked out is, how should I embed those tests into my app and launch it on the iPad? As described above I can <em>deploy</em> the app to the iPad, but then I don't know how I would launch it to gather the results of the tests. My unit tests are running on the simulator - I don't want to run the performance tests there obviously :-).</p> <p>I imagine that there's a solution involving jailbreaking the iPad and controlling the app over SSH, I'd prefer not to go down that route if it's possible. If you <em>have</em> done that and can explain how it works, I'd still like to hear about it.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload