-
Notifications
You must be signed in to change notification settings - Fork 1.3k
For #8803: add frameworkStart telemetry #9788
For #8803: add frameworkStart telemetry #9788
Conversation
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.
No.
Note that the data steward reviewing your request will characterize your data collection based on the highest (and most sensitive) category.
All.
Standard telemetry opt-out.
Internally.
No. |
91a193b
to
ec574f9
Compare
ec574f9
to
5d20d5a
Compare
Codecov Report
@@ Coverage Diff @@
## master #9788 +/- ##
============================================
+ Coverage 19.17% 19.31% +0.14%
- Complexity 521 536 +15
============================================
Files 336 339 +3
Lines 13729 13701 -28
Branches 1842 1830 -12
============================================
+ Hits 2632 2647 +15
+ Misses 10857 10816 -41
+ Partials 240 238 -2
Continue to review full report at Codecov.
|
I can tell you that time! (sorry, had to make the joke) |
app/metrics.yaml
Outdated
bugs: | ||
- https://github.com/mozilla-mobile/fenix/issues/8803 | ||
data_reviews: | ||
- https://github.com/mozilla-mobile/fenix/pull/9788#issuecomment-610648980 |
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.
Note that you need to link to the answers of the data-review by the data stewards.
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.
I'll apply these changes after data review. :)
app/metrics.yaml
Outdated
bugs: | ||
- https://github.com/mozilla-mobile/fenix/issues/8803 | ||
data_reviews: | ||
- https://github.com/mozilla-mobile/fenix/pull/9788#issuecomment-610648980 |
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.
Same here
app/metrics.yaml
Outdated
bugs: | ||
- https://github.com/mozilla-mobile/fenix/issues/8803 | ||
data_reviews: | ||
- https://github.com/mozilla-mobile/fenix/pull/9788#issuecomment-610648980 |
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.
And here.
app/pings.yaml
Outdated
bugs: | ||
- https://github.com/mozilla-mobile/fenix/issues/8803 | ||
data_reviews: | ||
- https://github.com/mozilla-mobile/fenix/pull/9788#issuecomment-610648980 |
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.
And here :)
app/src/main/java/org/mozilla/fenix/perf/StartupFrameworkStartMeasurement.kt
Outdated
Show resolved
Hide resolved
5d20d5a
to
a7aaf76
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.
r+ With the data-review request fields fixed :)
protected fun recordOnInit() { | ||
// This gets called by more than one process. Ideally we'd only run this in the main process | ||
// but the code to check which process we're in crashes because the Context isn't valid yet. | ||
StartupTimeline.onApplicationInit() |
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.
nit: The comment in init
is warning that nothing should happen before this. However recordOnInit()
looks fairly harmless and I wonder if it could happen that someone adds something in front of it inside this method. Is there any reason we can't inline the call to StartupTimeline
?
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.
Good point. I wanted to:
- avoid duplicating the comment, "this gets called by more than one process..."
- (I care about this less) make it easy for additional
Application
classes to call this method, if necessary
@pocmo Is MigratingFenixApplication
going away soon (merged into FenixApplication
)? If so, I'll inline with duplicated comment. If not, I'll add a comment to this method not to add anything above that line.
app/src/main/java/org/mozilla/fenix/perf/StartupFrameworkStartMeasurement.kt
Show resolved
Hide resolved
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.
The math checks out, so does the calculation method. I think using this for Telemetry is the best way we can go about gathering data about the Dex size since we can't control every users environment to be able to track the app creation.
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+
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 gets generated into metrics.md
- Is there a control mechanism that allows the user to turn the data collection on and off?
Yes, controlled by Fenix telemetry controls in settings
- If the request is for permanent data collection, is there someone who will monitor the data over time?
6mo
- Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?
Type 1, technical data collected about startup time and errors.
- Is the data collection request for default-on or default-off?
Default on
- 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)?
No
- 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? (Yes/No) (If yes, set a todo reminder or file a bug if appropriate)**
Has 6mo expiry
- Does the data collection use a third-party collection tool? If yes, escalate to legal.
No
This is the failure:
I'll rebase and see if it goes away. |
We need to access the data in stat to get the process start time, so we can calculate the time from process start until application.init for the frameworkStart probe.
This class controls the central logic around the metrics we want to record.
We primarily want to determine if this is a problem area for us to investigate rather than a long term measurement to keep so we should set the expiration date accordingly. Furthermore, this code executes before crash reporting is init so it's ideal to remove it sooner rather than later.
…t capture methods.
15cb5b1
to
b51198c
Compare
This is intended to measure the "dex" time before we can execute code. This builds upon my learning of how we want to capture telemetry metrics in #9153.
@Dexterp37 Please review this from a Glean perspective.
@boek or @liuche Please review as a data steward.
@MarcLeclair Please review as the primary code reviewer!
Reviews requests:
Pull Request checklist
After merge
To download an APK when reviewing a PR: