From: Billy Olsen Date: Fri, 23 Jan 2015 22:50:40 +0000 (-0700) Subject: Refactor logging in loop to only log debug messages once X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=d93e0098ebd5f333d6f496f10a663cd4351410ae;p=openstack-build%2Fneutron-build.git Refactor logging in loop to only log debug messages once Logging entries in a loop to a file can be expensive for a large number of objects (e.g. ports) in a loop. Rather than perform the overhead of logging a debug entry for each line within the hosts file, move the debug trace of the contents to after the loop to bulk up the I/O operations. Change-Id: I3ad7864eeb2f959549ed356a1e34fa18804395cc Closes-Bug: #1414218 --- diff --git a/neutron/agent/linux/dhcp.py b/neutron/agent/linux/dhcp.py index 63a61d8a7..aa737604d 100644 --- a/neutron/agent/linux/dhcp.py +++ b/neutron/agent/linux/dhcp.py @@ -491,8 +491,6 @@ class Dnsmasq(DhcpLocalProcess): if getattr(port, 'extra_dhcp_opts', False): buf.write('%s,%s%s\n' % (port.mac_address, 'set:', port.id)) - LOG.debug('Adding %(mac)s : set:%(tag)s', - {"mac": port.mac_address, "tag": port.id}) continue # don't write ip address which belongs to a dhcp disabled subnet. @@ -510,19 +508,13 @@ class Dnsmasq(DhcpLocalProcess): buf.write('%s,%s,%s,%s%s\n' % (port.mac_address, name, ip_address, 'set:', port.id)) - LOG.debug('Adding %(mac)s : %(name)s : %(ip)s : ' - 'set:%(tag)s', - {"mac": port.mac_address, "name": name, - "ip": ip_address, "tag": port.id}) else: buf.write('%s,%s,%s\n' % (port.mac_address, name, ip_address)) - LOG.debug('Adding %(mac)s : %(name)s : %(ip)s', - {"mac": port.mac_address, "name": name, - "ip": ip_address}) utils.replace_file(filename, buf.getvalue()) - LOG.debug('Done building host file %s', filename) + LOG.debug('Done building host file %s with contents:\n%s', filename, + buf.getvalue()) return filename def _read_hosts_file_leases(self, filename):