add background measurement

This commit is contained in:
HappyZ 2017-02-25 09:51:55 -08:00
parent ea40cfba4d
commit f19c1ae093
9 changed files with 107 additions and 24 deletions

View File

@ -37,7 +37,7 @@
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@ -66,14 +66,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@ -82,6 +74,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />

View File

@ -55,7 +55,7 @@ class MainActivity extends Activity {
protected static int time_wait_for = 100; // ms
protected static int wifiDriverPID = -1;
// maintained variables
private Button btn_startTransmit, btn_startReceive;
private Button btn_startTransmit, btn_startReceive, btn_measureBg;
private Button btn_setByte2send, btn_setRepeatTimes, btn_setTCPDumpInterface,
btn_clearStatus, btn_setLogFreq, btn_setOthers;
private WifiManager wm;
@ -630,6 +630,7 @@ class MainActivity extends Activity {
txt_results = (TextView) findViewById(R.id.txt_results);
btn_startTransmit = (Button) findViewById(R.id.btn_startTransmit);
btn_startReceive = (Button) findViewById(R.id.btn_startReceive);
btn_measureBg = (Button) findViewById(R.id.btn_measureBg);
btn_setByte2send = (Button) findViewById(R.id.btn_setByte2send);
btn_setRepeatTimes = (Button) findViewById(R.id.btn_setRepeatTimes);
btn_setTCPDumpInterface = (Button) findViewById(R.id.btn_setTCPDumpInterface);
@ -656,6 +657,73 @@ class MainActivity extends Activity {
startRecording(true);
}
});
btn_measureBg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
// msg indicating starting
myHandler.post(new Runnable() {
@Override
public void run() {
txt_results.append("Starting.. will come back after 1min\n");
}
});
// disable tcpdump
boolean isUsingTCPDump_backup = isUsingTCPDump;
isUsingTCPDump = false;
// change screen brightness to 0
Utilities.switchScreenStatus();
btn_click_time = Long.toString(
System.currentTimeMillis());
startService(intentSSLogger);
try {
Thread.sleep(60000); // sleep for 60s
} catch (InterruptedException e) {
e.printStackTrace();
}
stopService(intentSSLogger);
myServiceCheck();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// change screen back on
Utilities.switchScreenStatus();
Runtime.getRuntime().gc();
System.gc();
String tarName = "bg_measure_"
+ (new SimpleDateFormat(
"yyyyMMdd_HHmmss", Locale.US)
.format(new Date()))
+ ".tar.gz";
String[] commd = new String[3];
commd[0] = "su";
commd[1] = "&&";
commd[2] = "cd " + outFolderPath
+ " && busybox tar -czf "
+ tarName + " *.cpu *.cpuRaw *.ss";
try {
Runtime.getRuntime().exec(commd).waitFor();
} catch (InterruptedException | IOException e) {
e.printStackTrace();
}
isUsingTCPDump = isUsingTCPDump_backup;
// msg indicating all done
myHandler.post(new Runnable() {
@Override
public void run() {
txt_results.append("Done\n");
}
});
}
}).start();
}
});
btn_setByte2send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

View File

@ -345,7 +345,7 @@ class SSLogger extends Service {
* @return string that's been parsed
*/
private static String parseProcPIDStat(String line) {
if (line == null) return "-1 -1 -1"; // -1 means it does not exist
if (line == null) return "nan nan nan"; // -1 means it does not exist
String[] toks = line.split("\\s+");
long idle = Long.parseLong(toks[15]) + Long.parseLong(toks[16]);
long cpu = Long.parseLong(toks[13]) + Long.parseLong(toks[14]);

View File

@ -41,7 +41,8 @@ class Thread_TX_CNormalUDP implements Runnable {
+ (MainActivity.isLocal ? Utilities.myInetIP : MainActivity.remoteIP) + " "
+ Utilities.UDP_port + " "
+ ((MainActivity.currentBandwidth < 0) ? "" : String.valueOf(
MainActivity.currentBandwidth));
MainActivity.currentBandwidth))
+ ((Utilities.udpsendsize == -1) ? "" : String.valueOf(Utilities.udpsendsize));
Log.d("TX_NormalUDP", "Start TX Normal UDP");

View File

@ -21,7 +21,7 @@
android:id="@+id/btn_startTransmit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_weight="2"
android:text="@string/btn_begintx"
android:textStyle="bold"
android:textSize="20dp"
@ -32,12 +32,23 @@
android:id="@+id/btn_startReceive"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_weight="2"
android:text="@string/btn_beginrx"
android:textStyle="bold"
android:textSize="20dp"
android:textColor="#FFFFFF"/>
<Button
android:theme="@style/theme_btn_bg"
android:id="@+id/btn_measureBg"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="Get BG"
android:textStyle="bold"
android:textSize="20dp"
android:textColor="#FFFFFF"/>
</LinearLayout>
<LinearLayout

View File

@ -5,8 +5,8 @@
<string name="btn_setuptcpdump">Setup\nTCPDump</string>
<string name="btn_setothers">Misc.</string>
<string name="btn_clear">Clear</string>
<string name="btn_beginrx">Begin RX</string>
<string name="btn_begintx">Begin TX</string>
<string name="btn_beginrx">Start RX</string>
<string name="btn_begintx">Start TX</string>
<string name="warn_root">Not rooted!! Must be rooted!</string>
<string name="stat_wifion">WiFi is ON!\n</string>
<string name="stat_wifioff">WiFi is NOT On!\n</string>

3
OffloadingDemo/mobile/src/main/res/values/styles.xml Executable file → Normal file
View File

@ -8,4 +8,7 @@
<style name="theme_btn_rx" parent="android:Theme.Material">
<item name="android:colorButtonNormal">@color/pink</item>
</style>
<style name="theme_btn_bg" parent="android:Theme.Material">
<item name="android:colorButtonNormal">@color/wallet_holo_blue_light</item>
</style>
</resources>

View File

@ -66,14 +66,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@ -82,6 +74,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/22.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.0/jars" />