diff options
author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-08-01 09:34:58 +0000 |
---|---|---|
committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-08-01 09:34:58 +0000 |
commit | 2d43875da97cbac5613fff6b24314cfc924df5dc (patch) | |
tree | 4804891e9b48186259d7e30ddd880cc22101291d /src/zabbix_server/functions.c | |
parent | 297e8dc29466989c96b89865a2e8fd02cdb7c155 (diff) | |
download | zabbix-2d43875da97cbac5613fff6b24314cfc924df5dc.tar.gz zabbix-2d43875da97cbac5613fff6b24314cfc924df5dc.tar.xz zabbix-2d43875da97cbac5613fff6b24314cfc924df5dc.zip |
- better pattern of distribution of item next checks to improve overall
performance (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@3080 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/zabbix_server/functions.c')
-rw-r--r-- | src/zabbix_server/functions.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/zabbix_server/functions.c b/src/zabbix_server/functions.c index f5942772..2ff3c25c 100644 --- a/src/zabbix_server/functions.c +++ b/src/zabbix_server/functions.c @@ -683,8 +683,9 @@ static int update_item(DB_ITEM *item, AGENT_RESULT *value, int now) (strcmp(item->prevvalue_str,item->lastvalue_str) != 0))) { DBescape_string(value_str,value_esc,MAX_STRING_LEN); -/* zbx_snprintf(sql,sizeof(sql),"update items set nextcheck=%d,prevvalue=lastvalue,lastvalue='%s',lastclock=%d where itemid=%d",now+item->delay,value_esc,now,item->itemid);*/ - DBexecute("update items set nextcheck=%d,prevvalue=lastvalue,lastvalue='%s',lastclock=%d where itemid=%d",calculate_item_nextcheck(item->delay,now),value_esc,(int)now,item->itemid); +/* snprintf(sql,sizeof(sql)-1,"update items set nextcheck=%d,prevvalue=lastvalue,lastvalue='%s',lastclock=%d where itemid=%d",now+item->delay,value_esc,now,item->itemid);*/ + DBexecute("update items set nextcheck=%d,prevvalue=lastvalue,lastvalue='%s',lastclock=%d where itemid=%d",calculate_item_nextcheck(item->itemid, item->delay,now),value_esc,(int)now,item->itemid); + item->prevvalue=item->lastvalue; item->lastvalue=value_double; item->prevvalue_str=item->lastvalue_str; @@ -695,8 +696,8 @@ static int update_item(DB_ITEM *item, AGENT_RESULT *value, int now) } else { -/* zbx_snprintf(sql,sizeof(sql),"update items set nextcheck=%d,lastclock=%d where itemid=%d",now+item->delay,now,item->itemid);*/ - DBexecute("update items set nextcheck=%d,lastclock=%d where itemid=%d",calculate_item_nextcheck(item->delay,now),(int)now,item->itemid); +/* snprintf(sql,sizeof(sql)-1,"update items set nextcheck=%d,lastclock=%d where itemid=%d",now+item->delay,now,item->itemid);*/ + DBexecute("update items set nextcheck=%d,lastclock=%d where itemid=%d",calculate_item_nextcheck(item->itemid, item->delay,now),(int)now,item->itemid); } } /* Logic for delta as speed of change */ @@ -704,13 +705,13 @@ static int update_item(DB_ITEM *item, AGENT_RESULT *value, int now) { if((item->prevorgvalue_null == 0) && (item->prevorgvalue <= value_double) ) { -/* zbx_snprintf(sql,sizeof(sql),"update items set nextcheck=%d,prevvalue=lastvalue,prevorgvalue=%f,lastvalue='%f',lastclock=%d where itemid=%d",now+item->delay,value_double,(value_double - item->prevorgvalue)/(now-item->lastclock),now,item->itemid);*/ - DBexecute("update items set nextcheck=%d,prevvalue=lastvalue,prevorgvalue=%f,lastvalue='%f',lastclock=%d where itemid=%d",calculate_item_nextcheck(item->delay,now),value_double,(value_double - item->prevorgvalue)/(now-item->lastclock),(int)now,item->itemid); +/* snprintf(sql,sizeof(sql)-1,"update items set nextcheck=%d,prevvalue=lastvalue,prevorgvalue=%f,lastvalue='%f',lastclock=%d where itemid=%d",now+item->delay,value_double,(value_double - item->prevorgvalue)/(now-item->lastclock),now,item->itemid);*/ + DBexecute("update items set nextcheck=%d,prevvalue=lastvalue,prevorgvalue=%f,lastvalue='%f',lastclock=%d where itemid=%d",calculate_item_nextcheck(item->itemid, item->delay,now),value_double,(value_double - item->prevorgvalue)/(now-item->lastclock),(int)now,item->itemid); } else { -/* zbx_snprintf(sql,sizeof(sql),"update items set nextcheck=%d,prevorgvalue=%f,lastclock=%d where itemid=%d",now+item->delay,value_double,now,item->itemid);*/ - DBexecute("update items set nextcheck=%d,prevorgvalue=%f,lastclock=%d where itemid=%d",calculate_item_nextcheck(item->delay,now),value_double,(int)now,item->itemid); +/* snprintf(sql,sizeof(sql)-1,"update items set nextcheck=%d,prevorgvalue=%f,lastclock=%d where itemid=%d",now+item->delay,value_double,now,item->itemid);*/ + DBexecute("update items set nextcheck=%d,prevorgvalue=%f,lastclock=%d where itemid=%d",calculate_item_nextcheck(item->itemid, item->delay,now),value_double,(int)now,item->itemid); } item->prevvalue=item->lastvalue; @@ -726,11 +727,11 @@ static int update_item(DB_ITEM *item, AGENT_RESULT *value, int now) { if((item->prevorgvalue_null == 0) && (item->prevorgvalue <= value_double) ) { - DBexecute("update items set nextcheck=%d,prevvalue=lastvalue,prevorgvalue=%f,lastvalue='%f',lastclock=%d where itemid=%d",calculate_item_nextcheck(item->delay,now),value_double,(value_double - item->prevorgvalue),(int)now,item->itemid); + DBexecute("update items set nextcheck=%d,prevvalue=lastvalue,prevorgvalue=%f,lastvalue='%f',lastclock=%d where itemid=%d",calculate_item_nextcheck(item->itemid, item->delay,now),value_double,(value_double - item->prevorgvalue),(int)now,item->itemid); } else { - DBexecute("update items set nextcheck=%d,prevorgvalue=%f,lastclock=%d where itemid=%d",calculate_item_nextcheck(item->delay,now),value_double,(int)now,item->itemid); + DBexecute("update items set nextcheck=%d,prevorgvalue=%f,lastclock=%d where itemid=%d",calculate_item_nextcheck(item->itemid, item->delay,now),value_double,(int)now,item->itemid); } item->prevvalue=item->lastvalue; |