Dynamic Logging with Dylog for Networked Embedded Systems

Wei Dong,Chao Huang,Jiliang Wang,Chun Chen,Jiajun Bu
DOI: https://doi.org/10.1145/2807698
2015-01-01
ACM Transactions on Embedded Computing Systems
Abstract:We present Dylog, a dynamic logging facility for networked embedded systems. Dylog employs several techniques to enable lightweight and interactive logging. First, Dylog uses binary instrumentation for dynamically inserting or removing logging statements, enabling interactive debugging at the runtime. Second, Dylog incorporates an efficient storage system and log collection protocol for recording and transferring the logging messages. In particular, Dylog significantly reduces the communication cost by storing string identifiers and restoring them back to corresponding strings at the PC. Third, Dylog employs MAC layer timestamping and a linear clock model for reconstructing the synchronized time of the logging messages with a very high precision. We implement and evaluate Dylog on TinyOS 2.1.1/TelosB. Results show that Dylog incurs a reasonable overhead. Dylog can help gain great visibility into the system behaviors, and diagnose performance issues at the source code level.
What problem does this paper attempt to address?