translate events

latency_logging_2
Lukas Petersson 2022-03-22 17:55:13 -07:00
parent 4e898fe88f
commit 1b50e24f65
5 changed files with 19 additions and 7 deletions

View File

@ -226,10 +226,13 @@ void can_send_thread(std::vector<Panda *> pandas, bool fake_send) {
capnp::FlatArrayMessageReader cmsg(aligned_buf.align(msg.get()));
cereal::Event::Reader event = cmsg.getRoot<cereal::Event>();
LOGTT("sendcan received", event.getLogMonoTime(), true);
//Dont send if older than 1 second
if ((nanos_since_boot() - event.getLogMonoTime() < 1e9) && !fake_send) {
for (const auto& panda : pandas) {
panda->can_send(event.getSendcan());
LOGTT((std::string("sendcan sent to panda: ")+std::string(panda->usb_serial)).c_str(), event.getLogMonoTime() , true);
}
}
}

View File

@ -19,13 +19,19 @@ void cloudlog_e(int levelnum, const char* filename, int lineno, const char* func
__func__, \
fmt, ## __VA_ARGS__)
#define cloudlog_t(lvl, event_name, frame_id, ...) \
#define cloudlog_t_translate(lvl, event_name, frame_id, translate,...) \
{ \
uint64_t ns = nanos_since_boot(); \
std::string msg = std::string("{'timestamp': {'event': '") + std::string(event_name) + std::string("' ,'frameId':")+ std::to_string(frame_id) + std::string(",'time':") + std::to_string(ns)+std::string("}}"); \
cloudlog(lvl, msg.c_str(), ## __VA_ARGS__); \
std::string json_msg = std::string("{'timestamp': {'event': '") + std::string(event_name) + std::string("' ,'frameId':")+ std::to_string(frame_id) + std::string(",'time':") + std::to_string(ns)+ std::string(",'translate':") + std::to_string(translate)+std::string("}}"); \
cloudlog(lvl, json_msg.c_str(), ## __VA_ARGS__); \
}
#define cloudlog_t(lvl, event_name, frame_id,...) \
{ \
uint64_t ns = nanos_since_boot(); \
std::string json_msg = std::string("{'timestamp': {'event': '") + std::string(event_name) + std::string("' ,'frameId':")+ std::to_string(frame_id) + std::string(",'time':") + std::to_string(ns)+ std::string(",'translate':") + std::string("false")+std::string("}}"); \
cloudlog(lvl, json_msg.c_str(), ## __VA_ARGS__); \
}
#define cloudlog_rl(burst, millis, lvl, fmt, ...) \
{ \
@ -56,7 +62,8 @@ void cloudlog_e(int levelnum, const char* filename, int lineno, const char* func
} \
}
#define LOGT(event_name , frame_id, ...) cloudlog_t(CLOUDLOG_TIMESTAMP, event_name, frame_id, ## __VA_ARGS__)
#define LOGTT(event_name , frame_id, translate, ...) cloudlog_t_translate(CLOUDLOG_TIMESTAMP, event_name, frame_id, translate,## __VA_ARGS__)
#define LOGT(event_name , frame_id, ...) cloudlog_t(CLOUDLOG_TIMESTAMP, event_name, frame_id,## __VA_ARGS__)
#define LOGD(fmt, ...) cloudlog(CLOUDLOG_DEBUG, fmt, ## __VA_ARGS__)
#define LOG(fmt, ...) cloudlog(CLOUDLOG_INFO, fmt, ## __VA_ARGS__)
#define LOGW(fmt, ...) cloudlog(CLOUDLOG_WARNING, fmt, ## __VA_ARGS__)

View File

@ -631,7 +631,9 @@ class Controls:
if not self.read_only and self.initialized:
# send car controls over can
self.last_actuators, can_sends = self.CI.apply(CC)
self.pm.send('sendcan', can_list_to_can_capnp(can_sends, msgtype='sendcan', valid=CS.canValid))
sendcan_msg = can_list_to_can_capnp(can_sends, msgtype='sendcan')
self.pm.send('sendcan', sendcan_msg , valid=CS.canValid)
cloudlog.event("translate", logMonoTime=sendcan_msg.logMonoTime, frameId=frame_id)
cloudlog.timestamp("sendcan Published", frame_id)
CC.actuatorsOutput = self.last_actuators

View File

@ -8,7 +8,7 @@ from collections import defaultdict
timestamps = defaultdict(lambda: defaultdict(lambda: defaultdict(list)))
r = Route("9f583b1d93915c31|2022-03-22--15-13-06")
r = Route("9f583b1d93915c31|2022-03-22--15-59-29")
lr = LogReader(r.log_paths()[0])
for msg in lr:

File diff suppressed because one or more lines are too long