[ZBX-12978] Reduce number of zbx_handle_log() calls in preprocessing Created: 2017 Nov 03  Updated: 2024 Apr 10  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:

  • pre-3.4.5rc1 r74441
  • pre-4.0.0alpha1 (trunk) 74442
Generated at Wed Apr 24 20:29:45 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.