ПРИЛОЖЕНИЕ А
Листинг манифест файла
package="com.example.compic.app">
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name=".Main2Activity"
android:label="@string/title_activity_main2"
android:theme="@style/AppTheme.NoActionBar" />
74
ПРИЛОЖЕНИЕ Б
Листинг модуля настройки
package com.example.compic.app;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import javax.net.ssl.HttpsURLConnection;
public class Functions {
public int Count; //Число запросов
public int Delay;
StringBuilder log_=new StringBuilder();
public Long[] GetRequest(String s)
{
//Разбиваем строки на составляющие
String[] commands= s.split("\n");
ArrayList times = new ArrayList();
//Цикл по числу запусков теста
for(int i=0;i{
Long time= Long.valueOf(0);
//Цикл по переходам
for(int j=0;j{
//Суммируем время переходов
try {
time+=Test(commands[j]);
75
} catch (IOException e) {
e.printStackTrace();
}
}
times.add(time);
}
Object[] times_1=times.toArray();
Long[] arr_=new Long[times.size()];
for(int i=0;iarr_[i]=(Long)times_1[i];
return arr_;
}
//Нагрузочный тест
private Long Test(String text) throws IOException {
Long st, en,dt;
dt= Long.valueOf(0);
//Оценка времени отклика
st = System.nanoTime();
//ОБъект перехода по URL
URL url = new URL(text);
//Открытие соединения
HttpURLConnection con=null;
try {
con=(HttpURLConnection) url.openConnection();
//Если все удачно
if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
//Если запрос выполнен удачно, читаем полученные данные
String
res
=
new
BufferedReader(new
InputStreamReader(con.getInputStream())).readLine();
76
//Добавляем в лог
log_.append(res);
st = System.nanoTime();
}
}
finally {
if(con!=null)
con.disconnect();
}
en = System.nanoTime();
dt=en-st;
return dt;
}
//Тест производительности
public double[] Profile(String s)
{
String[] commands= s.split("\n");
double[] vals=new double[commands.length];
//Моделирование производительности
for(int i=0;ivals[i]=(int)(10*Count*Math.random());
return vals;
}
}
|