{'fraction_non_alphanumeric': 0.01775147928994083, 'fraction_numerical': 0.0, 'mean_word_length': 5.506410256410256, '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}}
Mega: A framework for runtime monitoring of distributed software system

In large-scale distributed systems, runtime monitoring is an important means to check whether the system complies with its intended behavior. This paper proposes a framework named Mega that supports the development and running of monitoringenabled distributed software systems. In our framework, a dedicated language is introduced to describe where and what should be monitored at runtime, which can be automatically mapped and weaved into the target system with the help of the Aspect-Orient Programming (AOP) technology. The introduction of this language separates the monitoring logic and the functional logic, which enables the former to be developed efficiently and maintained independently. Another important feature of the Mega framework is its event-based model for monitoring data processing, which is scalable and extensible in large-scale distributed systems. The benefit of this framework has been validated by real applications.