  Managing the limited energy on mobile platforms executing long-running,
resource intensive streaming applications requires adapting an application's
operators in response to their power consumption. For example, the frame
refresh rate may be reduced if the rendering operation is consuming too much
power. Currently, predicting an application's power consumption requires (1)
building a device-specific power model for each hardware component, and (2)
analyzing the application's code. This approach can be complicated and
error-prone given the complexity of an application's logic and the hardware
platforms with heterogeneous components that it may execute on. We propose
eScope, an alternative method to directly estimate power consumption by each
operator in an application. Specifically, eScope correlates an application's
execution traces with its device-level energy draw. We implement eScope as a
tool for Android platforms and evaluate it using workloads on several synthetic
applications as well as two video stream analytics applications. Our evaluation
suggests that eScope predicts an application's power use with 97% or better
accuracy while incurring a compute time overhead of less than 3%.
