TFE适配marsio_dp_trace_measurements_can_emit()的变更
This commit is contained in:
@@ -8,18 +8,62 @@ extern "C"
|
||||
|
||||
#include <marsio.h>
|
||||
|
||||
#define DP_TRACE_INFO(mr_ins, mr_buff, module, fmt, ...) \
|
||||
do \
|
||||
{ \
|
||||
if (marsio_dp_trace_measurements_can_emit(mr_ins, mr_buff)) \
|
||||
{ \
|
||||
marsio_dp_trace_measurement_emit_fmt(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TRACE, module, fmt, ##__VA_ARGS__); \
|
||||
marsio_dp_trace_measurement_emit_fmt(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, module, fmt, ##__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
static inline void record_msg_on_ctrl_pkt(char *buff, int size, uint64_t rule_id, uint64_t session_id, const char *state, const char *action, const char *reason)
|
||||
{
|
||||
int n = snprintf(buff, size, "intercept rule id=%lu, session=%lu, state=%s", rule_id, session_id, state);
|
||||
if (action)
|
||||
{
|
||||
n += snprintf(buff + n, size - n, ", action=%s", action);
|
||||
}
|
||||
if (reason)
|
||||
{
|
||||
n += snprintf(buff + n, size - n, ", reason=%s", reason);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void record_msg_on_raw_pkt(char *buff, int size, uint64_t rule_id, const char *traffic, const char *action, const char *reason)
|
||||
{
|
||||
int n = snprintf(buff, size, "intercept rule id=%lu, traffic=%s, action=%s", rule_id, traffic, action);
|
||||
if (reason)
|
||||
{
|
||||
snprintf(buff + n, size - n, ", reason=%s", reason);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void tfe_dp_telemetry_on_ctrl_pkt(mr_instance *mr_ins, marsio_buff_t *mr_buff, uint64_t rule_id, uint64_t session_id, const char *state, const char *action, const char *reason)
|
||||
{
|
||||
if (marsio_dp_trace_measurements_can_emit(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TRACE))
|
||||
{
|
||||
char buff[512] = {0};
|
||||
record_msg_on_ctrl_pkt(buff, sizeof(buff), rule_id, session_id, state, action, reason);
|
||||
marsio_dp_trace_measurement_emit_str(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TRACE, "Session Synchronization", buff);
|
||||
}
|
||||
if (marsio_dp_trace_measurements_can_emit(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY))
|
||||
{
|
||||
char buff[512] = {0};
|
||||
record_msg_on_ctrl_pkt(buff, sizeof(buff), rule_id, session_id, state, action, reason);
|
||||
marsio_dp_trace_measurement_emit_str(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, "Session Synchronization", buff);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void tfe_dp_on_raw_pkt(mr_instance *mr_ins, marsio_buff_t *mr_buff, uint64_t rule_id, const char *traffic, const char *action, const char *reason)
|
||||
{
|
||||
if (marsio_dp_trace_measurements_can_emit(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TRACE))
|
||||
{
|
||||
char buff[512] = {0};
|
||||
record_msg_on_raw_pkt(buff, sizeof(buff), rule_id, traffic, action, reason);
|
||||
marsio_dp_trace_measurement_emit_str(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TRACE, "Packet I/O", buff);
|
||||
}
|
||||
if (marsio_dp_trace_measurements_can_emit(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY))
|
||||
{
|
||||
char buff[512] = {0};
|
||||
record_msg_on_raw_pkt(buff, sizeof(buff), rule_id, traffic, action, reason);
|
||||
marsio_dp_trace_measurement_emit_str(mr_ins, mr_buff, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, "Packet I/O", buff);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cpluscplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user