NEW: add track for cmd ack

Change-Id: Ibf2c9874bfac0b7a83506a7de2418ef8f3650dc3
This commit is contained in:
Stone Li 2023-03-22 09:08:30 +08:00 committed by Lane.Wei
parent 5bb35c3086
commit 0a1c597da0
2 changed files with 42 additions and 2 deletions

View file

@ -1393,6 +1393,14 @@ void MachineObject::parse_version_func()
}
}
bool MachineObject::is_studio_cmd(int sequence_id)
{
if (sequence_id >= START_SEQ_ID && sequence_id < END_SEQ_ID) {
return true;
}
return false;
}
int MachineObject::command_get_version(bool with_retry)
{
BOOST_LOG_TRIVIAL(info) << "command_get_version";
@ -2355,6 +2363,16 @@ int MachineObject::parse_json(std::string payload)
if (j.contains("print")) {
json jj = j["print"];
int sequence_id = 0;
if (jj.contains("sequence_id")) {
std::string str_seq = jj["sequence_id"].get<std::string>();
try {
sequence_id = stoi(str_seq);
}
catch(...) {
;
}
}
if (jj.contains("command")) {
if (jj["command"].get<std::string>() == "push_status") {
m_push_count++;
@ -3298,9 +3316,23 @@ int MachineObject::parse_json(std::string payload)
} else if (jj["command"].get<std::string>() == "gcode_line") {
//ack of gcode_line
BOOST_LOG_TRIVIAL(debug) << "parse_json, ack of gcode_line = " << j.dump(4);
if (m_agent && is_studio_cmd(sequence_id)) {
json t;
t["dev_id"] = this->dev_id;
t["signal"] = this->wifi_signal;
m_agent->track_event("ack_cmd_gcode_line", t.dump());
}
} else if (jj["command"].get<std::string>() == "project_file") {
//ack of project file
BOOST_LOG_TRIVIAL(debug) << "parse_json, ack of project_file = " << j.dump(4);
if (m_agent && is_studio_cmd(sequence_id)) {
json t;
t["dev_id"] = this->dev_id;
t["signal"] = this->wifi_signal;
m_agent->track_event("ack_cmd_project_file", t.dump());
}
std::string result;
if (jj.contains("result")) {
result = jj["result"].get<std::string>();
@ -3558,8 +3590,13 @@ int MachineObject::publish_gcode(std::string gcode_str)
j["print"]["param"] = gcode_str;
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
if (m_agent)
if (m_agent) {
j["print"]["user_id"] = m_agent->get_user_id();
json t;
t["dev_id"] = this->dev_id;
t["signal"] = this->wifi_signal;
m_agent->track_event("cmd_gcode_line", t.dump());
}
return publish_json(j.dump());
}

View file

@ -33,6 +33,8 @@
#define GET_VERSION_RETRYS 10
#define RETRY_INTERNAL 2000
#define VIRTUAL_TRAY_ID 254
#define START_SEQ_ID 20000
#define END_SEQ_ID 30000
inline int correct_filament_temperature(int filament_temp)
{
@ -389,7 +391,7 @@ public:
};
/* static members and functions */
static inline int m_sequence_id = 20000;
static inline int m_sequence_id = START_SEQ_ID;
static std::string parse_printer_type(std::string type_str);
static std::string get_preset_printer_model_name(std::string printer_type);
static std::string get_preset_printer_thumbnail_img(std::string printer_type);
@ -684,6 +686,7 @@ public:
~MachineObject();
void parse_version_func();
bool is_studio_cmd(int seq);
/* command commands */
int command_get_version(bool with_retry = true);
int command_request_push_all();