Connected Devices/Projects/Metrics/Sprint 2

From MozillaWiki
Jump to: navigation, search

General info

  • Participants: Tamara, Russ, Dylan, Michael, Maria
  • Sprint dates: from March 28th to April 8th
  • Links of interest:

Sprint objectives

  • The second sprint will focus on finishing “Crash Ping sending” tasks started in Sprint 1 and starting the work in the Histograms library.
  • Designing and implementing the Histograms library is the bigger and more complex piece inside the CD metrics framework. It will require a high level design first so later we can decide what components to maintain or not and after that the work can be broken down in smaller tasks. Some of the tasks already identified are:
    • Create the worker thread as part of the StartMetrics functionality. Getting the timer going to handle both the periodic persistence and the periodic transmissions.
    • Including yoric library files in m_c library and trying to get it compiling so we can use the pieces for creating histograms and updating them.
    • Create a config file (e.g. config file for where to write to disk, how often to send, log parameters, etc.)
    • Identify a logging mechanism. We should look at the “log” crate (used by foxbox).

Tasks or Bugs committed for this sprint

Task Assigned Status Status Notes
Fix validation problems on crash ping server (Crash Ping) Tamara Done Fixed. The data was in the server the whole time. There was a validation point in the analysis code on the server that required to add a source parameter in the query. After adding that to the query, Data can be seen. No code change was required.
Unit test controller retry logic (Crash Ping) Russ Done Merged in metrics controller library (Issue #18)
Complete the CD metrics wiki with Program Status, Projects Deliverables and Milestones Maria Done Finished but we should set more milestones or at least set the main ones relative to Q2 period
Metrics Presentation for Product Mgt team on April 18th Maria On hold or not started Moved to the Backlog as Product Management meetup has been delayed.
Use sys-info lib to get os/platform info Michael Done
Histograms: high-level system design Tamara Done Histograms High level System Design
Create the worker thread as part of the StartMetrics functionality (Histograms) Tamara Done Getting the timer going to handle both the periodic persistence and the periodic transmissions. Done in PR #30
Create a config file (e.g. config file for where to write to disk, how often to send, log parameters, etc.) Tamara Done After some discussion, we decided on the following: This is the config file that reads all the json from metricsconfig.json. We can initially use an environment variable to locate this file or a path can be passed in. Done in PR #30.
Identify a logging mechanism (Histograms) Russ Done Added in PR #20 and PR #21. The 'log' crate essentially specifies an interface for logging. It is not a standalone solution. Foxlink uses 'env_logger' in conjunction with 'log'. We should also use 'env_logger'
Requirements for Dashboarding and Analysis Tamara Done Included in this document
Figure out how to do timers in Rust Tamara Done
Handle storage of last send time in a file. Not started Moved to General Backlog
Create HTML documentation for send_crash_ping API Russ Done Documentation hosted here

Issues during this sprint

Demos

Retrospective

Actions taken from last sprint

  • [AP Maria] Check with Peter the date/content for the Metrics presentation in the Product Management meetup Done, but final date not decided yet
  • [AP Maria/Dylan] we need to figure out who will be in charge of the Data Store staff, check with Marshal/Bertrand. moved to Sprint 3 backlog
  • [AP Maria] send a reminder to fill in the Retrospective on Friday before the Sprint Planning Done
  • Want to talk about duplication of trello board vs. Github issues.
    • Github issues are more related to code actions, so it's not necessary adding all of them in the Trello board
  • [AP Maria/Dylan] Need to better understand how we’re plugging the PM gap, to figure out roles there. Done
  • [AP Maria] Transfer Dominik’s weekly meeting googledoc ownership Done
  • [AP Dylan] Identify tasks that we’ll need help from Mark’s team, see if we can get some of their time allocated in Q2. Started, but not finished, moved to Sprint 3 backlog.
  • [AP team] We, as a team, we could align at high level the Q2 objectives of our team. We'll talk about it in the following standup meeting (tomorrow, March 29th) Done Wiki updated with that info
  • [AP Maria] Speak with TV team about adapting to common ping format. Done

Things that went well

  • We finished everything… and then some!
  • We are all getting better at Rust. (+2)
  • Using Github’s issue tracker allowed for easy reviews and bug fixes
  • Michael landed first patch!
  • Two consecutive sprints completing all tasks -- this is not a thing that happens


Things that went not that well

  • I believe my patch was too big (Tamara about the worker thread). I should have broken it down into three separate tasks (e.g. create the config module and create the worker, create the timer)
    • I had a feeling Tamara was taking too large of a task but didn’t bring it up. I should have mentioned it.
  • I believe we need more design prep for the sprint planning to get a better breakdown so that all we have to do is assign in the sprint planning meeting. I tried to spend more time on it after finishing my tasks.

Actions for this sprint

  • We should breaking down the tasks before sprint planning. It could be before SP or doing it during SP meeting. We could try to do it during next sprint.