{"id":243,"date":"2020-10-06T15:00:21","date_gmt":"2020-10-06T15:00:21","guid":{"rendered":"https:\/\/blog.mozilla.org\/data\/?p=243"},"modified":"2020-10-06T15:00:21","modified_gmt":"2020-10-06T15:00:21","slug":"this-week-in-glean-fog-progress-report","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/data\/2020\/10\/06\/this-week-in-glean-fog-progress-report\/","title":{"rendered":"This Week in Glean: FOG Progress report"},"content":{"rendered":"<p>(\u201cThis Week in Glean\u201d is a series of blog posts that the Glean Team at Mozilla is using to try to communicate better about our work. They could be release notes, documentation, hopes, dreams, or whatever: so long as it is inspired by Glean.)<\/p>\n<p>All \u201cThis Week in Glean\u201d blog posts are listed in the <a href=\"https:\/\/mozilla.github.io\/glean\/book\/appendix\/twig.html\">TWiG index<\/a> (and on the <a href=\"https:\/\/blog.mozilla.org\/data\/category\/glean\/\">Mozilla Data blog<\/a>).<\/p>\n<hr \/>\n<p>About a year ago chutten started the \u201cThis Week in Glean\u201d series with an initial <a href=\"https:\/\/chuttenblog.wordpress.com\/2019\/10\/17\/this-week-in-glean-glean-on-desktop-project-fog\/\">blog post about Glean on Desktop<\/a>. Back then we were just getting started to bring Glean to Firefox Desktop. No code had been written for Firefox Desktop, no proposals had been written to discuss how we even do it.<\/p>\n<p>Now, 12 months later, after four completed milestones, a dozen or so proposal and quite a bit of code, the Project Firefox on Glean (FOG) is finally getting into a stage where we can actually use and test it. It\u2019s not ready for prime time yet, but FOG is enabled in Firefox Nightly already.<\/p>\n<p>Over the past 4 weeks I\u2019ve been on and off working on building out our support for a C++ and a JavaScript API. Soon Firefox engineers will be able to instrument their code using Glean. In C++ this will look like:<\/p>\n<div class=\"sourceCode\" id=\"cb1\">\n<pre class=\"sourceCode cpp\"><code class=\"sourceCode cpp\"><span id=\"cb1-1\"><a href=\"#cb1-1\" aria-hidden=\"true\"><\/a>mozilla::glean::test_only::count_something.Add(<span class=\"dv\">42<\/span>);<\/span><\/code><\/pre>\n<\/div>\n<p>JavaScript developers will use it like this:<\/p>\n<div class=\"sourceCode\" id=\"cb2\">\n<pre class=\"sourceCode javascript\"><code class=\"sourceCode javascript\"><span id=\"cb2-1\"><a href=\"#cb2-1\" aria-hidden=\"true\"><\/a>Glean<span class=\"op\">.<\/span><span class=\"at\">test_only<\/span><span class=\"op\">.<\/span><span class=\"at\">count_something<\/span><span class=\"op\">.<\/span><span class=\"fu\">add<\/span>(<span class=\"dv\">32<\/span>)<span class=\"op\">;<\/span><\/span><\/code><\/pre>\n<\/div>\n<p>My work is done in <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1646165\">bug 1646165<\/a>. It\u2019s still under review and needs some fine-tuning before that, but I hope to land it by next week. We will then gather some data from Nightly and validate that it works as expected (<a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1651110\">bug 1651110<\/a>), before we let it ride the trains to land in stable (<a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1651111\">bug 1651111<\/a>).<\/p>\n<p>Our work won\u2019t end there. With my initial API work landing we can start supporting all metric types, we still need to figure out some details of how FOG will handle IPC, and then there\u2019s the whole process of convincing other people to use the new system.<\/p>\n<p>2020 will be the year of Glean on the Desktop.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(\u201cThis Week in Glean\u201d is a series of blog posts that the Glean Team at Mozilla is using to try to communicate better about our work. They could be release &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/data\/2020\/10\/06\/this-week-in-glean-fog-progress-report\/\">Read more<\/a><\/p>\n","protected":false},"author":1756,"featured_media":197,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[448297],"tags":[],"coauthors":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/posts\/243"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/users\/1756"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/comments?post=243"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/posts\/243\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/media\/197"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/media?parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/categories?post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/tags?post=243"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/coauthors?post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}