-
Notifications
You must be signed in to change notification settings - Fork 473
Closes #5371 - Introduce 'sync' ping, add 'syncUuid' to all sync-related pings #5386
Conversation
Codecov Report
@@ Coverage Diff @@
## master #5386 +/- ##
============================================
+ Coverage 77.74% 77.77% +0.02%
+ Complexity 4623 4416 -207
============================================
Files 614 556 -58
Lines 22624 21082 -1542
Branches 3328 3062 -266
============================================
- Hits 17589 16396 -1193
+ Misses 3678 3417 -261
+ Partials 1357 1269 -88
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks terrific and exactly what I was thinking, thanks so much @grigoryk! The only thing that looks off is the early return in processSyncTelemetry
, everything else is great! 🚀
...port/sync-telemetry/src/main/java/mozilla/components/support/sync/telemetry/SyncTelemetry.kt
Outdated
Show resolved
Hide resolved
.../sync-telemetry/src/test/java/mozilla/components/support/sync/telemetry/SyncTelemetryTest.kt
Show resolved
Hide resolved
73e17cd
to
f465730
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good overall, I'd recommend going with what @linacambridge suggests and, if possible, adding test coverage.
...port/sync-telemetry/src/main/java/mozilla/components/support/sync/telemetry/SyncTelemetry.kt
Outdated
Show resolved
Hide resolved
592cf7a
to
5542721
Compare
@Dexterp37 @linacambridge finally got around to finishing this - addressed your feedback and added tests. Tests ended up being a little tricky to write, but not insurmountable. |
CI is failing because bintray seems to be having a bad day: |
Request for data collection review formAll questions are mandatory. You must receive review from a data steward peer on your responses to these questions before shipping new data collection.
About sync telemetry overall: About this change:
Sync is one of the core features of our products; we need to know that the implementations of it that we're shipping are healthy.
If we want to fully understand health of the sync implementation we're currently shipping, there really isn't an alternative to this approach. It maps directly to how sync operates. Any alternative that's sufficiently different wouldn't map as directly to the actual implementation (i.e., wouldn't reflect reality as well).
I want to permanently monitor this data. Grisha Kruglov +
All populations for all products which ship relevant a-c components.
Standard Glean SDK mechanism.
Redash/GLAM (when available) dashboards.
Internally within sync, application-services, android-components and fenix teams.
No. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me from a telemetry point of view. I left a few comments below for things that are still recommended to be changed. Let me know if anything is unclear.
...port/sync-telemetry/src/main/java/mozilla/components/support/sync/telemetry/SyncTelemetry.kt
Outdated
Show resolved
Hide resolved
...port/sync-telemetry/src/main/java/mozilla/components/support/sync/telemetry/SyncTelemetry.kt
Outdated
Show resolved
Hide resolved
...port/sync-telemetry/src/main/java/mozilla/components/support/sync/telemetry/SyncTelemetry.kt
Outdated
Show resolved
Hide resolved
...port/sync-telemetry/src/main/java/mozilla/components/support/sync/telemetry/SyncTelemetry.kt
Outdated
Show resolved
Hide resolved
...port/sync-telemetry/src/main/java/mozilla/components/support/sync/telemetry/SyncTelemetry.kt
Outdated
Show resolved
Hide resolved
@grigoryk could you be just a little more specific in the review request form, "How Sync implementations are behaving in the wild." is pretty vague. I think there are good explanations sprinkled across the original issue, and in docs, but this form is meant to be a single place to look quickly and understand what this data collection is doing. |
5542721
to
8e0e6a3
Compare
@Dexterp37 thanks for feedback, addressed your comments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ from a-c side so it can land once other reviews come in :).
@boek has a data review in flight, I was just doing some drive-by commenting :P |
notification_emails: | ||
- sync-core@mozilla.com | ||
data_reviews: | ||
- TODO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a reminder to update the link to the data review response after you have one. Here and in the other yaml files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, waiting for that, hence a TODO
:)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Data Review Form (to be filled by Data Stewards)
-
Is there or will there be documentation that describes the schema for the ultimate data set in a public, complete, and accurate way?
Yes, metrics.yaml and metrics.md -
Is there a control mechanism that allows the user to turn the data collection on and off?
Yes, using the Glean SDK API -
If the request is for permanent data collection, is there someone who will monitor the data over time?
Up to the client. -
Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?
Cat 1 -
Is the data collection request for default-on or default-off?
Up to the client. -
Does the instrumentation include the addition of any new identifiers (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?
A new GUID used to group the separate pings all related to sync data -
Is the data collection covered by the existing Firefox privacy notice?
Yes -
Does there need to be a check-in in the future to determine whether to renew the data?
Up to the client. -
Does the data collection use a third-party collection tool?
no
… all sync-related pings This patch introduce an 'overarching' sync ping, which is meant to contain information describing a sync overall, vs individual engine runs. Currently it contains global sync errors. syncUuid was also added to all sync-related pings, allowing us to tie together in an analysis all pings that were emitted as part of a single "sync".
8e0e6a3
to
879b8e3
Compare
bors r=csadilek,Dexterp37,boek |
Build succeeded |
This patch introduce an 'overarching' sync ping, which is meant to contain information
describing a sync overall, vs individual engine runs. Currently it contains global sync
errors.
syncUuid was also added to all sync-related pings, allowing us to tie together in an
analysis all pings that were emitted as part of a single "sync".
Pull Request checklist
After merge