End Insight EndtoEnd Performance Monitoring of Mobile Applications
End. Insight: End-to-End Performance Monitoring of Mobile Applications in the Wild Lenin Ravindranath, Jitu Padhye, Ratul Mahajan, Hari Balakrishnan User Transactions There’s an App for that Worker Thread Server Ø Diverse environmental conditions - Network Connectivity, Signal quality Ø Variety of hardware and OS versions Ø Wide range of user interactions Request processing Phone state Phone model Uplink User click Phone state Radio State (Radio wakeup) Parsing and Rendering Need easy-to-use end-to-end performance monitoring system for apps and services End. Insight Ø Automatic Instrumentation - Windows Phone Apps, ASP. NET Services - Zero Developer Effort - Binary Instrumentation Ø Readily Deployable - No changes to the OS, platform or runtime Ø Low overhead Send Response Server Thread Wakeup Server Thread Handler 2 Request Handler 1 Server Thread Start Worker Downlink Background Thread Web Request 2 Callback Fire Web Request 1 Callback Thread Wakeup GPS Start User Click Fire Background Thread UI Thread Automatic tracking of transactions across thread boundaries and across app and server UI Update Developer App - App Processing - Sensor Processing - Radio Wakeup - Parsing/Rendering - Uplink - Downlink - DNS/TCP - Server Processing - Query Processing Ø Outliers - Point to corner cases Ø Highlight common critical paths - Focus development effort Ø Root causes of Performance Variability - Highlight what really matters in the wild Developer Feedback Service Traces Instrumented Service Analysis Server Overhead Traces Downloads App Store Dependent on - Phone model - Phone state - Network type - Network state - Link quality - Server load - Data Service Instrumenter Instrumented App Developer Feedback Accurate Estimation of Delays Aggregate Analysis UI Dispatch Start 2 Server Requests Thread Blocked App DNS and TCP connect Send Response Block – Aware of the radio state and traffic – Minimal extra delays – Energy efficient Server Thread Background Thread Event Handler Phone model Link quality (3 G, HSPA+, LTE, Wifi) Server Thread Start Worker Request App Middlebox Downlink Fire Query Uplink GPS Callback TCP state Server Reading sensors App Query processing Efficient technique for probing Fire Worker Thread “… Too slow - killing the usefulness when you really need to go. ” Server processing – Find drift and offset between clocks DB Worker Thread Highly Variable Delays • Periodic time sync probes from app to server End-to-End Critical Paths But its slow Performance problems inevitable in the wild Time Synchronization App Compute Memory Network Battery 0. 1% 2% 4% low
- Slides: 1