All Projects → AntonioRedondo → Anothermonitor

AntonioRedondo / Anothermonitor

Licence: gpl-3.0
Monitors and records the CPU and memory usage of Android devices

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Anothermonitor

Swiftmetrics
Swift Application Metrics instruments the Swift runtime for performance monitoring, providing the monitoring data programatically via an API or visually with an Eclipse Client.
Stars: ✭ 145 (-85.22%)
Mutual labels:  monitoring, performance-visualization
Observer cli
Visualize Erlang/Elixir Nodes On The Command Line
Stars: ✭ 1,058 (+7.85%)
Mutual labels:  memory, performance-visualization
Heapinspector For Ios
Find memory issues & leaks in your iOS app without instruments
Stars: ✭ 1,819 (+85.42%)
Mutual labels:  monitoring, performance-visualization
Pcm
Processor Counter Monitor
Stars: ✭ 1,240 (+26.4%)
Mutual labels:  monitoring, performance-visualization
Wgcloud
linux运维监控工具,支持系统信息,内存,cpu,温度,磁盘空间及IO,硬盘smart,系统负载,网络流量等监控,API接口,大屏展示,拓扑图,进程监控,端口监控,docker监控,文件防篡改,日志监控,数据可视化,web ssh,堡垒机,指令下发批量执行,linux面板,探针,故障告警
Stars: ✭ 2,669 (+172.07%)
Mutual labels:  memory, monitoring
Scouter Paper
scouter-paper is a web client software for scouter
Stars: ✭ 183 (-81.35%)
Mutual labels:  monitoring, performance-visualization
Myperf4j
High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.
Stars: ✭ 2,281 (+132.52%)
Mutual labels:  monitoring, performance-visualization
Rainbarf
it's like Rainmeter, but for CLI!
Stars: ✭ 1,087 (+10.81%)
Mutual labels:  memory, monitoring
Sysstat
Performance monitoring tools for Linux
Stars: ✭ 2,055 (+109.48%)
Mutual labels:  memory, monitoring
Xfce4 Genmon Scripts
🐭 XFCE panel generic monitor scripts
Stars: ✭ 69 (-92.97%)
Mutual labels:  memory, monitoring
Heim
Cross-platform async library for system information fetching 🦀
Stars: ✭ 572 (-41.69%)
Mutual labels:  memory, monitoring
Watchdoginspector
Shows your current framerate (fps) in the status bar of your iOS app
Stars: ✭ 497 (-49.34%)
Mutual labels:  monitoring, performance-visualization
Stats Js
JavaScript Performance Monitor using canvas
Stars: ✭ 12 (-98.78%)
Mutual labels:  memory, monitoring
Augmented seq2seq
enhance seq2seq model for open ended dialog generation
Stars: ✭ 29 (-97.04%)
Mutual labels:  memory
Pgwatch2
PostgreSQL metrics monitor/dashboard
Stars: ✭ 960 (-2.14%)
Mutual labels:  monitoring
Prometheus Net
.NET library to instrument your code with Prometheus metrics
Stars: ✭ 944 (-3.77%)
Mutual labels:  monitoring
Sensu Plugins Network Checks
This plugin provides native network instrumentation for monitoring and metrics collection, including: hardware, TCP response, RBLs, whois, port status, and more.
Stars: ✭ 28 (-97.15%)
Mutual labels:  monitoring
Scout apm elixir
ScoutAPM Elixir Agent. Supports Phoenix and other frameworks.
Stars: ✭ 33 (-96.64%)
Mutual labels:  monitoring
Azure Grafana Dashboard Templates
Grafana dashboard templates for Azure
Stars: ✭ 31 (-96.84%)
Mutual labels:  monitoring
Vsphere2metrics
VMware vSphere Performance Metrics Integration with Graphite & InfluxDB
Stars: ✭ 28 (-97.15%)
Mutual labels:  monitoring

AnotherMonitor

.

AnotherMonitor monitors and records the CPU and memory usage of Android devices.

ANOTHERMONITOR IS IN LOW DEVELOPMENT STATUS

But not dead by any means. April 2020 update: since Android 7.0 the app functionality has been seriously hampered. But it can still be useful for some folks out there. I'm planning to maintain the app in the long term. I also reply to issues and welcome pull requests. 😃

Download ready-to-use app

The app is released on Google Play: https://play.google.com/store/apps/details?id=org.anothermonitor.

IMPORTANT NOTICE for Android 7.0+ users

Due to undocumented changes made by Google, on Android 7.0 CPU usage information for processes others than the own AnotherMonitor one will not be available (not even with root access). Rest of the app will work normally. For devices with Android 8.0 AnotherMonitor will not even show the CPU usage of the own app process. Read the below Retriving processes info since Android 7.0 for more info.

Details

AnotherMonitor shows the device CPU and memory status in real time.

It has two main options:

  • It shows a chart and several labels wherein the values of the CPU and memory usage are updated every 0.5, 1, 2 or 4 seconds.
  • It can record on a CSV file the read values for a later usage on a spreadsheet program.

When AnotherMonitor is running on the background it consumes little resources. Then it can monitor and record the CPU and memory usage of other applications on the foreground.

AnotherMonitor adds a Record and Close button to the AnotherMonitor entry on the notification drawer.

How CPU and memory usage are obtained

In order to get the CPU usage the app does NOT make use of the top command from Linux but instead it parses /proc/stat and rest of process folders from the procfs file system and work out the calculations with the user and system time. This is implemented on ServiceReader.class. Find more information about this on Calculating CPU usage of a process in Linux - Stack Overflow.

About multi-core devices

The app does not support showing values for a specific core in multi-core devices. It will show an average of all the device's cores.

Retrieving processes info since Android Lollipop 5.1 (API 22, March 2015)

For devices running Android 5.1.1 it is not possible any more to retrieve the processes list with ActivityManager.getRunningAppProcesses(). This change has not been documented anywhere on the official documentation nor an alternative way to retrieve the list has been provided. Thankfully the community at Stack Overflow came out with some satisfying solution. For devices with Android 5.1 AnotherMonitor now uses the unofficial AndroidProcesses library to retrieve the processes list. The drawback of this is that for some processes there is no way to retrieve the app name nor the icon and instead only the long package name is shown.

Retrieving processes info since Android Nougat 7.0 (API 24, August 2016)

In Android 7.0 Google once again has made undocumented changes and has significantly restricted access to the proc file system. This means that since this new API level it is not possible anymore to retrieve processes info. AnotherMonitor running on devices with Android 7.0 will only show total CPU usage, AnotherMonitor CPU usage and memory usage, but not CPU usage for other processes. Running the app on a rooted device does not make difference. More info on File system changes in Android Nougat - Stack Overflow. Star this Android issue to push Google to implement an alternative API.

Retrieving processes info since Android Oreo 8.0 (API 26, August 2017)

In Android 8.0 Google has further restricted access to the proc file system. Until now it was possible to at least get process info of the process running AnotherMonitor and total CPU usage. This does not work any more. AnotherMonitor running on devices with Android 8.0 will only show memory usage, but not total CPU usage or CPU usage for any process, including the own app process. Running the app on a rooted device does not make difference.

Resolving dependencies

AnotherMonitor only has one external dependency, AndroidProcesses. It is used to retrieve the device processes list and populate the 'Processes' screen.

See the Gradle file for more details.

Contribute!

If you have an awesome pull request no matter whether it's a big or small change, send it over! Your link to your GitHub account will be added below.

License

AnotherMonitor makes use of the GNU GPL v3.0 license. Remember to make public your project source code when reusing AnotherMonitor code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].