From 09bf28aa887a27da2d0010f5ffc4b55652002551 Mon Sep 17 00:00:00 2001 From: Nate Johnston Date: Thu, 30 Apr 2020 22:12:08 -0400 Subject: [PATCH] Time port fetches Time port fetches to isolate performance problems. Change-Id: Idaca95e5769e0562b29ffc148b39b287cc31939e --- neutron/objects/ports.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/neutron/objects/ports.py b/neutron/objects/ports.py index 8527d9f6408..2f5c3b48ffe 100644 --- a/neutron/objects/ports.py +++ b/neutron/objects/ports.py @@ -20,6 +20,7 @@ from oslo_log import log as logging from oslo_utils import versionutils from oslo_versionedobjects import fields as obj_fields +from neutron.common import utils from neutron.db.models import dns as dns_models from neutron.db.models import l3 from neutron.db.models import securitygroup as sg_models @@ -409,6 +410,7 @@ class Port(base.NeutronDbObject): ) @classmethod + @utils.timecost def get_objects(cls, context, _pager=None, validate_filters=True, security_group_ids=None, **kwargs): if security_group_ids: @@ -419,8 +421,15 @@ class Port(base.NeutronDbObject): kwargs['id'] = list(set(port_ids) & set(ports_with_sg)) else: kwargs['id'] = ports_with_sg - return super(Port, cls).get_objects(context, _pager, validate_filters, - **kwargs) + port_array = super(Port, cls).get_objects(context, _pager, + validate_filters, + **kwargs) + sg_count = len(security_group_ids) if security_group_ids else 0 + LOG.debug("Time-cost: Fetching %(port_count)s ports in %(sg_count)s " + "security groups", + {'port_count': len(port_array), + 'sg_count': sg_count}) + return port_array @classmethod def get_port_ids_filter_by_segment_id(cls, context, segment_id):