响应时延和完成时延合并命令行

Signed-off-by: y1135885 <yuqigang1@huawei.com>
This commit is contained in:
y1135885 2024-01-03 14:38:17 +08:00
parent 9f1292c067
commit 049311cbd1
5 changed files with 93 additions and 2 deletions

View File

@ -31,7 +31,7 @@ int ClientControl::SocketStart(std::string args)
read(clientSocket, buffer, numBuff); read(clientSocket, buffer, numBuff);
send(clientSocket, message1, strlen(message1), 0); send(clientSocket, message1, strlen(message1), 0);
read(clientSocket, buffer, numBuff); read(clientSocket, buffer, numBuff);
if (strcmp(buffer, "start::true") == 0) { if (strcmp(buffer, "start::True") == 0) {
std::cout << "SP_daemon Collection begins" << std::endl; std::cout << "SP_daemon Collection begins" << std::endl;
} else { } else {
std::cout << "SP_daemon Collection begins failed" << std::endl; std::cout << "SP_daemon Collection begins failed" << std::endl;
@ -44,7 +44,7 @@ int ClientControl::SocketStop()
OHOS::SmartPerf::ClientControl::InitSocket(); OHOS::SmartPerf::ClientControl::InitSocket();
send(clientSocket, message2, strlen(message2), 0); send(clientSocket, message2, strlen(message2), 0);
read(clientSocket, buffer, numBuff); read(clientSocket, buffer, numBuff);
if (strcmp(buffer, "stop::true") == 0) { if (strcmp(buffer, "stop::True") == 0) {
std::cout << "SP_daemon Collection ended" << std::endl; std::cout << "SP_daemon Collection ended" << std::endl;
std::cout << "Output Path: data/local/tmp/smartperf/1/t_index_info.csv" << std::endl; std::cout << "Output Path: data/local/tmp/smartperf/1/t_index_info.csv" << std::endl;
} else { } else {

View File

@ -18,6 +18,7 @@
#include <cstring> #include <cstring>
#include <map> #include <map>
#include <sstream> #include <sstream>
#include <future>
#include "include/control_call_cmd.h" #include "include/control_call_cmd.h"
#include "include/startup_delay.h" #include "include/startup_delay.h"
#include "include/parse_trace.h" #include "include/parse_trace.h"
@ -68,6 +69,8 @@ std::string ControlCallCmd::GetResult(std::vector<std::string> v)
result = ControlCallCmd::GetAppStartTime(); result = ControlCallCmd::GetAppStartTime();
} else if (v[typeName] == "slideList") { } else if (v[typeName] == "slideList") {
result = ControlCallCmd::SlideList(); result = ControlCallCmd::SlideList();
} else if (v[typeName] == "timmeDelay") {
result = ControlCallCmd::TimeDelay();
} }
if (time == noNameType) { if (time == noNameType) {
std::cout << "Startup error, unknown application or application not responding" << std::endl; std::cout << "Startup error, unknown application or application not responding" << std::endl;
@ -80,6 +83,33 @@ std::string ControlCallCmd::GetResult(std::vector<std::string> v)
} }
return result; return result;
} }
std::string ControlCallCmd::TimeDelay()
{
OHOS::SmartPerf::ParseClickResponseTrace pcrt;
OHOS::SmartPerf::StartUpDelay sd;
std::string cmdResult;
OHOS::SmartPerf::Radar radar;
SPUtils::LoadCmd("rm -rfv /data/local/tmp/sp_trace_delay.ftrace", cmdResult);
std::string traceName = std::string("/data/local/tmp/") + std::string("sp_trace_") + "delay" + ".ftrace";
std::thread thGetTrace = sd.ThreadGetTrace("delay", traceName);
std::thread thGetHisysId = sd.ThreadGetHisysIdResponse();
std::thread thGetHisysId2 = sd.ThreadGetHisysIdComplete();
std::future<std::string> futureResult = std::async(std::launch::async, SPUtils::GetRadarResponse);
std::future<std::string> futureResult2 = std::async(std::launch::async, SPUtils::GetRadarComplete);
std::string str = futureResult.get();
std::string str2 = futureResult2.get();
thGetTrace.join();
thGetHisysId.join();
thGetHisysId2.join();
double strResponseTime = radar.ParseRadarResponse(str);
stream << strResponseTime;
double strCompleteTime = radar.ParseRadarResponse(str2);
std::ostringstream streamComplete;
streamComplete << strCompleteTime;
std::string resultTime = "ResponseTime:" + stream.str() + "ms\n" +
"CompleteTime:" + streamComplete.str() + "ms";
return resultTime;
}
std::string ControlCallCmd::SlideList() std::string ControlCallCmd::SlideList()
{ {
OHOS::SmartPerf::ParseClickResponseTrace pcrt; OHOS::SmartPerf::ParseClickResponseTrace pcrt;

View File

@ -36,6 +36,7 @@ public:
std::string GetFrame(); std::string GetFrame();
std::string GetAppStartTime(); std::string GetAppStartTime();
std::string SlideList(); std::string SlideList();
std::string TimeDelay();
private: private:
bool isOhTest = false; bool isOhTest = false;
std::string result = ""; std::string result = "";

View File

@ -25,6 +25,10 @@ public:
std::thread ThreadGetLayout(); std::thread ThreadGetLayout();
void InputEvent(const std::string &point); void InputEvent(const std::string &point);
std::thread ThreadInputEvent(const std::string &point); std::thread ThreadInputEvent(const std::string &point);
void GetHisysIdResponse();
std::thread ThreadGetHisysIdResponse();
void GetHisysIdComplete();
std::thread ThreadGetHisysIdComplete();
void GetHisysId(); void GetHisysId();
std::thread ThreadGetHisysId(); std::thread ThreadGetHisysId();
void ChangeToBackground(); void ChangeToBackground();

View File

@ -90,6 +90,52 @@ void StartUpDelay::GetHisysId()
} }
SPUtils::LoadCmd("kill " + second_str, str); SPUtils::LoadCmd("kill " + second_str, str);
} }
void StartUpDelay::GetHisysIdResponse()
{
int time = 10;
sleep(time);
std::string str = "";
SPUtils::LoadCmd("ps -ef |grep INTERACTION_RESPONSE_LATENCY", str);
std::stringstream ss(str);
std::string line = "";
getline(ss, line);
std::stringstream ss_line(line);
std::string word = "";
std::string second_str;
int count = 0;
int num = 2;
while (ss_line >> word) {
count++;
if (count == num) {
second_str = word;
break;
}
}
SPUtils::LoadCmd("kill " + second_str, str);
}
void StartUpDelay::GetHisysIdComplete()
{
int time = 10;
sleep(time);
std::string str = "";
SPUtils::LoadCmd("ps -ef |grep INTERACTION_COMPLETED_LATENCY", str);
std::stringstream ss(str);
std::string line = "";
getline(ss, line);
std::stringstream ss_line(line);
std::string word = "";
std::string second_str;
int count = 0;
int num = 2;
while (ss_line >> word) {
count++;
if (count == num) {
second_str = word;
break;
}
}
SPUtils::LoadCmd("kill " + second_str, str);
}
bool StartUpDelay::GetSpTcp() bool StartUpDelay::GetSpTcp()
{ {
std::string str = ""; std::string str = "";
@ -103,11 +149,21 @@ bool StartUpDelay::GetSpTcp()
} }
return flagTcp; return flagTcp;
} }
std::thread StartUpDelay::ThreadGetHisysIdResponse()
{
std::thread thGetHisysIdResponse(&StartUpDelay::GetHisysIdResponse, this);
return thGetHisysIdResponse;
}
std::thread StartUpDelay::ThreadGetHisysId() std::thread StartUpDelay::ThreadGetHisysId()
{ {
std::thread thGetHisysId(&StartUpDelay::GetHisysId, this); std::thread thGetHisysId(&StartUpDelay::GetHisysId, this);
return thGetHisysId; return thGetHisysId;
} }
std::thread StartUpDelay::ThreadGetHisysIdComplete()
{
std::thread thGetHisysIdComplete(&StartUpDelay::GetHisysIdComplete, this);
return thGetHisysIdComplete;
}
void StartUpDelay::ChangeToBackground() void StartUpDelay::ChangeToBackground()
{ {
std::string result; std::string result;