簡體   English   中英

來自 perfetto trace 的 CPU 利用率曲線

[英]CPU utilisation curve from perfetto trace

我想在移動設備上跟蹤我的算法之一的 CPU 和 memory 利用率。 到目前為止,我已經在 Android 中將其作為應用程序實施,並使用 Android 分析器作為跟蹤文件 (filename.trace) 收集資源利用率跟蹤。 我嘗試使用工具perfetto UI ,它顯示如下跟蹤: 在此處輸入圖像描述

我怎樣才能從這個跟蹤文件中提取如下所示在 android 工作室中顯示的原始時間序列數據?

在此處輸入圖像描述

如果我沒看錯你的問題,你想在 Perfetto UI 中查看 CPU 利用率圖表?

簡短的回答是否定的,因為它們是不同的數據。

長答案:Android Studio profiler 在圖表中顯示的內容有些不同:

  1. 屏幕截圖中的圖表實際上是 Android Studio 直接從proc/[pid]/stat采樣的 CPU 利用率數據,而不是來自系統跟蹤(或 Perfetto)。 這意味着您從 Android Studio 導出的跟蹤文件不包含該數據。 當您退出 Android Studio 時它丟失了。
  2. 但是,當您捕獲系統跟蹤時,它還會記錄 CPU 利用率數據,如果您在 Android Studio 和 select 中單擊您捕獲的系統跟蹤中的 CPU Profiler,頂部的 CPU 使用率圖表將顯示與系統跟蹤收集的相同數據. 您導出的跟蹤文件的一部分。
  3. 此外,系統跟蹤 CPU 利用率數據適用於所有進程。 Android Studio 所做的是僅提取您的應用程序進程的數據(因為 IDE 知道 pid)並按如下方式計算利用率百分比: time_spent_in_app_per_50_miliseconds / 50_miliseconds * cpu_core_count
  4. 如果您想從 Android Studio 之外的跟蹤文件計算利用率,您可以使用 Perfetto TraceProcessor 編寫 SQL 查詢以獲取由您的 pid 過濾的 CPU 調度數據,將它們存儲到 50 毫秒的塊中,並以與 Android Studio 相同的方式計算利用率。 然后您可以在電子表格中而不是在 Perfetto UI 中將其可視化,因為它不支持從 TraceProcessor 數據繪制圖表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM