Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislavs Sokurenko <vladislavs.sokurenko@zabbix.com>2022-11-03 19:23:22 +0300
committerVladislavs Sokurenko <vladislavs.sokurenko@zabbix.com>2022-11-03 19:23:22 +0300
commit5604a808586036b0c131f93328510811d65bfc65 (patch)
tree71034f2b968bd78d9c4b569081f5b7b1d8776534
parentd22d8775865eb5392014d592e09ccc3f0ac4b30c (diff)
........S. [ZBX-21825] improved history syncer performance
-rw-r--r--src/libs/zbxdbcache/dbcache.c2
-rw-r--r--src/libs/zbxdbhigh/proxy.c8
2 files changed, 4 insertions, 6 deletions
diff --git a/src/libs/zbxdbcache/dbcache.c b/src/libs/zbxdbcache/dbcache.c
index 1bbafab1c56..0ad704abbee 100644
--- a/src/libs/zbxdbcache/dbcache.c
+++ b/src/libs/zbxdbcache/dbcache.c
@@ -2986,7 +2986,7 @@ static void sync_server_history(int *values_num, int *triggers_num, int *more)
items = (DC_ITEM *)zbx_calloc(NULL, 1, sizeof(DC_ITEM) * (size_t)ZBX_HC_SYNC_MAX);
if (NULL == errcodes)
- errcodes = (int *)zbx_calloc(NULL, 1, sizeof(int) * (size_t)ZBX_HC_SYNC_MAX);
+ errcodes = (int *)zbx_malloc(NULL, sizeof(int) * (size_t)ZBX_HC_SYNC_MAX);
zbx_vector_uint64_reserve(&itemids, history_num);
diff --git a/src/libs/zbxdbhigh/proxy.c b/src/libs/zbxdbhigh/proxy.c
index 4b1e5ec9703..0738a8191ab 100644
--- a/src/libs/zbxdbhigh/proxy.c
+++ b/src/libs/zbxdbhigh/proxy.c
@@ -3466,9 +3466,10 @@ static int process_history_data_by_itemids(zbx_socket_t *sock, zbx_client_item_v
zbx_proxy_suppress_t *nodata_win, char **info, unsigned int mode)
{
const char *pnext = NULL;
- int ret = SUCCEED, processed_num = 0, total_num = 0, values_num, read_num, i, *errcodes;
+ int ret = SUCCEED, processed_num = 0, total_num = 0, values_num, read_num, i,
+ errcodes[ZBX_HISTORY_VALUES_MAX];
double sec;
- DC_ITEM *items;
+ DC_ITEM items[ZBX_HISTORY_VALUES_MAX] = {0};
char *error = NULL;
zbx_uint64_t itemids[ZBX_HISTORY_VALUES_MAX], last_valueid = 0;
zbx_agent_value_t values[ZBX_HISTORY_VALUES_MAX];
@@ -3476,9 +3477,6 @@ static int process_history_data_by_itemids(zbx_socket_t *sock, zbx_client_item_v
zabbix_log(LOG_LEVEL_DEBUG, "In %s()", __func__);
- items = (DC_ITEM *)zbx_calloc(NULL, 1, sizeof(DC_ITEM) * ZBX_HISTORY_VALUES_MAX);
- errcodes = (int *)zbx_calloc(NULL, 1, sizeof(int) * ZBX_HISTORY_VALUES_MAX);
-
sec = zbx_time();
while (SUCCEED == parse_history_data_by_itemids(jp_data, &pnext, values, itemids, &values_num, &read_num,