[ZBX-12978] Reduce number of zbx_handle_log() calls in preprocessing Created: 2017 Nov 03 Updated: 2018 Oct 09 Resolved: 2017 Nov 13 |
|
Status: | Closed |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Server (S) |
Affects Version/s: | 3.4.3 |
Fix Version/s: | 3.4.5rc1, 4.0.0alpha1, 4.0 (plan) |
Type: | Problem report | Priority: | Major |
Reporter: | Andris Zeila | Assignee: | Vladislavs Sokurenko |
Resolution: | Fixed | Votes: | 0 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Epic Link: | DEV-677 |
Team: | Team A |
Sprint: | Sprint 20 |
Story Points: | 0.5 |
Description |
zbx_handle_log() function is called in process main loops to ensure proper stdin/stderr redirection after log has been rotated. However when process is not sleeping this adds unnecessary overhead, especially noticeable in pre-processing manager. The zbx_handle_log() calls in preprocessing manager must be throttled to be called once per second. We might consider even adding now parameter to zbx_handle_log() and do throttling for all processes (though it probably has low % performance impact in sleep based main loops). |
Comments |
Comment by Andrey Melnikov [ 2017 Nov 08 ] |
Why not remove it completely? Every call to zabbix_log() already calls rotate_log() internally. vso it is there for a reason, stdout is redirected to log file. |
Comment by Andrey Melnikov [ 2017 Nov 08 ] |
Move it to housekeeper process. It's better have one call on one place. |
Comment by Vladislavs Sokurenko [ 2017 Nov 08 ] |
Yes, something like this would be nice to have https://www.zabbix.org/wiki/Docs/specs/DEV-541 |
Comment by Vladislavs Sokurenko [ 2017 Nov 10 ] |
Fixed in:
|