{"id":97,"date":"2012-09-19T20:04:58","date_gmt":"2012-09-19T20:04:58","guid":{"rendered":"http:\/\/blog.mozilla.org\/nfroyd\/?p=97"},"modified":"2012-09-19T20:04:58","modified_gmt":"2012-09-19T20:04:58","slug":"looking-at-talos-differently","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nfroyd\/2012\/09\/19\/looking-at-talos-differently\/","title":{"rendered":"looking at talos differently"},"content":{"rendered":"<p>At a meeting a couple of weeks ago, I volunteered to look at the Talos data for the last release cycle to see how stable the tests were.\u00a0 I wasn&#8217;t going to do extensive statistical analysis on the numbers, since the Talos servers already do that when deciding whether a change is significant or not.\u00a0 What I initially came up with was:<\/p>\n<ol>\n<li>Detecting important changes: do multiple platforms change consistently?\u00a0 If the numbers for platform X go up by 5% while the numbers for platform Y go down by 3%, maybe the test isn&#8217;t very stable.<\/li>\n<li>Do the numbers wobble around a lot?\u00a0 If the numbers for platform X were up one day and down the next, and this happened several times, then the test isn&#8217;t particularly stable on that platform.\u00a0 However, if the test numbers keep going one direction, then our confidence in that test increases somewhat.<\/li>\n<\/ol>\n<p>(I realize that the specifics of the changesets involved may invalidate the generalizations made above.\u00a0 But as a good first cut, e.g. for somebody who&#8217;s just trying to see if there are significant Talos regressions, this seems like a good start.)<\/p>\n<p>I started out trying to catalog these numbers manually and quickly decided that was for the birds.\u00a0 I found myself mixing up numbers for different tests, different trees, and different platforms (to say nothing of PGO versus non-PGO builds on inbound!), due mostly to the large number of emails to look at and the similarity between the subjects of the emails.\u00a0 A better approach was called for.<\/p>\n<p>So I wrote <a href=\"http:\/\/github.com\/froydnj\/talos-summarize\">talos-summarize<\/a> for parsing dev.tree-management archives for some date range and generating useful visualizations from them.\u00a0 Wanting some insight into the questions above, I chose a table whose rows represent ranges of changesets and whose columns contain data for how a particular platform&#8217;s numbers change.\u00a0 This makes it fairly easy to address point 1 above; point 2 is somewhat addressed by eyeballing the table and looking at the distribution of +\/-s, but it should also be addressed by computing cumulative changes from the beginning of the chosen range.\u00a0 That last point hasn&#8217;t been implemented yet.<\/p>\n<p>Showing pictures would be more useful; I generated <a href=\"http:\/\/people.mozilla.com\/~nfroyd\/ff15-inbound-talos\/\">visualizations for all the Talos tests that ran on inbound<\/a> during the start of the Firefox 15 release cycle.\u00a0 The correspondence between the filenames and the tests themselves should be pretty obvious.<\/p>\n<p>I initially started looking at the <a href=\"http:\/\/people.mozilla.com\/~nfroyd\/ff15-inbound-talos\/ts-med-dirty-profile.html\">Ts, MED Dirty Profile table<\/a>.\u00a0 This table made me happy, because you can see the consistent jump across all platforms as a result of <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=769960\">bug 769960<\/a> landing and the corresponding decrease when the startup regression from that bug landed, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=778855\">bug 778855<\/a>.\u00a0 That test also looks like it has fairly stable numbers; the numbers don&#8217;t jump around too much.\u00a0 The table also suggests that we significantly regressed startup time on multiple platforms with <a href=\"http:\/\/hg.mozilla.org\/integration\/mozilla-inbound\/pushloghtml?fromchange=6e09c52e2c73&amp;tochange=e2084d4e20e3\">this pushlog<\/a>; this regression didn&#8217;t get addressed during the initial cycle of 15, even though it was about as severe as the regression from bug 769960 (and touched our more critical Windows platforms, too).<\/p>\n<p>For the most part&#8211;and this is just eyeballing&#8211;the numbers from all tests don&#8217;t jump around or provide contradictory information.\u00a0 The one exception would be <a href=\"http:\/\/people.mozilla.com\/~nfroyd\/ff15-inbound-talos\/tp5-no-network-row-major-mozafterpaint.html\">Tp5 No Network Row Major MozAfterPaint<\/a> (what a mouthful!), where the row in the middle looks quite odd.\u00a0 Unfortunately, stable numbers across all the tests also look like constantly increasing numbers across all the tests, which is not great.<\/p>\n<p>I&#8217;m still looking at the numbers and tweaking the script; it doesn&#8217;t get everything right (I know it does strange things when summarizing the <a href=\"http:\/\/people.mozilla.com\/~nfroyd\/ff15-inbound-talos\/number-of-constructors.html\">Number of Constructors test<\/a>, for instance).\u00a0 What do you think could be improved about the visualization or what extra information should the summary try to present?<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At a meeting a couple of weeks ago, I volunteered to look at the Talos data for the last release cycle to see how stable the tests were.\u00a0 I wasn&#8217;t going to do extensive statistical analysis on the numbers, since the Talos servers already do that when deciding whether a change is significant or not.\u00a0 [&hellip;]<\/p>\n","protected":false},"author":320,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/posts\/97"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/users\/320"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}