Firefox/Push/Progress Report/2017Q3: Difference between revisions

(Updated with Sept 13 confidence levels)
(Entered scores and comment updates for all objectives.)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
<big><big>'''September 13, 2017'''</big></big>
<big><big>'''September 27, 2017'''</big></big>


== Q3 OKR Progress ==
== Q3 OKR Progress ==
Line 9: Line 9:
|rowspan=2; style="text-align: center; background-color: #f9d9a8"| '''Objective'''
|rowspan=2; style="text-align: center; background-color: #f9d9a8"| '''Objective'''
|rowspan=2; style="text-align: center; background-color: #f9d9a8"| '''Key Result'''
|rowspan=2; style="text-align: center; background-color: #f9d9a8"| '''Key Result'''
|colspan=7; style="text-align: center; background-color: #f9d9a8"| '''Confidence'''
|colspan=6; style="text-align: center; background-color: #f9d9a8"| '''Confidence'''
|rowspan=2; style="text-align: center; background-color: #f9d9a8"| '''Features'''
|rowspan=2; style="text-align: center; background-color: #f9d9a8"| '''Features'''
|rowspan=2; style="text-align: center; background-color: #f9d9a8"| '''Notes'''
|rowspan=2; style="text-align: center; background-color: #f9d9a8"| '''Notes'''
Line 18: Line 18:
|style="text-align: center; background-color: #f9d9a8"|Aug 30
|style="text-align: center; background-color: #f9d9a8"|Aug 30
|style="text-align: center; background-color: #f9d9a8"|Sep 13
|style="text-align: center; background-color: #f9d9a8"|Sep 13
|style="text-align: center; background-color: #f9d9a8"|Sep 27
|style="text-align: center; background-color: #f9d9a8"|Score
|style="text-align: center; background-color: #f9d9a8"|Score
|-
|-
Line 28: Line 27:
|align="center"|50%
|align="center"|50%
|align="center"|20%
|align="center"|20%
|align="center"|
|align="center"|0.0
|align="center"|
|align="left"|
|align="left"|
API Layer for Ardere
API Layer for Ardere
*[https://github.com/mozilla-services/push-okr/issues/39 Issue 39: Create an API Layer for Ardere]
*[https://github.com/mozilla-services/push-okr/issues/39 Issue 39: Create an API Layer for Ardere]
|
|
*No progress yet this quarter with only a couple weeks to go, busy with other higher priority things (us and QA still get by w/ ardere sans API layer).  
*Priority went to other OKR’s as Ardere is functioning acceptably for QA and our own uses at the moment.  
*Can we crank anything out in a couple weeks?
|-
|-
|align="left"| 1.2 Create a "smoke-test" for the service, a quick test that verifies it’s up and running.
|align="left"| 1.2 Create a "smoke-test" for the service, a quick test that verifies it’s up and running.
Line 43: Line 40:
|align="center"|80%
|align="center"|80%
|align="center"|80%
|align="center"|80%
|align="center"|
|align="center"|0.5
|align="center"|
|
|
Smoketest to verify Push is up and running
Smoketest to verify Push is up and running
Line 50: Line 46:
*[https://github.com/mozilla-services/push-service/issues/73 Issue 73: Rebuild testing python script for webpush]
*[https://github.com/mozilla-services/push-service/issues/73 Issue 73: Rebuild testing python script for webpush]
|
|
*Work is effectively done but need to get feedback from chartjes before increasing confidence level.
*Getting a verification from QA today regarding whether or not this is addressing their needs.
*Met with chris hartjes in the afternoon and got approval.
|-
|-
|align="left"| 1.3 Github/Jenkins API call integration with Ardere
|align="left"| 1.3 Github/Jenkins API call integration with Ardere
Line 58: Line 55:
|align="center"|50%
|align="center"|50%
|align="center"|20%
|align="center"|20%
|align="center"|
|align="center"|0.0
|align="center"|
|align="left"|
|align="left"|
Github/Jenkins API call integration with Ardere
Github/Jenkins API call integration with Ardere
Line 73: Line 69:
|align="center"|70%
|align="center"|70%
|align="center"|80%
|align="center"|80%
|align="center"|
|align="center"|0.5
|align="center"|
|align="left"|
|align="left"|
Detailed heap memory consumption report
Detailed heap memory consumption report
Line 81: Line 76:
*[https://github.com/mozilla-services/autopush/issues/802 Issue 802: determine cause of memory leak on pypy (especially connection) nodes]
*[https://github.com/mozilla-services/autopush/issues/802 Issue 802: determine cause of memory leak on pypy (especially connection) nodes]
|
|
*Have a lot more detail of our usage patterns now from various load test runs under valgrind massif/leakcheck.
*Have detailed memory consumption. Getting the memory information we wanted.
*Need to further analyze results and push forward the easily reproducible parts.  
*Phil is preparing the report by the end of the week.
*Loftier goals of easily reproducible load test setups (ardere, debug symbols more easily available) not quite achieved (hence 0.5)
|-
|-
| align="left"|2.2 Code in PyPy that allows us to dump detailed object graphs of allocated Python objects.
| align="left"|2.2 Code in PyPy that allows us to dump detailed object graphs of allocated Python objects.
Line 93: Line 89:
|align="center"|52%
|align="center"|52%
|align="center"|60%
|align="center"|60%
|align="center"|
|align="center"|.299
|align="center"|
|align="left"|
|align="left"|
Detailed object graphs of allocated Python objects
Detailed object graphs of allocated Python objects
*[https://github.com/mozilla-services/push-okr/issues/43 Issue 43: PyPy object graph memory dumps]
*[https://github.com/mozilla-services/push-okr/issues/43 Issue 43: PyPy object graph memory dumps]
|
|
*Contract finalized, beginning to work with contractor now.
*Just now under progress because it took so long for contract to be finalized with the contractor.
*On the right track now, but will be a stretch to finish the objective before end of quarter.
*Maybe a 0.1 -- but scoring higher for all the effort of moving the contract forward.
|-
|-
| align="left"|2.3 Create a graph showing the delta for memory consumption over time on a per-release basis.
| align="left"|2.3 Create a graph showing the delta for memory consumption over time on a per-release basis.
Line 108: Line 103:
|align="center"|90%
|align="center"|90%
|align="center"|90%
|align="center"|90%
|align="center"|
|align="center"|0.5
|align="center"|
|align="left"|
|align="left"|
Memory Consumption Per Release Graph
Memory Consumption Per Release Graph
*[https://github.com/mozilla-services/push-okr/issues/44 Issue 44: Dashboard for memory use over time]
*[https://github.com/mozilla-services/push-okr/issues/44 Issue 44: Dashboard for memory use over time]
|
|
*Still on track. Need to set aside time to make the graph.
*Don’t have the detailed breakdown by version we had hoped for, but we do have a usable dashboard that shows us the information we want over time. (tool issue)
*Unfortunately this will be going away when we migrate off Datadog, so work will need to be done again to make the data available in QuickSight.
|-
|-
|rowspan=4|3. Reduce costs
|rowspan=4|3. Reduce costs
Line 123: Line 118:
|align="center"|90%
|align="center"|90%
|align="center"|100%
|align="center"|100%
|align="center"|
|align="center"|1.0
|align="center"|
|align="left"|
|align="left"|
Rust PoC Plan
Rust PoC Plan
Line 130: Line 124:
*[https://github.com/mozilla-services/autopush/issues/978 Issue 978 Create distilled threaded logic for websocket server for Rust PoC]
*[https://github.com/mozilla-services/autopush/issues/978 Issue 978 Create distilled threaded logic for websocket server for Rust PoC]
|
|
*Far enough that this is basically done now (100%).
*Full plan was made, implemented, and even load-tested both with and without SSL.
*It was awesome and came out as well as we’d hoped. \o/
*And kudos to Alex Crichton.
|-
|-
| align="left"|3.2 Spec a Rust <-> Python API of Rust PoC.
| align="left"|3.2 Spec a Rust <-> Python API of Rust PoC.
Line 138: Line 134:
|align="center"|100%
|align="center"|100%
|align="center"|100%
|align="center"|100%
|align="center"|
|align="center"|1.0
|align="center"|
|align="left"|
|align="left"|
Rust <-> Python API of Rust PoC
Rust <-> Python API of Rust PoC
*[https://github.com/mozilla-services/push-okr/issues/46 Issue 46: Spec a Rust <-> Python API of Rust PoC]
*[https://github.com/mozilla-services/push-okr/issues/46 Issue 46: Spec a Rust <-> Python API of Rust PoC]
|
|
*Done
*Done!
*Spec’d out, with preliminary implementation laid out for us by Alex Crichton.
|-
|-
| align="left"|3.3 Kill Simplepush.
| align="left"|3.3 Kill Simplepush.
Line 152: Line 148:
|align="center"|93%
|align="center"|93%
|align="center"|100%
|align="center"|100%
|align="center"|
|align="center"|1.0
|align="center"|
|align="left"|
|align="left"|
Retirement of Simplepush
Retirement of Simplepush
Line 160: Line 155:
*[https://github.com/mozilla-services/autopush/issues/886 Issue 886: Obsolete UDP functions from autopush]
*[https://github.com/mozilla-services/autopush/issues/886 Issue 886: Obsolete UDP functions from autopush]
|
|
*Rolled it out this past week and have heard no complaints.
*Deployed to production and no issues reported.
|-
|-
| align="left"|3.4 Relax VAPID checks for partner endpoints.
| align="left"|3.4 Relax VAPID checks for partner endpoints.
Line 168: Line 163:
|align="center"|100%
|align="center"|100%
|align="center"|100%
|align="center"|100%
|align="center"|
|align="center"|0.7
|align="center"|
|align="left"|
|align="left"|
Relaxing of VAPID checks for partner endpoints.
Relaxing of VAPID checks for partner endpoints.
Line 175: Line 169:
*[https://github.com/mozilla-services/autopush/issues/938 Issue 938: Don't check Vapid sig value for partner endpoint users]
*[https://github.com/mozilla-services/autopush/issues/938 Issue 938: Don't check Vapid sig value for partner endpoint users]
|
|
*Done
*Done!
*Went exactly as expected.
|-
|-
|}
|}

Latest revision as of 02:23, 30 September 2017

September 27, 2017

Q3 OKR Progress

Objective Key Result Confidence Features Notes
July 19 Aug 2 Aug 16 Aug 30 Sep 13 Score
1. Provide a more useful testing environment for WebPush. 1.1 Create an API Layer for Ardere. 50% 50% 50% 50% 20% 0.0

API Layer for Ardere

  • Priority went to other OKR’s as Ardere is functioning acceptably for QA and our own uses at the moment.
1.2 Create a "smoke-test" for the service, a quick test that verifies it’s up and running. 50% 50% 80% 80% 80% 0.5

Smoketest to verify Push is up and running

  • Getting a verification from QA today regarding whether or not this is addressing their needs.
  • Met with chris hartjes in the afternoon and got approval.
1.3 Github/Jenkins API call integration with Ardere 50% 50% 50% 50% 20% 0.0

Github/Jenkins API call integration with Ardere

  • Dependent upon 1.1
2. Better understanding of production run environment 2.1 Detailed heap memory consumption report as the OS sees memory under load. 60% 65% 70% 70% 80% 0.5

Detailed heap memory consumption report

  • Have detailed memory consumption. Getting the memory information we wanted.
  • Phil is preparing the report by the end of the week.
  • Loftier goals of easily reproducible load test setups (ardere, debug symbols more easily available) not quite achieved (hence 0.5)
2.2 Code in PyPy that allows us to dump detailed object graphs of allocated Python objects.

Note: Contractor is expected to help with this work. This involves a breakdown of what PyPy is doing.

50% 50% 52% 52% 60% .299

Detailed object graphs of allocated Python objects

  • Just now under progress because it took so long for contract to be finalized with the contractor.
  • Maybe a 0.1 -- but scoring higher for all the effort of moving the contract forward.
2.3 Create a graph showing the delta for memory consumption over time on a per-release basis. 80% 90% 90% 90% 90% 0.5

Memory Consumption Per Release Graph

  • Don’t have the detailed breakdown by version we had hoped for, but we do have a usable dashboard that shows us the information we want over time. (tool issue)
  • Unfortunately this will be going away when we migrate off Datadog, so work will need to be done again to make the data available in QuickSight.
3. Reduce costs 3.1 Create and implement a Rust PoC plan. 80% 80% 90% 90% 100% 1.0

Rust PoC Plan

  • Full plan was made, implemented, and even load-tested both with and without SSL.
  • It was awesome and came out as well as we’d hoped. \o/
  • And kudos to Alex Crichton.
3.2 Spec a Rust <-> Python API of Rust PoC. 80% 100% 100% 100% 100% 1.0

Rust <-> Python API of Rust PoC

  • Done!
  • Spec’d out, with preliminary implementation laid out for us by Alex Crichton.
3.3 Kill Simplepush. 60% 90% 90% 93% 100% 1.0

Retirement of Simplepush

  • Deployed to production and no issues reported.
3.4 Relax VAPID checks for partner endpoints. 60% 100% 100% 100% 100% 0.7

Relaxing of VAPID checks for partner endpoints.

  • Done!
  • Went exactly as expected.