Search Unity

Performance Analysis results to Jenkins

Discussion in 'Testing & Automation' started by Aceria_, Jun 16, 2020.

  1. Aceria_

    Aceria_

    Joined:
    Oct 20, 2014
    Posts:
    81
    I finally got the Performance Testing package to run properly with our game, and am now looking into our options for integrating it into our build pipeline.

    The next step would be to get this to run on our build server and have it put the results in a nice graph so that we can keep track of performance regressions/improvements automatically. Is there a plugin available that works with the created results file out of the box?
     
  2. seans_unity3d

    seans_unity3d

    Unity Technologies

    Joined:
    Feb 28, 2017
    Posts:
    9
    Hi Aceria_ -

    You might give the Unity Performance Benchmark Reporter a try. Essentially it's a command line tool you can use from CI to generate an HTML report of your performance test results, and alternatively, use to compare one result file (a baseline file let's say) with one or more other performance test result xml files.

    I wrote a how to article for this tool a while back that may be helpful as well: Performance Benchmarking in Unity: How to Get Started

    Good luck!
     
  3. Aceria_

    Aceria_

    Joined:
    Oct 20, 2014
    Posts:
    81
    I've finally got some time allocated to get this integrated into our pipeline.

    @seans_unity3d I had read that page already (which was very useful, so thanks for that!). Unfortunately when I run the UnityPerformanceBenchmarkReporter, it doesn't actually generate any new files. The .dll runs fine and throws no errors, it just doesn't seem to do anything.

    Also, are the results formatted in any specific way, or is it a proprietary format created by Unity?
     
  4. Aceria_

    Aceria_

    Joined:
    Oct 20, 2014
    Posts:
    81
    Bumping this back up.

    I've tried running it through both of these commands:

    Code (CSharp):
    1. .\UnityPerformanceBenchmarkReporter.exe --results="C:\Users\Elwin\Desktop\PerformanceGenerator\results.xml"
    Code (CSharp):
    1. dotnet .\UnityPerformanceBenchmarkReporter.dll --results=results.xml
    They both do not give any results. There's no new files created and there's no error/output reported anywhere.

    I've also tried loading in the results.xml through Jenkins' NUnit test result plugin which unfortunately doesn't work, which brings me back to the previous question: are the results formatted in any specific way, or is it a proprietary format created by Unity?
     
    Last edited: Nov 5, 2020
    andrew-fray likes this.