Closed
Bug 1152507
Opened 10 years ago
Closed 10 years ago
Autophone - improve detection of initial gecko start time.
Categories
(Testing Graveyard :: Autophone, defect)
Tracking
(firefox40 affected)
RESOLVED
FIXED
| Tracking | Status | |
|---|---|---|
| firefox40 | --- | affected |
People
(Reporter: bc, Assigned: bc)
Details
Attachments
(2 files)
Currently the performance related autophone tests use the first gecko related message to determine the initial time to use to convert the absolute times for throbber start and stop to times relative to the start of fennec. This was done because I erroneously thought the ActivityManager logcat message showing the intent to start the app wasn't always available.
It isn't always available but it does appear to be available on all of the versions of Android running on my Nexus devices (2.3, 4.2, 4.3, 4.4). The only device where it does not appear is on my Samsung Galaxy S3 with Android 4.0. I don't know if this is specific to the gs3 or Android 4.0.
Autophone should use the ActivityManager message if it is available and only fall back to the first Gecko message if the ActivityManager message is not available.
I've attached the relevant parts of the logcat output for my nexus devices:
for Fennec on Android 2.3, the sequence is:
Starting: Intent { act=android.intent.action.VIEW dat=... flg=0x10000000 cmp=org.mozilla.fennec/.App (has extras) } from pid ...
Start proc org.mozilla.fennec for activity org.mozilla.fennec/.App: pid=... uid=... gids={...}
for Fennec on Android 4.2+
START u0 {act=android.intent.action.VIEW dat=... flg=0x10000000 cmp=org.mozilla.fennec/.App (has extras)} from pid ...
Start proc org.mozilla.fennec for activity org.mozilla.fennec/.App: pid=... uid=... gids={...}
Question: Which is appropriate? The initial Starting|START intent or the subsequent Start proc? There is a potentially significant delay between the two messages. Often there are dalvikvm related messages relating to GC and the heap between the two. The second is more consistent across Android versions and appears to omit dalvikvm related operations which we may not care about.
for Webapp on Android 2.3, the sequence is:
Starting: Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.firefox.cli.apk.webappstartupperformancetestbclary.pc91282b8e6a542101851c47a670b9c8c/org.mozilla.android.synthapk.LauncherActivity (has extras) } from pid ...
Start proc com.firefox.cli.apk.webappstartupperformancetestbclary.pc91282b8e6a542101851c47a670b9c8c for activity com.firefox.cli.apk.webappstartupperformancetestbclary.pc91282b8e6a542101851c47a670b9c8c/org.mozilla.android.synthapk.LauncherActivity: pid=... uid=... gids={}
Starting: Intent { act=android.intent.action.VIEW cat=[android.intent.category.DEFAULT] typ=application/webapp cmp=org.mozilla.fennec/org.mozilla.gecko.webapp.Dispatcher (has extras) } from pid ...
Start proc org.mozilla.fennec for activity org.mozilla.fennec/org.mozilla.gecko.webapp.Dispatcher: pid=... uid=... gids={...}
For webapp on Android 4.2+, the sequence is:
START u0 {act=android.intent.action.MAIN flg=0x10000000 cmp=com.firefox.cli.apk.webappstartupperformancetestbclary.pc91282b8e6a542101851c47a670b9c8c/org.mozilla.android.synthapk.LauncherActivity (has extras)} from pid ...
Start proc com.firefox.cli.apk.webappstartupperformancetestbclary.pc91282b8e6a542101851c47a670b9c8c for activity com.firefox.cli.apk.webappstartupperformancetestbclary.pc91282b8e6a542101851c47a670b9c8c/org.mozilla.android.synthapk.LauncherActivity: pid=12462 uid=... gids={...}
START u0 {act=android.intent.action.VIEW cat=[android.intent.category.DEFAULT] typ=application/webapp cmp=org.mozilla.fennec/org.mozilla.gecko.webapp.Dispatcher (has extras)} from pid ...
Start proc org.mozilla.fennec for activity org.mozilla.fennec/org.mozilla.gecko.webapp.Dispatcher: pid=... uid=... gids={...}
START u0 {act=android.intent.action.VIEW cat=[android.intent.category.DEFAULT] typ=application/webapp cmp=org.mozilla.fennec/org.mozilla.gecko.webapp.Webapps$Webapp0 (has extras)} from pid ...
Start proc org.mozilla.fennec:org.mozilla.fennec.Webapp0 for activity org.mozilla.fennec/org.mozilla.gecko.webapp.Webapps$Webapp0: pid= uid=... gids={...}
Question: Again we have the question whether to use the initial Starting|START intent or the subsequent Start proc, but in addition which activity should we use? LauncherActivity, Dispatcher, or Webapps$Webapp0 ?
| Assignee | ||
Comment 1•10 years ago
|
||
NIing mfinkle and blassey in addition to snorp since he is on PTO.
Flags: needinfo?(snorp)
Flags: needinfo?(mark.finkle)
Flags: needinfo?(blassey.bugs)
Comment 2•10 years ago
|
||
I would keep it simple and consistent, while trying to get a better start marker. For me, that means using "Start proc ...", for both, and using the earliest "Start proc ..." for webapps. That should be the one used to launch the wrapper APK, which for you is "com.firefox.cli.apk.webappstartupperformancetestbclary.pc91282b8e6a542101851c47a670b9c8c"
My 2cents
Flags: needinfo?(mark.finkle)
Comment 3•10 years ago
|
||
I concur, I'd use which ever comes first. Not sure if there was a second part to that question or not.
Flags: needinfo?(blassey.bugs)
| Assignee | ||
Comment 4•10 years ago
|
||
tests well.
Flags: needinfo?(snorp)
Attachment #8591030 -
Flags: review?(gbrown)
| Assignee | ||
Comment 5•10 years ago
|
||
gbrown: ignore that subproject commit to ep1. It is part of a different bug.
Comment 6•10 years ago
|
||
Comment on attachment 8591030 [details] [review]
pr 23
You probably don't need to check for the logcat prefix now that you are checking for a more specific message, but it's fine just as it is too.
Attachment #8591030 -
Flags: review?(gbrown) → review+
| Assignee | ||
Comment 7•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Updated•4 years ago
|
Product: Testing → Testing Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•