TestEngineering/Performance/Talos

< TestEngineering‎ | Performance
Revision as of 15:37, 18 January 2018 by Igoldan (talk | contribs) (update links)

Talos.jpg


Talos

Talos is a Python performance testing framework that is usable on Windows, Mac and Linux. Talos is our versatile performance testing framework we use at Mozilla. It was created to serve as a test runner for the existing performance tests that Mozilla was running back in 2007 as well as providing an extensible framework for new tests as they were created.

So, why Talos? Talos is the bronze automaton of Greek myth. Talos protected the island of Crete, throwing giant boulders at unwary seamen. He's also purported to have heated himself glowing hot and then embraced his enemies. Basically, he was awesome.

Talos code lives at https://dxr.mozilla.org/mozilla-central/source/testing/talos

Talos Tests

Information about each test is available in Performance_sheriffing/Talos/Tests

Running Talos Tests

See the page on running Talos tests.

Lifecycle of a Performance Test, from push to graph server

  • Buildbot schedules Talos jobs
  • Buildbot runs a talos job on a slave when one is available
  • Treeherder displays a green (all OK) status and has a link to the graph server
  • 13 pushes later, analyze_talos.py is ran which compares your push to the previous 12 pushes and next 12 pushes to look for a regression

Resources / How-to

Adding a new test

To create a new test you ideally need a webpage(s) that performs the test(s) desired. The results can be a simple alert.

Once you've got that, just talk to folks in #perf (:jmaher, :rwood, :igoldan) and they will handle the majority of the steps required.

Bugs

  • Talos bugs are filed under Testing/Talos, such as requests for new tests or repairs to the talos code itself.
  • Perfherder bugs are filed under [1].
  • Talos machine maintenance bugs are filed under mozilla.org/Release Engineering, such as bugs having to do with the hardware that talos is run on or requests to run extra talos tests against a given build.

Subpages

Blog posts about Talos