2017-02-14 60 views
2

我正在設計一個工具來可視化java日誌的過程。具體而言,每當調用方法並返回時,都會通過打印到控制檯來生成這些日誌。這些日誌語句使用字節碼操作注入到整個Android OS源代碼中。到目前爲止,我們已經能夠測試Android操作系統並生成這些日誌語句。這些日誌語句中包含的字段是:調用方法,方法簽名,參數類型,返回類型和時間戳的過程

使用這些日誌的工具將具有詳細視圖(放大時)和高級概述(縮小時)。我正在尋找高效的方式來在高層次的概述中對這個巨大的日誌文件進行可視化和導航,以獲取有價值的信息。每個日誌語句與另一個日誌語句具有層次關係。例如,方法調用的日誌語句將是從父方法中調用的方法的所有日誌語句的父代。有效的方式來可視化和導航巨大的日誌文件

我的問題是,

  1. 什麼是可視化和在一個巨大的日誌文件瀏覽這些層次日誌報表以獲得良好的高度概括的有效途徑?序列圖對詳細視圖非常有用,但不適用於巨大的呼叫追蹤。
  2. 市場上是否有現有的具有類似功能的工具?我已經看過日誌可視化工具,但沒有一個具有高級概覽可視化。
  3. 作爲一個應用程序開發人員,他配備了一個可以爲每個被調用的方法生成日誌語句的檢測虛擬機,以及誰可以在上述android虛擬機上運行應用程序,哪些信息對您有用?
  4. 其他建議?


在此先感謝。

編輯:我添加了一些關於日誌語句的層次性的更多細節。

回答

0

我相信最接近你描述的圖是一個序列圖。曾經有一個用於eclipse的插件,它可以監視你的源代碼,並建立所有調用/返回/定時/等等的序列圖。

這裏的圖是如何工作的說明,以及如何通過手工來創建它們:

http://agilemodeling.com/artifacts/sequenceDiagram.htm

他們是如何模擬代碼在運行時在一個很高的水平互動的好方法。

只是一個快速查詢 - 這是在Eclipse市場:

https://marketplace.eclipse.org/content/objectaid-uml-explorer#group-metrics-tab

我沒有使用過這一個,正是在查詢中來了,但我記得創建一個真棒我正在分析代碼圖 - 覆蓋了我的多維數據集的整個牆,並且非常有幫助。

+0

感謝您的信息。正如我所提到的,順序圖是詳細查看流程的好方法,我會在我的工具的詳細視圖中使用非常相似的東西。我的主要問題是,當呼叫跟蹤很大時,導航序列圖變得非常麻煩。我正在尋找能夠在非常高的層面上查看信息時有意義的表示/可視化。 – Omer

+0

@Omer對不起,我一定沒有讀過你知道序列圖。與我一起工作的人(非常大的一個人)需要注意將重複的細節刪除到子圖中;自動化這可能會使其易於管理。您可以通過僅關注來自您感興趣的節點的一定數量的呼叫中的節點來「縮放」序列圖。我找不出一個更好的工具來處理您收集的信息。 –

0

從您的問題,您使用的數據是服務器日誌;並且日誌文件的結構是非常複雜的任務,並且爲了可視化而處理不同的日誌文件也是可能的,但在一定的限制下,您將需要創建或開發自己的標準工具來對日誌文件進行分類和聚合,然後進行可視化處理。但是,一些工具和平臺已經存在,例如:

其中一種有效方法是在流水線中處理大數據信息的數據,因爲這些日誌語句是使用Apache Sparks,splunk或Cisco Mars集成的服務器日誌在SIEM的解決方案中實時處理日誌是用於處理服務器日誌文件的最有效方法之一。

HPE安全性ArcSight數據平臺還可以提供一種高性能,經濟高效的解決方案,統一跨企業機器數據的大數據收集,報告和分析。

時鐘視圖和PeekKernelFlows使用NetFloW日誌長時間監視大型IP空間。此外,名爲ELVIS可擴展日誌可視化工具的工具可以關聯服務器日誌的進程並提供重要數據的表示摘要視圖。

我強烈建議你使用一個簡單的日誌結構前。 FTP或IIS服務器記錄所選字段的日誌文件,並通過使用D3.js模塊將靜態和交互式可視化模塊與Parallel Coordinates專門進行可視化輸出。

+0

感謝您的信息。平行座標和其他關於D3.js的例子似乎與我有些相關。 – Omer

+0

@Omer真正有用的是連接點並將日誌與相關機制 – Hashes

相關問題