Merge pull request #1660 from fengzeroz/v2.6

log: reduce alloc
This commit is contained in:
fengzeroz
2023-11-10 03:58:15 -06:00
committed by GitHub
4 changed files with 46 additions and 53 deletions
+41 -48
View File
@@ -21,6 +21,7 @@ config_ **/
#define _NEU_LOG_H_
#include <inttypes.h>
#include <memory.h>
#include "utils/zlog.h"
@@ -88,55 +89,47 @@ inline static const char *log_level_to_str(int level)
zlog((plugin)->common.log, __FILE__, sizeof(__FILE__) - 1, __func__, \
sizeof(__func__) - 1, __LINE__, ZLOG_LEVEL_DEBUG, __VA_ARGS__)
#define zlog_recv_protocol(log, bytes, n_byte) \
uint16_t log_protocol_buf_size = n_byte * 5 + 20; \
char * log_protocol_buf = calloc(log_protocol_buf_size, 1); \
int log_offset = 0; \
uint16_t tmp_n_byte = n_byte; \
log_offset = snprintf(log_protocol_buf, log_protocol_buf_size, "<<(%d)", \
tmp_n_byte); \
for (int i = 0; i < n_byte; i++) { \
if (log_protocol_buf_size > log_offset && \
log_protocol_buf_size - log_offset > 10) { \
int s_ret = snprintf(log_protocol_buf + log_offset, \
log_protocol_buf_size - log_offset, \
" 0x%02hhX", (bytes)[i]); \
if (s_ret > 0) { \
log_offset += s_ret; \
} else { \
break; \
} \
} else { \
break; \
} \
} \
zlog_debug(log, "%s", log_protocol_buf); \
free(log_protocol_buf);
enum neu_protocol_log_type {
NEU_PROTOCOL_SEND,
NEU_PROTOCOL_RECV,
};
#define zlog_send_protocol(log, bytes, n_byte) \
uint16_t log_protocol_buf_size = n_byte * 5 + 20; \
char * log_protocol_buf = calloc(log_protocol_buf_size, 1); \
int log_offset = 0; \
uint16_t tmp_n_byte = n_byte; \
log_offset = snprintf(log_protocol_buf, log_protocol_buf_size, ">>(%d)", \
tmp_n_byte); \
for (int i = 0; i < n_byte; i++) { \
if (log_protocol_buf_size > log_offset && \
log_protocol_buf_size - log_offset > 10) { \
int s_ret = snprintf(log_protocol_buf + log_offset, \
log_protocol_buf_size - log_offset, \
" 0x%02hhX", (bytes)[i]); \
if (s_ret > 0) { \
log_offset += s_ret; \
} else { \
break; \
} \
} else { \
break; \
} \
} \
zlog_debug(log, "%s", log_protocol_buf); \
free(log_protocol_buf);
inline static void zlog_protocol(zlog_category_t *log, uint8_t *bytes,
uint16_t n_byte,
enum neu_protocol_log_type type)
{
static __thread char buf[2048] = { 0 };
int offset = 0;
memset(buf, 0, sizeof(buf));
if (type == NEU_PROTOCOL_SEND) {
offset = snprintf(buf, sizeof(buf) - 1, ">>(%d)", n_byte);
} else {
offset = snprintf(buf, sizeof(buf) - 1, "<<(%d)", n_byte);
}
for (int i = 0; i < n_byte; i++) {
if (sizeof(buf) > (size_t) offset && sizeof(buf) - offset > 10) {
int s_ret = snprintf(buf + offset, sizeof(buf) - offset - 1,
" 0x%02hhX", bytes[i]);
if (s_ret > 0) {
offset += s_ret;
} else {
break;
}
} else {
break;
}
}
zlog_debug(log, "%s", buf);
}
#define zlog_send_protocol(log, bytes, n_byte) \
zlog_protocol(log, bytes, n_byte, NEU_PROTOCOL_SEND)
#define zlog_recv_protocol(log, bytes, n_byte) \
zlog_protocol(log, bytes, n_byte, NEU_PROTOCOL_RECV)
#define plog_recv_protocol(plugin, bytes, n_byte) \
zlog_recv_protocol((plugin)->common.log, bytes, n_byte)
+2 -2
View File
@@ -347,8 +347,8 @@ const neu_plugin_module_t neu_plugin_module = {
.version = NEURON_PLUGIN_VER_1_0,
.schema = "ekuiper",
.module_name = "eKuiper",
.module_descr = "Neuron and LF Edge eKuiper integration plugin",
.module_descr_zh = "Neuron 和 LF Edge eKuiper 一体化插件",
.module_descr = "LF Edge eKuiper integration plugin",
.module_descr_zh = "LF Edge eKuiper 一体化插件",
.intf_funs = &plugin_intf_funs,
.kind = NEU_PLUGIN_KIND_SYSTEM,
.type = NEU_NA_TYPE_APP,
+1 -1
View File
@@ -402,7 +402,7 @@ static const neu_plugin_intf_funs_t plugin_intf_funs = {
#define DEFAULT_MONITOR_PLUGIN_DESCR \
"Builtin plugin for Neuron monitoring and alerting"
#define DEFAULT_MONITOR_PLUGIN_DESCR_ZH "Neuron内置监控与告警插件"
#define DEFAULT_MONITOR_PLUGIN_DESCR_ZH "内置监控与告警插件"
const neu_plugin_module_t neu_plugin_module = {
.version = NEURON_PLUGIN_VER_1_0,
+2 -2
View File
@@ -393,8 +393,8 @@ static const neu_plugin_intf_funs_t plugin_intf_funs = {
.request = mqtt_plugin_request,
};
#define DESCRIPTION "Neuron northbound MQTT plugin bases on NanoSDK."
#define DESCRIPTION_ZH "基于 NanoSDK 的 Neuron 北向应用 MQTT 插件"
#define DESCRIPTION "Northbound MQTT plugin bases on NanoSDK."
#define DESCRIPTION_ZH "基于 NanoSDK 的北向应用 MQTT 插件"
const neu_plugin_module_t neu_plugin_module = {
.version = NEURON_PLUGIN_VER_1_0,