Connected Devices/Projects/Metrics/Sprint 1

From MozillaWiki
Jump to: navigation, search

General info

  • Participants: Tamara, Russ, Dylan, Michael, Dominik, Maria

Sprint objectives

  • The first sprint will focus on transmitting a sample crash ping. We created an additional backlog list for the Crash Ping epic in Trello and took as much of that into the first sprint as we could. Some of the prototype tasks for sending crash ping are:
    • API so we don’t block the main thread
    • Http hyper library
    • Investigate getting os/platform info
    • JSON serialization - what is the best library here?
    • Add the skeleton to github so we can share
    • Figure out how to handle retries?
    • Write some unit tests.
    • Add the flate library to the crate
    • Gzip the payload
    • Send it to server and verify that it’s received


Tasks or Bugs committed for this sprint

Task Assigned Status Status Notes
Create a thread inside a public API so we don’t block the main thread Russ Done
Add the skeleton to github Tamara Done GitHub Repo for metrics controller: https://github.com/tamarahills/metrics_controller
JSON serialization Tamara Done First decision was using rustc-serialize but actually serde was decided to be used instead. This is where the standard is going, it's supposed to be more efficient and have more features. Additionally, Tamara was able to serialize our complex nested structures with this vs. rustc_serialize. Merged with issue#2
Team calendar and irc channel created for the team Maria Done CD Metrics team and cd_metrics irc channel created and added all this info in the wiki
HTTP hyper library (Crash Ping) Tamara Done Landed in issue#1 and verified that the payload is reaching the server correctly.
Send Crash Ping to server and verify that it’s received Tamara Done
Review Firefox telemetry / crash pings to see if we could adapt for use in CD Tamara Done Created a draft ping: https://docs.google.com/document/d/1Mak6dpmmvAxhnbms34zCELSb_46s0-iaTQuCpkr8i34/edit
RN: POC for gzip rust implementation (for Crash Ping) Russ Done Best option for a rust gzip seems to be this lib: https://github.com/alexcrichton/flate2-rs (Added to Controller repo)
Gzip the payload (for Crash Ping) Russ Done Once we had a crash ping payload, we have to use the gzip functionality to gzip compress the crash ping payload.
Background reading on existing Telemetry and Metrics tools at Mozilla Michael Done
Create/improve documentation for the CD metric meetings Maria Done
Complete the CD metrics wiki with Program Status, Projects Deliverables and Milestones Maria Not finished Not finished, Moved to sprint 2
Investigate getting os/platform info from within rust (for Crash Ping) Michael Done FillZpp module, checked also that it works when used in a java environment calling the public functions from FillZpp.
Figure out how to handle retries Tamara Done Merged in controller library [|PR #12]
Unit test controller retry logic Russ Not finished Create a mock object to unit test the retry logic. That is, mock sending the data to the server and be able to dictate whether the send succeeds or fails after a certain number of attempts. Not finished, moved to Sprint 2

Issues during this sprint

Demos

Tamara showed us in the console how she's sending the crash ping to the Telemetry server and how it's been received although we still need to figure out the validation problems. That will be part of the work planned in Sprint 2

Retrospective

Actions taken from last sprint

None, Sprint 1 is our first sprint

Things that went well

  • Team is enthusiastic / works well together, generally good vibe (+1)
  • Russ working directly with Michael (1:1 in the office) worked well
  • Trello board and tasks breaking down, really helpful to track the progress
  • Meetings: standup, it helps the team to be on the task
  • The #rust channel was a savior twice I think!

Things that went not that well

  • Took more time than I wanted to get the local pipeline running.
  • Took more time than I wanted to get the code for the retry mechanism working.
  • Dominik’s role, we’ll miss him (+1)
  • We should all fill out this retro before this meeting as it’s awkward to do it now :) (you are right!!)

Actions for this sprint

  • [AP Maria] Check with Peter the date/content for the Metrics presentation in the Product Management meetup (date April 18th to be confirmed)
  • [AP Maria/Dylan] we need to figure out who will be in charge of the Data Store staff, check with Marshal/Bertrand.
  • [AP Maria] send a reminder to fill in the Retrospective on Friday before the Sprint Planning
  • 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
  • [AP Maria] Transfer Dominik’s weekly meeting googledoc ownership
  • [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
  • [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)