本申請涉及計算機,尤其涉及一種事件關聯可視化方法、裝置、電子設備和存儲介質。
背景技術:
1、在對瀏覽器或者其他應用程序進行性能分析時,對跨線程事件之間的關聯關系進行深入理解和分析是進行應用程序性能優化和問題排查的重要前提。
2、可以在應用程序的可視化分析工具中,繪制貝塞爾曲線表示跨線程事件之間的關聯關系。相關技術僅能實現逐個繪制表示不同線程之間的關聯關系的貝塞爾曲線,繪制時間長,無法對大批量跨線程事件之間的關聯關系進行及時表示,導致應用程序性能分析的效率低。
技術實現思路
1、本申請提供一種事件關聯可視化方法、裝置、電子設備和存儲介質,用于解決不同線程之間的關聯關系的貝塞爾曲線繪制時間長,無法進行及時表示,導致應用程序性能分析效率低的技術問題。
2、本申請提供一種事件關聯可視化方法,包括:
3、確定目標應用程序中各個線程的事件時間軸,以及確定對所述目標應用程序進行性能分析的當前時間窗口;
4、基于不同線程的事件時間軸中事件之間的關聯關系,確定待繪制的關聯關系曲線;
5、將所述當前時間窗口分割為多個分區,確定所述關聯關系曲線在各個分區中對應的曲線段;
6、并行地在各個分區中繪制各個曲線段,拼接后得到所述關聯關系曲線;
7、其中,所述關聯關系曲線用于對所述目標應用程序進行性能分析。
8、在一些實施例中,所述確定目標應用程序中各個線程的事件時間軸,以及確定對所述目標應用程序進行性能分析的當前時間窗口,包括:
9、基于對所述目標應用程序進行性能分析的起始時刻和結束時刻,確定所述當前時間窗口。
10、在一些實施例中,所述基于不同線程的事件時間軸中事件之間的關聯關系,確定待繪制的關聯關系曲線,包括:
11、確定第一線程的事件時間軸中第一事件與第二線程的事件時間軸中第二事件存在關聯關系;
12、基于所述第一事件在所述第一線程的事件時間軸中的結束時刻,確定待繪制的關聯關系曲線在所述當前時間窗口中的起始位置;
13、基于所述第二事件在所述第二線程的事件時間軸中的起始時刻,確定所述關聯關系曲線在所述當前時間窗口中的結束位置。
14、在一些實施例中,所述將所述當前時間窗口分割為多個分區,包括:
15、基于處理器的核心數量,確定分區數量;
16、基于所述分區數量對所述當前時間窗口進行分割,得到多個分區。
17、在一些實施例中,所述確定所述關聯關系曲線在各個分區中對應的曲線段,包括:
18、確定各個分區在所述當前時間窗口中的起始時刻和結束時刻;
19、基于各個分區的起始時刻,以及所述關聯關系曲線的函數關系式,確定各個分區對應的曲線段的起始位置;
20、基于各個分區的結束時刻,以及所述關聯關系曲線的函數關系式,確定各個分區對應的曲線段的結束位置。
21、在一些實施例中,所述并行地在各個分區中繪制各個曲線段,拼接后得到所述關聯關系曲線,包括:
22、將各個分區的曲線段繪制任務分配至處理器中不同的核心;
23、對各個核心繪制的曲線段進行拼接,得到所述關聯關系曲線。
24、在一些實施例中,所述關聯關系曲線為三階貝塞爾曲線。
25、本申請提供一種事件關聯可視化裝置,包括:
26、窗口確定模塊,用于確定目標應用程序中各個線程的事件時間軸,以及確定對所述目標應用程序進行性能分析的當前時間窗口;
27、曲線確定模塊,用于基于不同線程的事件時間軸中事件之間的關聯關系,確定待繪制的關聯關系曲線;
28、曲線分割模塊,用于將所述當前時間窗口分割為多個分區,確定所述關聯關系曲線在各個分區中對應的曲線段;
29、并行繪制模塊,用于并行地在各個分區中繪制各個曲線段,拼接后得到所述關聯關系曲線;
30、其中,所述關聯關系曲線用于對所述目標應用程序進行性能分析。
31、本申請提供一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現所述的事件關聯可視化方法。
32、本申請提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現所述的事件關聯可視化方法。
33、本申請提供的事件關聯可視化方法、裝置、電子設備和存儲介質,確定目標應用程序中各個線程的事件時間軸,以及確定對所述目標應用程序進行性能分析的當前時間窗口;基于不同線程的事件時間軸中事件之間的關聯關系,確定待繪制的關聯關系曲線;將當前時間窗口分割為多個分區,確定關聯關系曲線在各個分區中對應的曲線段;并行地在各個分區中繪制各個曲線段,拼接后得到關聯關系曲線;由于將當前時間窗口分割為多個分區,將需要繪制的關聯關系曲線分解為各個分區需要繪制的曲線段,并行繪制后進行拼接得到關聯關系曲線,縮短了曲線的繪制時間,提高了曲線的繪制效率,能夠實現對大批量跨線程事件之間的關聯關系進行及時表示,提高了應用程序性能分析的效率。
34、此外,本申請提供的事件關聯可視化方法根據處理器的核心數量確定分區數量,將各個分區的曲線段繪制任務分配至處理器中不同的核心,使得每個分區對應的曲線段可以由獨立的核進行繪制,實現了并行繪制,提高了曲線的繪制效率。
1.一種事件關聯可視化方法,其特征在于,包括:
2.根據權利要求1所述的事件關聯可視化方法,其特征在于,所述確定目標應用程序中各個線程的事件時間軸,以及確定對所述目標應用程序進行性能分析的當前時間窗口,包括:
3.根據權利要求1所述的事件關聯可視化方法,其特征在于,所述基于不同線程的事件時間軸中事件之間的關聯關系,確定待繪制的關聯關系曲線,包括:
4.根據權利要求1所述的事件關聯可視化方法,其特征在于,所述將所述當前時間窗口分割為多個分區,包括:
5.根據權利要求1所述的事件關聯可視化方法,其特征在于,所述確定所述關聯關系曲線在各個分區中對應的曲線段,包括:
6.根據權利要求5所述的事件關聯可視化方法,其特征在于,所述并行地在各個分區中繪制各個曲線段,拼接后得到所述關聯關系曲線,包括:
7.根據權利要求1至6任一項所述的事件關聯可視化方法,其特征在于,所述關聯關系曲線為三階貝塞爾曲線。
8.一種事件關聯可視化裝置,其特征在于,包括:
9.一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算機程序時實現如權利要求1至7任一項所述的事件關聯可視化方法。
10.一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1至7任一項所述的事件關聯可視化方法。