[2015.02.24] PerfMon v1.21 - Floating Performance Monitor

Search This thread

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,862
www.chainfire.eu
PerfMon is a "floating" performance monitor tool. It shows on top of any other app you are running. Aside from being useful for powerusers wanting to know what their device is doing, it is a great tool to use during debugging and profiling.

PerfMon offers you four categories of metrics:

- Foreground App
- CPU
- Disk I/O
- Network I/O

PerfMon will also show you a new and unique-to-PerfMon performance metric: "CPU Capacity Usage". The CPU usage percentage traditionally used to measure and compare how much of the computational resources an app (or the entire device) is currently using does not make sense in a mobile multi-core setting. The capacity metric will take the CPU usage and scale it to what it would be if all cores were running at full capacity.

For example: if you have a 1.6ghz quad-core running a light app, it could be using 10% CPU with only one of the four cores active, and that core running at 200mhz. If you translate that to all four cores running at 1.6ghz, that app is using only 0.3% of total CPU capacity.

It's the only CPU Usage metric that makes any sense!

Foreground App

This window shows metric of the currently foreground (running and visible) application:

- Application title
- Application package name
- Memory usage total (in megabytes)
- Dalvik, Native, and Other memory usage (in megabytes)
- Overall CPU Usage (normal percentage and capacity)
- User and System CPU Usage (normal percentage)

CPU

This window displays overall CPU metrics:

- Capacity usage and current divider
- Overall CPU usage percentage
- Per-core CPU usage percentage and megahertz

Disk I/O

This window displays the disk I/O metrics of your MMC-based storage devices. Usually, mmcblk0 is your internal flash, and mmcblk1 is your removable SD-card. Please note that currently MTD-based storage is not supported by this display. Also note that the metrics displayed are raw I/O, so if the OS has I/O requests buffered/cached, you will not see anything happen here.

- Per-device read and write kilobytes/second

Network I/O

This window displays the network I/O metrics of your network interfaces.

- Per-interface transmit (Tx) and receive (Rx) kilobytes/second

Download

Download from Google Play

The Google Play download is not free - it costs about a beer (thanks!). The download listed below is 100% the exact same program, but free. If you are able to purchase on Play, please consider that these tools don't write themselves, and beer is an essential fuel to the Chainfire.

REDISTRIBUTION IS NOT ALLOWED
(you can link to this thread, but you can't repost the APK elsewhere, you can't include it in your ROMs, etc)

( < 1.2: 14003 )
 

Attachments

  • screenshot-1-small.png
    screenshot-1-small.png
    17.7 KB · Views: 15,777
  • screenshot-2-small.png
    screenshot-2-small.png
    55.5 KB · Views: 15,542
  • PerfMon-v1.21.apk
    111.4 KB · Views: 29,984
Last edited:

egzthunder1

Admin Emeritus - Spirit of XDA
--- placeholder ---

I am writing this post at the moment, but I need the URL already :) Check back in a few hours.

This must be the only time, in all my years on xda, that I have seen anyone give a valid reason as to why they were using a placeholder.... :p

Also, first!!!
 

intronauta

Senior Member
Aug 29, 2009
281
106
Nice tool!

Just a suggestion, there's random red lines blinking when refreshing the window and is a little bit ugly :p

I'm using a highly customized rom in a sgs2 (chamaleon 1.3), maybe that is the problem...

my2cents.

screenshot.jpg
 
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,862
www.chainfire.eu
Nice tool!

Just a suggestion, there's random red lines blinking when refreshing the window and is a little bit ugly :p

I'm using a highly customized rom in a sgs2 (chamaleon 1.3), maybe that is the problem...

my2cents.

View attachment 1395509

Doesn't happen on any of the 15 devices running stock ROMs I've tested it on.
 
  • Like
Reactions: rirozizo

BoostedSR20

Senior Member
Working perfectly on my SGSIII w/Omega JB rom. Pretty effing awesome. I grabbed the free version here, gonna go get the paid version in the store.
Been using your stuff since the dawn of time, I try to buy whenever possible.

Sent from my GT-I9300 using xda premium
 
  • Like
Reactions: koid1361

bala_gamer

Recognized Contributor
Mar 29, 2011
12,350
7,035
Madurai-Chennai
Xiaomi 13
Xiaomi 13 Pro
Wow great, I was looking for something like this so long.

Overlay tools like cool tool has always caused a drop in benchmark performance. Will test this tool now
Edit:
It dosent affects the benchmark scores at all, NenaMark2,2.3 had a few fps drop, nothing else noticed.

@ chainfire

With all this done is there a way to monitor the frame rate of the ui in jb roms? This would be a killer feature.

《swagged from aokp》
 
Last edited:
  • Like
Reactions: yocasta

CR5N

Senior Member
Jul 15, 2010
584
114
Great app as usual.
'My Apps' opens your 'Follow Me' dialogue. SGii stock 4.0.3

Edit: can't type!
 

Ryuinferno

Senior Member
Apr 3, 2012
3,548
7,113
ryuinferno.github.io
Great job! :D If there is an option to monitor the GPU proccessing speed or fps (of course, if it is possible to do so...never found an app that does that), the app would be prefect for all developers/end users to monitor their phone...but anyway, it is already good!no other apps are comparable to this! :)
 
Last edited:

noellenchris

Inactive Recognized Developer / Retired Moderator
May 11, 2007
2,604
890
Marlton, NJ
Thanks Chainfire, you never rest do you. You always seem to make apps that end up in my "Must Have's" :p Even on WM daze. At least HTC isn't stealing your work....bla bla....

Noellenchris
 

FDisk80

Senior Member
Jun 17, 2012
1,060
364
Awesome! But why does it needs to keep running in background after all floating windows are closed.
Shouldn't doing so also exit the app.

Add GPU info floating window and FPS window and this is GOLD! :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 260
    PerfMon is a "floating" performance monitor tool. It shows on top of any other app you are running. Aside from being useful for powerusers wanting to know what their device is doing, it is a great tool to use during debugging and profiling.

    PerfMon offers you four categories of metrics:

    - Foreground App
    - CPU
    - Disk I/O
    - Network I/O

    PerfMon will also show you a new and unique-to-PerfMon performance metric: "CPU Capacity Usage". The CPU usage percentage traditionally used to measure and compare how much of the computational resources an app (or the entire device) is currently using does not make sense in a mobile multi-core setting. The capacity metric will take the CPU usage and scale it to what it would be if all cores were running at full capacity.

    For example: if you have a 1.6ghz quad-core running a light app, it could be using 10% CPU with only one of the four cores active, and that core running at 200mhz. If you translate that to all four cores running at 1.6ghz, that app is using only 0.3% of total CPU capacity.

    It's the only CPU Usage metric that makes any sense!

    Foreground App

    This window shows metric of the currently foreground (running and visible) application:

    - Application title
    - Application package name
    - Memory usage total (in megabytes)
    - Dalvik, Native, and Other memory usage (in megabytes)
    - Overall CPU Usage (normal percentage and capacity)
    - User and System CPU Usage (normal percentage)

    CPU

    This window displays overall CPU metrics:

    - Capacity usage and current divider
    - Overall CPU usage percentage
    - Per-core CPU usage percentage and megahertz

    Disk I/O

    This window displays the disk I/O metrics of your MMC-based storage devices. Usually, mmcblk0 is your internal flash, and mmcblk1 is your removable SD-card. Please note that currently MTD-based storage is not supported by this display. Also note that the metrics displayed are raw I/O, so if the OS has I/O requests buffered/cached, you will not see anything happen here.

    - Per-device read and write kilobytes/second

    Network I/O

    This window displays the network I/O metrics of your network interfaces.

    - Per-interface transmit (Tx) and receive (Rx) kilobytes/second

    Download

    Download from Google Play

    The Google Play download is not free - it costs about a beer (thanks!). The download listed below is 100% the exact same program, but free. If you are able to purchase on Play, please consider that these tools don't write themselves, and beer is an essential fuel to the Chainfire.

    REDISTRIBUTION IS NOT ALLOWED
    (you can link to this thread, but you can't repost the APK elsewhere, you can't include it in your ROMs, etc)

    ( < 1.2: 14003 )
    17
    Changelogs

    2015.02.24 - v1.21
    - Minor update to foreground app detection on Lollipop

    2015.02.13 - v1.20
    - Fixes for Lollipop

    2012.10.12 - v1.10
    - Fixed: "My Apps" button opened "Follow Me" instead
    11
    --- all mineh ---
    5
    So I figured away to get beyond finding the foreground app... but getting the CPU usage for that app is unfortunately still restricted.

    EDIT: just released v1.20, which works for me on my Nexus 5 / Lollipop.
    3
    Abandoned project?

    On Android 5 there is always "Google Search" shown as foreground app. Even if I kill it and run a different launcher :(

    They killed the API used to find the foreground app... not sure if I can workaround it. But yes, I have higher priority fixes for other apps at the moment.