Auto-tools/Projects/Talos

From MozillaWiki
Jump to: navigation, search

Overview

[Talos] is our main tool used for running performance tests on each change to the Firefox tree.

The wiki linked above explains how it works and what [tests] we run.

There are [hundreds of requests] (bugs) for Talos, some are worth fixing and some we need to wait and see.

Team

Problem

Goal of the project

This project includes a list of bugs that would make Talos easier to run, debug, hack, or produce better results.

We want the ensure that the codebase is clean and easy to modify, that it supports the needs for all platforms and configurations, and that when run in automation the harness + tests have no issues (hangs, crashes).

On the other side of the fence, Talos should be easy for people to run locally, query results, compare to production, debug issues, and make it easy to add and edit tests. Right now it is more of a black box.

Non Goals

We are not trying to solve making Talos 100% reliable or adding new benchmarks. Talos is a framework and general set of tools (graphs, alerts) that should be easy to run and useful for automation and developers.

Dependencies / Who will use this

Talos runs in automation per push, and upload results to graph server and treeherder. Right now graph server generates alerts in the form of newsgroup posts and emails to developers, those are the primary end points. Also Talos sheriffs use the results generated to investigate failures and point developers at issues related to their code with steps to reproduce locally or on try server.

Design / Approach

Talos was written almost 9 years ago and has been maintained ever since then.

It is designed to be a runner to run a test over and over again to collect reliable performance metrics.

Milestones and Dates

We have no specific milestones, but some features we would like to improve on:

  • easier ability to run for developers (using ./mach talos)
  • move talos into mozilla-central tree
  • improve compare.py to be a great cli and help with investigations
  • general code cleanup, use mozbase modules, remove configuration.py as much as possible
  • support e10s fully, merge code paths (an issue with dromaeo dom on windows 7 and android)
  • reduce noise (weekends)

Implementation

The Talos wiki page has a lot of good information:

Getting Involved

For reference, here is how to get [started developing with Talos]

What is expected in patches, is that you would create a [patch in hg], upload it to the bug and ask for a review from one of the mentors on the bug (or whomever you are working with).

Coding style is expected to follow that of the file you are currently working in (even if it goes against all normal logic).

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


And once you are familiar with the Talos code base and the process of getting code in at Mozilla, here are some more challenging bugs:

Full Query
ID Summary Priority Status
981417 Talos declares "talosError: timeout" when run across spring DST change P3 NEW

1 Total; 1 Open (100%); 0 Resolved (0%); 0 Verified (0%);