{"id":2896,"date":"2014-06-12T13:05:16","date_gmt":"2014-06-12T02:05:16","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=2896"},"modified":"2014-06-12T13:05:16","modified_gmt":"2014-06-12T02:05:16","slug":"areweslimyet-com-data-is-now-exportable-and-diffable","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2014\/06\/12\/areweslimyet-com-data-is-now-exportable-and-diffable\/","title":{"rendered":"areweslimyet.com data is now exportable and diffable"},"content":{"rendered":"<p><a href=\"https:\/\/areweslimyet.com\/\">areweslimyet.com<\/a> (a.k.a. AWSY) tracks Firefox&#8217;s memory usage on a basic workload that opens lots of websites. It&#8217;s not a perfect tool &#8212; you shouldn&#8217;t consider its measurements as a reliable proxy for Firefox&#8217;s memory usage in general &#8212; but it does help detect regressions.<\/p>\n<p>One thing it doesn&#8217;t support is doing diffs between separate runs. Until now, that is! Thanks to work done by Eric Rahm, it&#8217;s now possible to download the data for each snapshot done during a run. This file can then be loaded in about:memory. It&#8217;s also possible to download the data for two snapshots and diff them in about:memory. Yay! This diff workflow isn&#8217;t super slick, as it requires the downloading of two files and then the loading of them in about:memory. But it&#8217;s a <em>lot<\/em> better than manually eyeballing two sets of data in two separate AWSY tabs, which was the best we could do previously. Furthermore, AWSY and about:memory already duplicate some functionality, and this implementation avoids increasing the amount of duplication.<\/p>\n<p>To do the export, select a single run (zooming in on the graph appropriately) and click on the red &#8220;[export]&#8221; link next to the appropriate snapshot, as seen in the following screenshot.<\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/nnethercote\/files\/2014\/06\/awsy-export.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-2897\" src=\"https:\/\/blog.mozilla.org\/nnethercote\/files\/2014\/06\/awsy-export.png\" alt=\"Screenshot of AWSY showing the export links\" width=\"817\" height=\"606\" srcset=\"https:\/\/blog.mozilla.org\/nnethercote\/files\/2014\/06\/awsy-export.png 817w, https:\/\/blog.mozilla.org\/nnethercote\/files\/2014\/06\/awsy-export-300x222.png 300w\" sizes=\"(max-width: 817px) 100vw, 817px\" \/><\/a><\/p>\n<p>Once it has finished generating the data, the &#8220;[export]&#8221; link changes to &#8220;[download]&#8221;, and you can click on it again to do the download.<\/p>\n<p>This is a first step towards <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1000268\">improving AWSY so that it can detect memory usage regressions with much higher sensitivity than it currently has<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>areweslimyet.com (a.k.a. AWSY) tracks Firefox&#8217;s memory usage on a basic workload that opens lots of websites. It&#8217;s not a perfect tool &#8212; you shouldn&#8217;t consider its measurements as a reliable proxy for Firefox&#8217;s memory usage in general &#8212; but it does help detect regressions. One thing it doesn&#8217;t support is doing diffs between separate runs. [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4550,4544,4546],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2896"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/comments?post=2896"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2896\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=2896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=2896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=2896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}