Analysis of microservices' performance is a considerably challenging task due to the multifaceted nature of these systems. Each request to a microservices system might raise several Remote Procedure Calls (RPCs) to services deployed on different servers and/or containers. Existing distributed tracing tools leverage swimlane visualizations as the primary means to support performance analysis of microservices. These visualizations are particularly effective when it is needed to investigate individual end-to-end requests' performance behaviors. Still, they are substantially limited when more complex analyses are required, as when understanding the system-wide performance trends is needed. To overcome this limitation, we introduce vamp, an innovative visual analytics tool that enables, at once, the performance analysis of multiple end-to-end requests of a microservices system. Vamp was built around the idea that having a wide set of interactive visualizations facilitates the analyses of the recurrent characteristics of requests and their relation w.r.t. the end-to-end performance behavior. Through an evaluation of 33 datasets from an established open-source microservices system, we demonstrate how vamp aids in identifying RPC execution time deviations with significant impact on end-to-end performance. Additionally, we show that vamp can support in pinpointing meaningful structural patterns in end-to-end requests and their relationship with microservice performance behaviors.
翻译:摘要:微服务系统的性能分析是一项极具挑战性的任务,因其系统具有多面性特征。每次对微服务系统的请求可能引发多个远程过程调用(RPC),这些调用会分布在不同服务器或容器上的服务之间执行。现有分布式追踪工具主要采用泳道图可视化来支持微服务性能分析。这类可视化在调查单次端到端请求的性能行为时尤为有效,但当需要更复杂的分析(如理解系统级性能趋势)时则存在显著局限性。为克服这一局限,我们提出VAMP——一种创新的可视化分析工具,能够同时分析微服务系统中多个端到端请求的性能表现。VAMP基于"广泛交互式可视化有助于分析请求的重复特征及其与端到端性能行为的关系"这一核心理念构建。通过对来自成熟开源微服务系统的33个数据集进行评测,我们证明了VAMP如何有效识别对端到端性能具有显著影响的RPC执行时间偏差。此外,研究还表明VAMP能够支持定位端到端请求中有意义的机构模式及其与微服务性能行为之间的关联。