## 3 Problem Description and Proposed Solution
### Method of the Proposed Approach
#### 3.2.3 Optimized PC Algorithm Based on Knowledge Graph
In the above experiment, we collected monitoring records that contained more than 100 KPIs; then, we measured the resource and time overhead of our method in terms of different data volumes and different numbers of KPIs. As shown in Table 3, we analyzed the performance consumption of \begin{table}
\begin{tabular}{c c c c c c c c} \hline  & **Front-End** & **Catalogue** & **User** & **Carts** & **Orders** & **Shipping** & **Payment** \\ \hline \multicolumn{8}{c}{**CPU burnout**} \\ \hline precision & 100 & 85 & 90 & 80 & 95 & 60 & 55 \\ recall & 100 & 95 & 90 & 90 & 100 & 60 & 60 \\ \hline \multicolumn{8}{c}{**Mem Overload**} \\ \hline precision & 100 & 85 & 100 & 85 & 100 & 55 & 75 \\ recall & 100 & 95 & 100 & 100 & 100 & 55 & 75 \\ \hline \multicolumn{8}{c}{**Disk I/O Block**} \\ \hline precision & 100 & 95 & 100 & 90 & 100 & 55 & 65 \\ recall & 100 & 95 & 100 & 95 & 100 & 60 & 65 \\ \hline \multicolumn{8}{c}{**Network Jam**} \\ \hline precision & 100 & 100 & 100 & 85 & 100 & 70 & 55 \\ recall & 100 & 100 & 100 & 100 & 100 & 70 & 65 \\ \hline \end{tabular}
\end{table} 
Table 2: Performance for different services. Figure 14: Root cause chain paths of the experiment. causality graph construction and causality search for 20, 50, and 100 KPIs, respectively, and considered the comparison of performance consumption under different conditions from 25 to 2000 records. Obviously, the computing time and resource consumption also continued to increase as the number of KPIs increased. However, as far as we know, this problem can be improved by introducing parallel computing to the PC algorithm [29]. ## 5 Conclusions

In this paper, to solve the problem of diagnosing the root cause of abnormal performance in cloud applications of MSAs, we propose an RCA method based on a knowledge graph and a causal search algorithm. The paper describes how to construct an O&M knowledge graph and further improves a causal search algorithm based on the PC algorithm and in turn based on an O&M knowledge graph. Through experiments, we found that the proposed method can successfully generate a causality graph and output possible root cause paths. We also experimentally evaluated the performance of the method. For most services, both the recall and precision of the algorithm exceeded 80% for most scenarios. There are still many places that can be optimized in this paper. The following summarizes such future work. Firstly, the current causality graph is constructed without considering external factors. When a certain external factor causes an anomaly, the observed node affected by the external factor shows a highly correlated metric pattern in the anomaly time window. A pseudo-anomaly clustering algorithm [1] could be employed to solve such problems, and we will consider this part in future work. Secondly, the runtime of the PC algorithm is time-consuming due to the large number of KPIs. A parallel computing technique for the PC algorithm could be considered to improve the performance. In addition, we will strengthen the comparison experiment and enrich the prototype tool in this study. On the one hand, we have not reproduced the results of current related papers, so we will further strengthen the comparison between our method and other methods to further verify the advantages of our method. On the other hand, we have developed only a simple prototype tool to test our method: there are still many features that need to be improved. For example, in order to ensure the practicability of the proposed method, we must solve the problem of synchronously updating the knowledge graph as the microservice deployment changes. We can monitor the deployment changes of the environment by calling on the Kubernetes API to trigger the update of the knowledge graph synchronously. Only in this way can we ensure that the causality graph construction and search are conducted based on the latest knowledge graph. In brief, we will further improve the knowledge graph tool and further enrich the prototype tool, making our method more applicable. Conceptualization, J.Q. and Q.D.