AboutFlags_ UMA actions should be deprecated in favor of a single enum histogram |
|||||
Issue descriptionAboutFlags_ UMA actions should be deprecated in favor of a single enum histogram. Additionally, the AboutFlags_ actions are currently not logged on CrOS or Android, so when this change is made, we should ensure the new histogram is consistently logged everywhere.
,
Aug 29 2016
Sent out the first CL (https://codereview.chromium.org/2257533005/) for review.
,
Aug 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ab33c92ba610714412e7a572451bb58e5317c86f commit ab33c92ba610714412e7a572451bb58e5317c86f Author: asvitkine <asvitkine@chromium.org> Date: Tue Aug 30 20:34:19 2016 Change logging of about:flags from actions to a histogram. This CL deprecates all the "AboutFlags_*" actions and instead replaces their logging with a AboutFlags.Seen histogram, that has all the actions as enumerations. This new histogram is logged using the same code that logs Login.CustomFlags histogram on ChromeOS. Following this change, via separate CLs I plan to deprecate Login.CustomFlags in favor of AboutFlags.Seen and also make the new histogram get logged on Android, where I think it's currently not logged. BUG= 639304 Review-Url: https://codereview.chromium.org/2257533005 Cr-Commit-Position: refs/heads/master@{#415410} [modify] https://crrev.com/ab33c92ba610714412e7a572451bb58e5317c86f/chrome/browser/about_flags.cc [modify] https://crrev.com/ab33c92ba610714412e7a572451bb58e5317c86f/chrome/browser/about_flags.h [modify] https://crrev.com/ab33c92ba610714412e7a572451bb58e5317c86f/chrome/browser/chromeos/login/session/user_session_manager.cc [modify] https://crrev.com/ab33c92ba610714412e7a572451bb58e5317c86f/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc [modify] https://crrev.com/ab33c92ba610714412e7a572451bb58e5317c86f/tools/metrics/actions/actions.xml [modify] https://crrev.com/ab33c92ba610714412e7a572451bb58e5317c86f/tools/metrics/actions/extract_actions.py [modify] https://crrev.com/ab33c92ba610714412e7a572451bb58e5317c86f/tools/metrics/histograms/histograms.xml
,
Aug 31 2016
Not sure if this newly occurring bug is related: When toggling any flag XYZ and restarting Chrome, it immediately crashes with the following error message and needs to be wiped to get it working again: (note that the flag name is indeed lacking the "--") 08-31 11:46:46.902 24316 24316 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 24316 (oid.apps.chrome) 08-31 11:46:47.012 221 221 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 08-31 11:46:47.013 221 221 F DEBUG : Build fingerprint: 'google/volantis/flounder:6.0.1/MOB30W/3031100:user/release-keys' 08-31 11:46:47.013 221 221 F DEBUG : Revision: '0' 08-31 11:46:47.013 221 221 F DEBUG : ABI: 'arm' 08-31 11:46:47.013 221 221 F DEBUG : pid: 24316, tid: 24316, name: oid.apps.chrome >>> com.google.android.apps.chrome <<< 08-31 11:46:47.013 221 221 F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- 08-31 11:46:47.048 221 221 F DEBUG : Abort message: '[FATAL:about_flags.cc(2211)] Check failed: false. ReportAboutFlagsHistogram(): flag 'XYZ@1' has incorrect format. 08-31 11:46:47.048 221 221 F DEBUG : #00 0xd7ff4d1d /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so+0x0008ad1d 08-31 11:46:47.048 221 221 F DEBUG : #01 0xcfc31043 /data/app/com.google.android.apps.chrome-1/lib/arm/libchrome.cr.so+0x0034b043 08-31 11:46:47.048 221 221 F DEBUG : #02 0xcfa9f93f /data/app/com.google.android.apps.chrome-1/lib/arm/libchrome.cr.so+0x001b993f 08-31 11:46:47.048 221 221 F DEBUG : #03 0xcfa9f909 /data/app/com.google.android.apps.chrome-1/lib/arm/ 08-31 11:46:47.048 221 221 F DEBUG : r0 00000000 r1 00005efc r2 00000006 r3 f7430b7c 08-31 11:46:47.049 221 221 F DEBUG : r4 f7430b84 r5 f7430b34 r6 00000009 r7 0000010c 08-31 11:46:47.049 221 221 F DEBUG : r8 fff007d8 r9 fff002f8 sl fff007d0 fp ab605488 08-31 11:46:47.049 221 221 F DEBUG : ip 00000006 sp fff00290 lr f71bacb1 pc f71bd0a0 cpsr 40070010 08-31 11:46:47.076 221 221 F DEBUG : 08-31 11:46:47.076 221 221 F DEBUG : backtrace: 08-31 11:46:47.076 221 221 F DEBUG : #00 pc 000440a0 /system/lib/libc.so (tgkill+12) 08-31 11:46:47.077 221 221 F DEBUG : #01 pc 00041cad /system/lib/libc.so (pthread_kill+32) 08-31 11:46:47.077 221 221 F DEBUG : #02 pc 0001b957 /system/lib/libc.so (raise+10) 08-31 11:46:47.077 221 221 F DEBUG : #03 pc 00018b09 /system/lib/libc.so (__libc_android_abort+34) 08-31 11:46:47.077 221 221 F DEBUG : #04 pc 00016770 /system/lib/libc.so (abort+4) 08-31 11:46:47.077 221 221 F DEBUG : #05 pc 00077527 /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (_ZN4base5debug13BreakDebuggerEv+22) 08-31 11:46:47.077 221 221 F DEBUG : #06 pc 0008af19 /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (_ZN7logging10LogMessageD1Ev+556) 08-31 11:46:47.077 221 221 F DEBUG : #07 pc 0034b041 /data/app/com.google.android.apps.chrome-1/lib/arm/libchrome.cr.so 08-31 11:46:47.077 221 221 F DEBUG : #08 pc 001b993d /data/app/com.google.android.apps.chrome-1/lib/arm/libchrome.cr.so 08-31 11:46:47.078 221 221 F DEBUG : #09 pc 001b9907 /data/app/com.google.android.apps.chrome-1/lib/arm/libchrome.cr.so 08-31 11:46:47.078 221 221 F DEBUG : #10 pc 001b9823 /data/app/com.google.android.apps.chrome-1/lib/arm/libchrome.cr.so 08-31 11:46:47.078 221 221 F DEBUG : #11 pc 00170fe7 /data/app/com.google.android.apps.chrome-1/lib/arm/libchrome.cr.so 08-31 11:46:47.078 221 221 F DEBUG : #12 pc 0017097f /data/app/com.google.android.apps.chrome-1/lib/arm/libchrome.cr.so 08-31 11:46:47.078 221 221 F DEBUG : #13 pc 0067337f /data/app/com.google.android.apps.chrome-1/lib/arm/libcontent.cr.so (_ZN7content15BrowserMainLoop21PreMainMessageLoopRunEv+46) 08-31 11:46:47.078 221 221 F DEBUG : #14 pc 0088faed /data/app/com.google.android.apps.chrome-1/lib/arm/libcontent.cr.so (_ZN7content17StartupTaskRunner11WrappedTaskEv+24) 08-31 11:46:47.078 221 221 F DEBUG : #15 pc 00079fd3 /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (_ZN4base5debug13TaskAnnotator7RunTaskEPKcRKNS_11PendingTaskE+122) 08-31 11:46:47.078 221 221 F DEBUG : #16 pc 00090f1d /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (_ZN4base11MessageLoop7RunTaskERKNS_11PendingTaskE+200) 08-31 11:46:47.078 221 221 F DEBUG : #17 pc 000910bf /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (_ZN4base11MessageLoop21DeferOrRunPendingTaskENS_11PendingTaskE+20) 08-31 11:46:47.078 221 221 F DEBUG : #18 pc 0009123d /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (_ZN4base11MessageLoop6DoWorkEv+172) 08-31 11:46:47.078 221 221 F DEBUG : #19 pc 000923e1 /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (Java_org_chromium_base_SystemMessageHandler_nativeDoRunLoopOnce+104) 08-31 11:46:47.079 221 221 F DEBUG : #20 pc 01141fcd /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0xdb8000) (void org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(long, long, long)+120) 08-31 11:46:47.079 221 221 F DEBUG : #21 pc 01142479 /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0xdb8000) (void org.chromium.base.SystemMessageHandler.handleMessage(android.os.Message)+220) 08-31 11:46:47.079 221 221 F DEBUG : #22 pc 725645c1 /data/dalvik-cache/arm/system@framework@boot.oat (offset 0x1ec9000) 08-31 11:46:47.461 221 221 F DEBUG : 08-31 11:46:47.461 221 221 F DEBUG : Tombstone written to: /data/tombstones/tombstone_03 08-31 11:46:47.461 221 221 E DEBUG : AM write failed: Broken pipe
,
Aug 31 2016
Reverting ab33c92ba610714412e7a572451bb58e5317c86f fixes the crash.
,
Aug 31 2016
Sorry about this, looking.
,
Aug 31 2016
Have a fix in the works. Since this is a DCHECK currently, I'm thinking we don't need to revert the original CL since it doesn't affect production - and I plan to land the follow-up fix today.
,
Aug 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c1a0c4f2a642dbfb107a454dbc322692c7cf57ee commit c1a0c4f2a642dbfb107a454dbc322692c7cf57ee Author: asvitkine <asvitkine@chromium.org> Date: Wed Aug 31 20:37:39 2016 Fix logging of Launch.FlagsAtStartup histogram. My initial change was logging the internal value, rather than the actual switch value. This change performs the necessary conversion. BUG= 639304 Review-Url: https://codereview.chromium.org/2298223002 Cr-Commit-Position: refs/heads/master@{#415741} [modify] https://crrev.com/c1a0c4f2a642dbfb107a454dbc322692c7cf57ee/chrome/browser/about_flags.cc [modify] https://crrev.com/c1a0c4f2a642dbfb107a454dbc322692c7cf57ee/components/flags_ui/flags_state.cc [modify] https://crrev.com/c1a0c4f2a642dbfb107a454dbc322692c7cf57ee/components/flags_ui/flags_state.h
,
Sep 2 2016
,
Sep 12 2016
Issue 541222 has been merged into this issue.
,
Sep 12 2016
Issue 622729 has been merged into this issue.
,
Sep 26 2016
Marking as Fixed. It appears the histogram does indeed get logged on all platforms, including Android and CrOS - but there is just very few flags seen on CrOS. (Probably because there are very few users on non-stable CrOS channels.) https://uma.googleplex.com/p/chrome/timeline_v2/?sid=987501e90758069eb2ab90efd5a2fb24 There's a follow up bug here where we want to log values of flags: https://bugs.chromium.org/p/chromium/issues/detail?id=647330
,
Sep 29 2016
This is awesome, thanks! Is there a good baseline for FlagsAtStartup to compare against? Eg. to answer "what fraction of startups have XXX flag set"? Should a "total startups" bucket be added to the enum to make this easy? Or is that perhaps not very useful anyway (eg. some users may have a lot more "startups" than others - especially on Android) and some other analysis is really needed?
,
Feb 15 2018
,
Feb 16 2018
To answer comment 13 - you're right, we don't have bucket that just counts startups in that histogram. One could certainly be added - thought it'd be a bit wasteful since right now the histogram is not logged at all for users who don't have any flags. You could use another histogram that's logged as startup to compare - e.g. the total count of Startup.BrowserMessageLoopStartTime. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by fbeaufort@chromium.org
, Aug 23 2016