Connected Devices/Projects/Metrics/Sprint 1
- Participants: Tamara, Russ, Dylan, Michael, Dominik, Maria
- Links of interest:
- 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
|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
- Detailed tracking day by day in our Standby etherpad
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
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)