{'fraction_non_alphanumeric': 0.017982799061767005, 'fraction_numerical': 0.003127443315089914, 'mean_word_length': 5.632124352331606, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
EnergyBudgets: Integrating Physical Energy Measurement Devices into Systems Software

Excessive energy consumption is a critical problem for mobile computing systems due to their limited battery capacity. Software developers aim to improve energy efficiency by monitoring and profiling the energy consumption of their systems in order to discover and resolve energy hot-spots. However, energy measurement is often tedious since it involves a hardware setup as well as software integration. To support accurate but also convenient energy measurements, we propose the inclusion of external energy measurement devices into existing performance profiling subsystems. This approach allows the energy-consumption analysis of applications that run on the system under test (SUT) using the same tools as used for other performance metrics. To enable low-overhead self-monitoring, we propose a modular analysis approach, EnergyBudgets, which bridges external energy measurement hardware to the Linux perf subsystem. The evaluation of our implementation shows that energy budgets accurately measure the energy consumed by different workloads and allow for an overhead-reduction on the SUT by 20% to 51% in comparison to regular timers, while still guaranteeing the same level of precision.