The high tracking overhead, the amount of up-front effort required to selecting the trace points, and the lack of effective data analysis model are the significant barriers to the adoption of intra-component tracking for fault diagnosis today. This paper introduces a novel method for fault diagnosis by combining adaptive function level dynamic tracking, target fault injection, and graph convolutional network. In order to implement this method, we introduce techniques for (i) selecting function level trace points, (ii) constructing approximate function call tree of program when using adaptive tracking, and (iii) constructing graph convolutional network with fault injection campaign. We evaluate our method using a web service benchmark composed of Redis, Nginx, Httpd, and SQlite. The experimental results show that this method outperforms log based method, full tracking method, and Gaussian influence method in the accuracy of fault diagnosis, overhead, and performance impact on the diagnosis target.
翻译:为了实施这种方法,我们引入了以下方法:(一) 选择功能级跟踪点,(二) 在使用适应性跟踪时构建程序大致功能呼唤树,(三) 以错误注射运动构建图形连流网络。我们使用由Redis、Nginx、Htpd和SQlite组成的网络服务基准评估了我们的方法。实验结果表明,这一方法在错误诊断准确性、间接费用和对诊断目标的性能影响方面优于基于方法的日志、全面跟踪方法和高斯影响方法。