臉書在3月14日開源了客戶端資料收集函式庫Profilo,目前僅先釋出Android函式庫。利用Profilo收集遙測資料的功能,行動App開發者能更容易地收集應用程式在使用者裝置上的效能詳細資訊,更快速的找出效能問題,或是建立更佳的工作流以及分析系統。

臉書表示,臉書App在Android與iOS有數十億的使用者,他們相信應用程式的回應性及順暢度,是提高使用者體驗的關鍵,但這也代表他們必須要有能力掌握使用者裝置的狀態,找出影響效能的問題所在。

不過這並非易事,過去臉書在Beta或是新版本發現回歸時,他們會立即隔離新部署或是實驗性配置,但不是所有的配置都可以透過伺服器驅動設定解決,想要進一步調查原因,也只能收集到一些諸如CPU時間之類的代理測量指標,很難直接診斷比較複雜的問題。

臉書有時也會採取另一條道路,就是在實驗室中重現問題,再使用Systrace等分析工具,取得較詳細的資料,但是遇到特定使用者族群裝置效能嚴重衰退的情況,便很難在實驗室中複製,畢竟實驗室環境是為主流的使用者經驗設計,特殊狀態的複製需要大量的資源,找出回歸的時間也會很長,最後還可能徒勞無功。

因此臉書意識到,他們必須要有更完全診斷問題的工具,因此開發了Profilo,來收集更詳細的遙測資料。

Profilo讓行動App開發人員有能力管理來自不同來源的資料流,方便量測分析應用程式的不同方面,而臉書表示,這是他們能在任何交互運行的狀態下對系統進行量測,並作為重構應用程式的重要參考基礎。Profilo擁有極高的效能,能以每秒或是更短的時間,對底層造成極小中斷與失真的情況下,收集超過3,000筆事件的遙測訊號。

其有力的設置功能,在不過份加重應用程式負擔的情況下,Profilo能對特定的裝置收集遙測資料,透過遠端控制可以調整要監控的項目,像是增加有疑問的A/B測試採樣率、在回歸測試中使用較高負擔的資料提供系統或是全面微調追蹤量與內容等。

Profilo縮短了效能回歸測試的時間,現在臉書能以幾十毫秒的時間採樣裝置狀態,精準找出回歸的根本原因,由於能收集豐富的遙測資料,便能執行更多的因果關係分析,用以了解畫面滾動的流暢度與應用程式的回應性。

在沒有Profilo之前,應用程式的回歸總要花費很長的時間,才能找到根本原因和需要的資料流,問題通常數月都還無法解決。不過,在有能力收集豐富的遙測資料後,這些問題都得到改善,臉書開發工具分析Profilo收集回來的資料,比較每個釋出的版本的CPU堆疊追蹤,也能對特定類型的回歸性進行根本原因分析,而回歸所需的時間縮短到了幾小時。

Profilo的另一個獨特功能可以展開Java堆疊,臉書表示,這應該是第一個不需要使用官方API,就能了解內部VM結構以及收集堆疊追蹤的Android性能函式庫。

收集遙測資料,改變了臉書進行回歸檢測與性能分析的看法,他們能更深入的分析問題,以解釋大量資源使用的情況,並且理解應用程式與VM間的關係,也對硬體性能有了更詳細的分析。臉書認為,這項工具能方便地為其他行動應用程式開發者帶來一樣的好處。

熱門新聞

Advertisement