Transparent tracing of microservice-based applications

Matheus Santana, Adalberto R. Sampaio, Marcos Andrade, Nelson Souto Rosa · 2019

Tracing has been applied to study and understand the behavior and performance of distributed systems. Despite the attention this topic has received, two important aspects are still challenges and especially harmful in the context of microservice-based applications: source code instrumentation and performance overhead. Existing attempts resort on working around overhead (e.g., sampling techniques) and do not address microservices architecture's high technological heterogeneity. Our main contribution is a novel approach for tracing microservices which joins proxies' usage (for handling tracing concerns) and operating system syscalls monitoring (for diagnosing causality between multiple requests). It makes advances on the field by completely separating instrumentation and application code while minimizing performance overhead. We carry out a performance evaluation to show the impact of our solution on the execution of microservice-based applications. Our proposal fosters developers' productivity by allowing them to focus on business logic instead of instrumentation and copes with the intrinsic heterogeneity of microservices by relying on deployment modifications and operating systems mechanisms solely.

Read the paper · More papers on PaperTik