@inproceedings{d77e0680c40f430e8d7a225fda6150b6,
title = "Graph-based trace analysis for microservice architecture understanding and problem diagnosis",
abstract = "Microservice systems are highly dynamic and complex. For such systems, operation engineers and developers highly rely on trace analysis to understand architectures and diagnose various problems such as service failures and quality degradation. However, the huge number of traces produced at runtime makes it challenging to capture the required information in real-time. To address the faced challenges, in this paper, we propose a graph-based microservice trace analysis approach GMTA for understanding architecture and diagnosing various problems. Built on a graph-based representation, GMTA includes efficient processing of traces produced on the fly. It abstracts traces into different paths and further groups them into business flows. To support various analytical applications, GMTA includes an efficient storage and access mechanism by combining a graph database and a real-time analytics database and using a carefully designed storage structure. Based on GMTA, we construct analytical applications for architecture understanding and problem diagnosis, these applications support various needs such as visualizing service dependencies, making architectural decisions, analyzing the changes of services behaviors, detecting performance issues, and locating root causes. GMTA has been implemented and deployed in eBay. An experimental study based on trace data produced by eBay demonstrates GMTA's effectiveness and efficiency for architecture understanding and problem diagnosis. Case studies conducted in eBay's monitoring team and Site Reliability Engineering (SRE) team further confirm GMTA's substantial benefits in industrial-scale microservice systems.",
keywords = "Architecture, Fault localization, Graph, Microservice, Tracing, Visualization",
author = "Xiaofeng Guo and Xin Peng and Hanzhang Wang and Wanxue Li and Huai Jiang and Dan Ding and Tao Xie and Liangfei Su",
note = "Publisher Copyright: {\textcopyright} 2020 ACM.; 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2020 ; Conference date: 08-11-2020 Through 13-11-2020",
year = "2020",
month = nov,
day = "8",
doi = "10.1145/3368089.3417066",
language = "English (US)",
series = "ESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering",
publisher = "Association for Computing Machinery",
pages = "1387--1397",
editor = "Prem Devanbu and Myra Cohen and Thomas Zimmermann",
booktitle = "ESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering",
address = "United States",
}