(Android) Transformers - bytecode in disguise!
Doug is a veteran engineer, experienced public speaker, and developer advocate at Google with the Firebase team. He developed web apps before the web had "apps", and developed for Android since the very first Android device was on the market. In the SF bay area, he's bootstrapped the efforts of several startups. Outside of work, Doug follows professional ice hockey and enjoys craft beer.
If you’ve used Firebase Performance Monitoring, you know that it automatically discovers and reports performance metrics for all the HTTP transactions in your app. But have you ever wondered how it does that? Android doesn’t provide any APIs to listen in on an arbitrary connection (that would be a security problem!), and Firebase supports URLConnection, Apache, and OKHTTP APIs. The secret here is bytecode manipulation at build time using the Transform API provided by the Android build tools. Join this session to find out how the Firebase Performance Monitoring Gradle plugin intercepts and measures HTTP transactions at runtime with some assistance from bytecode manipulation at build time.