Hello World
I’m Roberto, the newest member of Mozilla’s Desktop Performance team. Before that I worked on optimizing the software framework used in ATLAS, one of LHC’s experiments. I will be working on Telemetry...
View ArticleMy first two weeks at Mozilla
In the first couple of weeks at Mozilla I spent some time with the client and server-side telemetry implementation. Telemetry allows Engineering to receive aggregate data of browser health in the...
View ArticleA matter of energy
In the past month I have looked into measuring the power consumption of Firefox on desktop. It all started with a complaint of excessive background activity during idle so I wrote a little tool to...
View ArticleIdle wakeups are evil
I have been spending some quality time with gdb tracking down timers firing during idle in Firefox, which turns out to be the main culprit for FF’s energy consumption. Wakeups are triggered either...
View ArticleMain-thread IO Analysis
<edit> The goal of this post is to show that main-thread IO matters and not to “shame” this or that add-on, or platform subsystem. There is only so much I can do alone by filing bugs and fixing...
View ArticleForecasting time series for fun
Predicting time series can be very interesting not only for quants. Any server that logs metrics like the number of submissions or requests over time generates a so called time series or signal. An...
View ArticleUsing Telemetry to recommend Add-ons for Firefox
This post is about the beauty of a simple mathematical theorem and its applications in logic, machine learning and signal processing: Bayes’ theorem. During the way we will develop a simple recommender...
View ArticleMost popular GPUs on Nightly and Release
We have a long-standing bug about Firefox not scrolling smoothly with Intel GPUs. It turns out that recently, thanks to a driver update, the performance has drastically improved for some of our users....
View ArticleRegression detection for Telemetry histograms.
tldr: An automatic regression detector system for Telemetry data has been deployed; the detected regressions can be seen in the dashboard. Mozilla is collecting over 1,000 Telemetry probes which give...
View ArticleDasbhoard generator for custom Telemetry jobs
tldr: Next time you are in need of a dashboard similar to the one used to monitor main-thread IO, please consider using my dashboard generator which takes care of displaying periodically generated...
View ArticleTelemetry meets Clojure.
tldr: Data related telemetry alerts (e.g. histograms or main-thread IO) are now aggregated by medusa, which allows devs to post, view and filter alerts. The dashboard allows to subscribe to search...
View ArticleUsing ML to correlate add-ons to performance bottlenecks
I started looking into exploiting our Telemetry data to determine which add-ons are causing performance issues with Firefox. So far there are three metrics that I plan to correlate with add-ons:...
View ArticleCorrelating Firefox add-ons to slow shutdown times
This is a follow-up to my earlier findings about add-ons and startup times. In this post I am going to dig deeper between the relations of add-ons and shutdown times. A slow shutdown doesn’t seem to be...
View ArticlePopular hw/sw configurations of Firefox users
Knowing the distribution of our users wrt. cpu/gpu/os etc. is one of those question that comes up time and time again. After a couple of times of running a custom map-reduce job on our Telemetry data I...
View ArticleRecommending Firefox add-ons with Spark
We are currently evaluating possible replacements for our Telemetry map-reduce infrastructure. As our current data munging machinery isn’t distributed, analyzing days worth of data can be quite a pain....
View ArticleClustering Firefox hangs
Jim Chen recently implemented a system to collect stacktraces of threads running some code for more than 500ms. A summary of the aggregated data is displayed in a nice dashboard in which the top N...
View ArticleA Telemetry API for Spark
Check out my previous post about Spark and Telemetry data if you want to find out what all the fuzz is about Spark. This post is a step by step guide on how to run a Spark job on AWS and use our simple...
View ArticleClientID in Telemetry submissions
A new functionality landed recently that allows to group Telemetry sessions by profile ID. Being able to group sessions by profile turns out be extremely useful for several reasons. For instance, as...
View ArticleA/B test for Telemetry histograms
A/B tests are a simple way to determine the effect caused by a change in a software product against a baseline, i.e. version A against version B. An A/B test is essentially an experiment that...
View ArticleNext-gen Data Analysis Framework for Telemetry
The easier it is to get answers, the more questions will be asked In that spirit me and Mark Reid have been working for a while now on a new analysis infrastracture to make it as easy as possible for...
View Article