Michael Stumm: Publications

Paper Details

Reference:

Xu Zhao, Kirk Rodrigues, Yu Luo, Michael Stumm, Ding Yuan, and Yuanyuan Zhou,
"Log20: Fully automated optimal placement of log printing statements under specified overhead threshold",
In Proceedings of the 26th Symposium on Operating Systems Principles (SOSP'17), Shanghai, China, ACM, October, 2017, pp. 565–581.

Download:

PDF ; Talk

Abstract:

When systems fail in production environments, log data is often the only information available to programmers for postmortem debugging. Consequently, programmers' decision on where to place a log printing statement is of crucial importance, as it directly affects how effective and efficient postmortem debugging can be. This paper presents Log20, a tool that determines a near optimal placement of log printing statements under the constraint of adding less than a specified amount of performance overhead. Log20 does this in an automated way without any human involvement. Guided by information theory, the core of our algorithm measures how effective each log printing statement is in disambiguating code paths. To do so, it uses the frequencies of different execution paths that are collected from a production environment by a low-overhead tracing library. We evaluated Log20 on HDFS, HBase, Cassandra, and ZooKeeper, and observed that Log20 is substantially more efficient in code path disambiguation compared to the developers' manually placed log printing statements. Log20 can also output a curve showing the trade-off between the informativeness of the logs and the performance slowdown, so that a developer can choose the right balance.

Keywords:

Log placement, distributed systems, information theory, logging, debugging

Reference Info:

DOI: 10.1145/3132747.3132778
ISBN: 9781450350853
OCLC: 8877109559

BibTeX:

@inproceedings(Zhao-SOSP17,
    author = {Xu Zhao and Kirk Rodrigues and Yu Luo and Michael Stumm and Ding Yuan and Yuanyuan Zhou},
    title = {Log20: {F}ully automated optimal placement of log printing statements under specified overhead threshold},
    booktitle = {Proceedings of the 26th Symposium on Operating Systems Principles (\textbf{SOSP'17})},
    location = {Shanghai, China},
    publisher = {ACM},
    month = {October},
    year = {2017},
    pages = {565-581},
    doi = {10.1145/3132747.3132778},
    isbn = {9781450350853},
    keywords = {Log placement, distributed systems, information theory, logging, debugging}
)