Firebase Performance Monitoring SDK 如何发现 CPU 应用程序的 Android 使用情况?

How does Firebase Performance Monitoring SDK discover CPU usage of Android application?

如下图所示,使用 Firebase Monitoring SDK,您可以发现您的应用消耗了多少用户时间和系统时间。 Check it here

图片适用于 iPhone 设备,但文档说也支持 Android 设备。

所以我确信有一种方法可以像 Firebase 那样以编程方式获取这些数据。我想知道 Firebase 是如何发现这些信息的。

提前致谢。

通过 PID 计算进程的 CPU 使用情况的一种方法是解析 /proc/[pid]/stat 文件。根据 doc/proc/[pid]/stat 文件包含有关进程的状态信息。所以我们可以解析这个文件得到以下成员:

  • utime %lu
  • stime %lu

Check this page to get more information about the /proc/[pid]/stat file and the way to parse it.

另外 here 是关于 utimestime 的相关问题。

我不确定 Firebase 是否在这样做。但是,当且仅当 /proc/[pid]/stat 文件存在并且在所有 Android 版本中都可以访问时,这是获取该信息的好方法。

另见

How do I get the total CPU usage of an application from /proc/pid/stat?

How to get total cpu usage in Linux using C++