Enjoy your observability: an industrial survey of microservice tracing and analysis

Bowen Li, Xin Peng, Qilin Xiang, Hanzhang Wang, Tao Xie, Jun Sun, Xuanzhe Liu

Research output: Contribution to journalArticlepeer-review

Abstract

Microservice systems are often deployed in complex cloud-based environments and may involve a large number of service instances being dynamically created and destroyed. It is thus essential to ensure observability to understand these microservice systems’ behaviors and troubleshoot their problems. As an important means to achieve the observability, distributed tracing and analysis is known to be challenging. While many companies have started implementing distributed tracing and analysis for microservice systems, it is not clear whether existing approaches fulfill the required observability. In this article, we present our industrial survey on microservice tracing and analysis through interviewing developers and operation engineers of microservice systems from ten companies. Our survey results offer a number of findings. For example, large microservice systems commonly adopt a tracing and analysis pipeline, and the implementations of the pipeline in different companies reflect different tradeoffs among a variety of concerns. Visualization and statistic-based metrics are the most common means for trace analysis, while more advanced analysis techniques such as machine learning and data mining are seldom used. Microservice tracing and analysis is a new big data problem for software engineering, and its practices breed new challenges and opportunities.

Original languageEnglish (US)
Article number25
JournalEmpirical Software Engineering
Volume27
Issue number1
DOIs
StatePublished - Jan 2022
Externally publishedYes

Keywords

  • Industrial survey
  • Logging
  • Microservice
  • Tracing

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Enjoy your observability: an industrial survey of microservice tracing and analysis'. Together they form a unique fingerprint.

Cite this