Binary Size Metrics
This document lists metrics used to track binary size.
Metrics for Desktop
Alerting
- Alerts are sheriffed as part of the main perf sherif rotation.
 - Alerts generally fire for ~100kb jumps.
 
Metrics for Android
For Googlers, more information available at go/chrome-apk-size.
- Sizes are collected by //build/android/resource_sizes.py.
 - How to analyze Android binary size discussed in apk_size_regressions.md#debugging-apk-size-increase.
 - Sizes for 
ChromePublic.apk, ChromeModernPublic.apk, MonochromePublic.apk, SystemWebview.apk are tracked.- But only 
MonochromePublic.apk is actively monitored. 
 - We care most about on-disk size (for users with small device storage)
- But also care about patch size (so that browser updates get applied)
 
 
Normalized APK Size
- Telemetry Graph
 - Monitored by Binary Size Sheriffs.
- Alerts fire for changes of 16kb or more.
 
 - Computed as:
- The size of an APK
 - With all native code as if it were stored uncompressed.
 - With all dex code as if it were stored compressed and also extracted.
 - With all translations as if they were not missing (estimates size of missing translations based on size of english strings).
- Without translation-normalization, translation dumps cause jumps.
 
 
 
Native Code Size Metrics
- Telemetry Graph
 - File size of 
libchrome.so - Code vs data sections (.text vs .data + .rodata)
 
Java Code Size Metrics
- Telemetry Graph
 - File size of 
classes.dex - “Dex”: Counts of the number of fields, methods, strings, types.
 - “DexCache”: The number of bytes of RAM required to load our dex file (computed from counts)
 
Breakdown Metrics
- Telemetry Graph
 - APK Size: The file size of 
Chrome.apk - Breakdown: The sum of these equals APK Size.
 
Install Metrics
- Telemetry Graph
 - Estimated installed size: How much disk is required to install Chrome on a device.
- This is just an estimate, since actual size depends on Android version (e.g. Dex overhead is very different for pre-L vs L+).
 - Does not include disk used up by profile, etc.
 - We believe it to be fairly accurate for all L+ devices (less space is required for Dalvik runtime pre-L).
 
 - InstallBreakdown: The sum of these equals Estimated installed size.
 
Transfer Size Metrics
- Deflated apk size:
- Telemetry Graph
 - Only relevant for non-patch updates of Chrome (new installs, or manual app updates)
 
 - Patch Size:
 
Uncompressed Metrics
- Telemetry Graph
 - Uncompressed size of classes.dex, locale .pak files, etc
 - Reported only for things that are compressed within the .apk