Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
7bff068
Merge pull request #1 from kevinkong/master
andrewleo Feb 4, 2013
2eec9dd
Update README.md
kevinkong Feb 5, 2013
939d33a
Update README.md
kevinkong Feb 5, 2013
e187d89
Update README.md
kevinkong Feb 5, 2013
b2b218a
refine javadoc and delete apk directory
andrewleo Feb 5, 2013
0cb3410
conplie emmagee.spk
andrewleo Feb 5, 2013
06fb705
delete build.xml
andrewleo Feb 5, 2013
7380892
Update README.md
andrewleo Feb 5, 2013
7c495fb
Update README.md
andrewleo Feb 5, 2013
bc8f673
refine code
andrewleo Feb 18, 2013
48d4cdf
refine code
andrewleo Feb 18, 2013
5b4e1bb
support windows
andrewleo Feb 27, 2013
859e36e
support windows
andrewleo Feb 27, 2013
b8b66e6
refine code
andrewleo Feb 28, 2013
87558e2
Merge branch 'master' of https://github.com/NetEase/Emmagee.git
andrewleo Feb 28, 2013
2533df9
refine code according to checkstyle
andrewleo Feb 28, 2013
9cb8904
support win and unix os
andrewleo Mar 5, 2013
d0cb989
fix bug
andrewleo Mar 12, 2013
fe27aff
fix bugs
andrewleo Mar 13, 2013
232debd
fix bus:cpu usage is negative
andrewleo Mar 25, 2013
615ee0b
solve some issues on github,refine code
andrewleo Apr 1, 2013
53f46d7
modify res file
andrewleo Apr 1, 2013
1652824
refine code
andrewleo Apr 1, 2013
b74a9ce
modify Manifest.xml and classpath
andrewleo Apr 8, 2013
c132223
libs including needed jar
andrewleo Apr 8, 2013
acbacf4
send performance report by email
andrewleo Apr 8, 2013
59b8b45
update version
andrewleo Apr 8, 2013
ee0b745
Update README.md
andrewleo Apr 8, 2013
90f8e01
add changelog
kevinkong Apr 9, 2013
b2c07d8
Update and rename changelog.txt to changelog.md
kevinkong Apr 9, 2013
5ccfe08
Update changelog.md
kevinkong Apr 9, 2013
ce6af86
add resource
andrewleo Apr 9, 2013
9e902d2
Merge branch 'master' of https://github.com/NetEase/Emmagee.git
andrewleo Apr 9, 2013
2fe0617
edit by checkstyle
kevinkong Apr 12, 2013
2771437
fix bug
andrewleo Jul 2, 2013
6f1f27d
commit
Aug 13, 2013
408aacb
add batt monitor
andrewleo Aug 14, 2013
174aacf
add author
Aug 16, 2013
325701b
modify how to contribute
andrewleo Sep 2, 2013
d4ec6c2
Update README.md
andrewleo Sep 3, 2013
2e1bdf6
new features:add battery monitoring and quad-core CPU
Sep 9, 2013
dd13f5b
issue #10:Memory above 1000;Improvement:List the application with alp…
Nov 25, 2013
1e26fa7
Update VERSION
andrewleo Dec 2, 2013
09028b5
Fixed: #11 delete abnormal data
Dec 17, 2013
2133743
Added: 优化浮窗界面
Dec 17, 2013
f225bdf
Added: #13 保留应用的选中状态
Dec 18, 2013
ee187d7
Add: app starting time
hzhuangqingbin Dec 19, 2013
1d89a09
Fixed: reivew comments
hzhuangqingbin Dec 20, 2013
ab8e504
Merge pull request #14 from NetEase/feature/start_time
bingohuang Dec 23, 2013
630c877
issue#11 过滤异常的数据;issue#13 保留应用的选中状态,优化界面
Dec 23, 2013
611c969
Added: #12 add "stop test" button on floating window
Dec 24, 2013
36da692
Fixed: start time bug & AUTHORS\VERSION
hzhuangqingbin Dec 24, 2013
5b2c7e3
Misc: show icon
Dec 25, 2013
e384d9a
Added: 优化启动时间,优化界面
Dec 27, 2013
244509a
Fixed: #15 usage rate of CPU is negative
Jan 5, 2014
a50baea
Fixed: #21 #10
kevinkong Apr 10, 2014
505eb12
Fixed: #25 report unavailable path of csv while test ending
Aug 29, 2014
adb9f2d
Fixed: #26 dulplicated toast when stop test
Sep 3, 2014
fad688b
Fixed: get cpu_name of x86 architecture
Sep 9, 2014
5d0a85c
Added: calculate usage rate of each cpu, and record them in csv
Sep 12, 2014
30f676d
Added: i18n
hzhuangqingbin Sep 17, 2014
395902b
Update some translations.
sephinroth Sep 18, 2014
85f08ab
Fixed some i18n issues after review.
hzhuangqingbin Sep 18, 2014
4b6c1a1
Added: refine ui of settingActivity,mailActivity and aboutActivityexit
Sep 17, 2014
4d6ec8a
Merge: i18n,conflict res/
Sep 18, 2014
2ee3c07
Misc: optimize the main page ui.
hzhuangqingbin Sep 18, 2014
af7f6b4
Added: add a seekbar to manage collect frequency and optimize ui
Sep 18, 2014
ec85393
Merge: navigation_bar and manifest
Sep 18, 2014
39036cb
Added: optimize ui and floating window
Sep 18, 2014
7f3cdf2
Fixed: code review and modify.
hzhuangqingbin Sep 22, 2014
39b8d2d
Merge pull request #28 from NetEase/develop
andrewleo Sep 22, 2014
f97f347
Update README.md and changelog.md
andrewleo Sep 22, 2014
c8533ed
Update README.md
andrewleo Sep 22, 2014
1350be7
remove `libs` from build path; add .gitignore; ...
yrom Oct 12, 2014
5abd03d
Merge branch 'yrom-master' into develop
Oct 16, 2014
8e6089f
Misc: code review
Oct 16, 2014
3f3f843
Misc: update contributors
andrewleo Oct 16, 2014
bb006b9
add link to contributors
andrewleo Oct 17, 2014
0bfc4ae
fix decimal separator to .
Dec 9, 2014
8d1cba6
Added: add debug log to monitor network traffic & update version and …
Dec 29, 2014
f24c641
Fixed: #33 app crashed when move the floating window after stop test
Dec 31, 2014
4c2dc6d
Added: #35 add top activity name to csv report and #34 change encodin…
Jan 9, 2015
fd1ebf2
Fixed: #32 negative network traffic
Feb 10, 2015
d815347
Added: add setting options: collect heap data, require root permission
Feb 12, 2015
b92a61d
Fixed: #36 broken report when total memory is larger than 1024M
Mar 11, 2015
88bf84d
Added: #37 Add a new option in Settings: stop monitoring when app exited
Mar 11, 2015
2d2a44f
Fixed: #40 & #19 incorrect network traffic in some high level sdk
Mar 24, 2015
669de8a
Added: add ftp to csv
Jul 31, 2015
93d3594
Added: support 5.1.1: use top command to get pid
Aug 24, 2015
7cbf2b8
Fixed: #45 floating window will move down a little bit when touch it
Sep 7, 2015
a24e18d
Fixed: #46 remove invalid code in TrafficInfo.java
Sep 7, 2015
def4df8
Fixed: cpu name of arm and refine fps
Dec 30, 2015
43fda8f
修改uid获取方式
Jul 18, 2016
0edd274
Merge pull request #63 from mrx1203/master
andrewleo Sep 14, 2016
415bdf5
Added: add meizu pro 5 current_now path
dezng Feb 22, 2016
fb42b87
Merge pull request #65 from NetEase/develop
andrewleo Sep 14, 2016
993787c
Update README.md
jp1017 Sep 30, 2016
a883848
Merge pull request #68 from jp1017/patch-1
andrewleo Oct 10, 2016
b452b10
Added: some tiny change
Mar 9, 2017
9b04c52
Added: add button to refresh application list in main page
Mar 9, 2017
2ad075f
Added: write N/A in TopActivity column when sdk is higher than 21; an…
Mar 9, 2017
211fcd5
Fixed: record N/A in TopActivity when sdk is higher than 21
Mar 10, 2017
29e11a2
Added: issue template
Apr 20, 2017
9e5bc2a
Added: #74 Add a new option in Settings: keep screen awake or not
andrewleo Mar 30, 2017
e164c4a
Added: #73 show test report in phone
andrewleo Jun 13, 2017
a601c25
Fixed: correct versionCode and versionName
andrewleo Jun 14, 2017
14f8fcc
Misc: put images to one line
andrewleo Jun 20, 2017
3af7a3c
Fixed: #94 Q2:read uid_stat to get traffic info while TrafficStats re…
andrewleo Aug 24, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .classpath
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="libs/activation.jar"/>
<classpathentry kind="lib" path="libs/mail.jar"/>
<classpathentry kind="lib" path="libs/additionnal.jar"/>
<classpathentry kind="lib" path="libs/android-support-v4.jar"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="lib" path="libs/commons-io-2.5.jar"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## The problem

Describe the issue you are experiencing, or features you want.

## Environment

* Emmagee version
* Device Information: **Brand**, **Model**, **System**.

## Link to Emmagee logs

Create a [GIST](https://gist.github.com) which is a paste of your _full_ Emmagee logs, and link them here.
Do _NOT_ paste your full Emmagee logs here, as it will make this issue very long and hard to read!
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

lint.xml
.DS_Store
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
* KevinKong <[email protected]> <weibo:@孔庆云Kevin> <github:kevinkong>
* andrewleo <[email protected]> <weibo:@A_o11> <github:andrewleo>
* bingoHuang <[email protected]> <weibo:@黄庆兵> <github:bingoHuang>
64 changes: 39 additions & 25 deletions AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,42 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.netease.qa.emmagee"
android:versionCode="1"
android:versionName="1.0" >
android:versionCode="34"
android:versionName="2.5.1" >

<uses-sdk android:minSdkVersion="7" />
<application android:name=".utils.MyApplication"
<uses-sdk android:minSdkVersion="8" />

<application
android:name=".utils.MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name" >
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar" >
<activity
android:name=".activity.MainPageActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden"> <!-- 防止程序横屏以后重新启动 -->
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleInstance"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- <category android:name="android.intent.category.DEFAULT" /> -->
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.SystemActivity"
android:label="@string/app_name2" >
</activity>

<activity
android:name=".activity.SettingsActivity"
android:label="@string/app_name4" >
</activity>
android:launchMode="singleInstance"
android:screenOrientation="portrait"
android:theme="@style/customTheme" />
<activity
android:name=".activity.AboutActivity"
android:screenOrientation="portrait" />
<activity
android:name=".activity.MailSettingsActivity"
android:screenOrientation="portrait" />
<activity
android:name=".activity.TestListActivity"
android:screenOrientation="portrait" />
<activity
android:name=".activity.TestReportActivity"
android:screenOrientation="portrait" />

<service
android:name="com.netease.qa.emmagee.service.EmmageeService">
</service>
<service android:name="com.netease.qa.emmagee.service.EmmageeService" />
</application>

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />

</manifest>
Expand Down
135 changes: 78 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,78 @@
##Emmagee - a practical, handy performance test tool for specified Android App

Emmagee is a practical, handy performance test tool for specified Android App, which can monitor CPU, memory and
network traffic. Additionally, it also provides several cool features such as customizing interval of collecting data,
rendering real-time process status in a floating window, and much more.

* Homepage:
* Wiki:
* Issues:
* Tags: Android, Java

## Features

* Process-specific monitoring
* Real-time data displaying
* User-defined collecting interval

## Why should I use Emmagee?

Unlike other performance test tools that only do system-level monitoring, Emmagee provides the ability to monitor any single App. Other advantages that
you should not miss:
* Open source
* Easy to use
* Floating window rendering real-time process status
* CSV format report that can be converted into any other format you want
* Fully support Android 2.2 and above

## How to use Emmagee?

1. Start Emmagee App
2. Configure interval
3. Select a target process
4. Click Start button

And Enjoy!

If you want to stop the test, just go back to Emmagee and click Stop button.

## Contributors
* NetEase, Inc.

## License
(The Apache License)

Copyright (c) 2012-2013 NetEase, Inc. and other contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
## Emmagee - a practical, handy performance test tool for specified Android App

Emmagee is a practical, handy performance test tool for specified Android App, which can monitor CPU, memory,
network traffic, battery current and status([Some devices are not supported](https://github.com/NetEase/Emmagee/wiki/Some-devices-are-not-supported)), new features such as top activity and heap size if rooted([Root Toast may continously show](https://github.com/NetEase/Emmagee/wiki/FAQ)), are also supported in the [latest version](https://github.com/NetEase/Emmagee/releases). Additionally, it also provides several cool features such as customizing interval of collecting data,
rendering real-time process status in a floating window, and much more.

* Homepage: https://github.com/NetEase/Emmagee
* Wiki: https://github.com/NetEase/Emmagee/wiki
* Issues: https://github.com/NetEase/Emmagee/issues
* FAQ: https://github.com/NetEase/Emmagee/wiki/FAQ
* Tags: Android, Java

<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/homepage.png" width="180px" />&nbsp;<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/settings.png" width="180px" />&nbsp;<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/mailsettings.png" width="180px" />

## Why should I use Emmagee?

Unlike most other performance test tools that only do system-level monitoring, Emmagee provides the ability to monitor any single App. Other advantages that
you should not miss:
* Open source
* Easy to use
* Process-specific monitoring, including CPU, memory, network traffic, battery current, launching time and status
* Floating window that renders real-time process status
* CSV format report that can be converted into any other format you want
* User-defined collecting interval
* Fully support Android 2.2 and above

## How to use Emmagee?

First of all ,you should have Emmagee.apk,download [here](https://github.com/NetEase/Emmagee/releases) or
build the apk file youself [here](https://github.com/NetEase/Emmagee/wiki/How-to-build-emmage.apk%3F),then :

1. Start Emmagee App
2. Configure interval
3. Select a target process
4. Click Start button

And Enjoy!

If you want to stop the test, just go back to Emmagee and click Stop button.

## Android 5.0 and above

* `Android 5.0 and above`: getRunningTasks() and getRunningAppProcesses() are deprecated and only return your application process, so it is unable to get TopActivity from Android 5.0.
* `Android 7.0`: Google has restricted access to /proc, and also can not get pid of target application from TOP command in Android 7.0, I am so sorry to tell that 7.0 can not be supported.

## Coming Soon
* We want you to decide!

## How to Contribute?

You are welcome to contribute to Emmagee, meanwhile you'd better follow the rules below

* It's *NOT* recommended to submit a pull request directly to Emmagee's `master` branch. `develop` branch is more appropriate
* Follow common Java coding conventions
* Put all Java class files under *com.netease* package
* Add the following [license](#license) in each Java class file

## Contributors
* NetEase, Inc.
* [yrom](https://github.com/yrom)
* [LukeOwncloud](https://github.com/LukeOwncloud)

## License
(The Apache License)

Copyright (c) 2012-2015 NetEase, Inc. and other contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.0
2.4
Binary file removed apk/Emmagee.apk
Binary file not shown.
51 changes: 0 additions & 51 deletions build.xml

This file was deleted.

44 changes: 44 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Emmagee Changelog

###2.0 (2014-9-22)
New Features:
* Optimization of UI
* I18N support(Chinese Simplified and English)
* Collect usage of each CPU cores

Issues Fixed:
* #16 'Save' button is covered when soft keyboard pops up
* #20 Strings hard-coded for language
* #21 CSV report enhancement
* #24 Floating window disappears on some specific devices
* #25 Report unavailable path of CSV when test is over
* #26 Dulplicated toast when test is over

###1.3.0 (2014-1-6)
New Features:
* Integrate monitoring of app starting time

Issues fixed
* #12 Add "stop test" button on floating window
* #13 Optimize interface and user experience

###1.2.1 (2013-11-25)
Issues fixed:
* #10 The CSV report displays abnormally when free memory is above 1000.

Improvements to :
* #9 List the application with alphabet order.

###1.2.0 (2013-9-17)
* Support quad-core CPU
* Integrate monitoring of battery current and status

###1.1.0 (2013-4-8)
* Configure specified recipients to receive test reports
* Automaticly save the result when monitoring app stops

###1.0.0 (2013-1-18)
* Process-specific monitoring
* Floating window that renders real-time process status
* CSV format report that can be converted into any other format you want
* User-defined collecting interval
Loading