Hello, Recently my program started running extremely slow and upon further investigation found that this '{method 'next_event' of 'grpc._cython.cygrpc.SegregatedCall' objects}' was taking over 5 seconds per call.
I am using all of the latest versions grpc and google-ads packages. Below is an example of the code that is running and the results from a cProfile run: from google.ads.googleads.client import GoogleAdsClient from google.ads.googleads.v13.services.services.google_ads_service import pagers import logging logging.basicConfig(level=logging.INFO, format='[%(asctime)s - %(levelname)s] %(message).5000s') logging.getLogger('google.ads.googleads.client').setLevel(logging.INFO) client = GoogleAdsClient.load_from_storage("google-ads.yaml") google_ads_service = client.get_service("GoogleAdsService", version='v13') class GoogleQuery: """A class to query Google Ads API Attributes: client: An initialized GoogleAdsClient instance. mcc_id: The Google Ads MCC ID search_accounts_query: A query to return all search accounts display_accounts_query: A query to return all display accounts Methods: get_existing_search_accounts: Returns a dictionary of existing search accounts get_existing_display_accounts: Returns a dictionary of existing display accounts run_gaql_query: Runs a GAQL query and returns a Pager object """ def __init__(self): self.client = client self.mcc_id = "XXXXXXXXXX" self.search_accounts_query = """SELECT customer_client.id, customer_client.resource_name, customer_client.descriptive_name, customer_client.manager, customer_client.applied_labels FROM customer_client WHERE customer_client.manager = false AND customer_client.id IS NOT NULL AND customer_client.descriptive_name LIKE '%Search%' AND customer.status = 'ENABLED'""" @staticmethod def run_gaql_query(query: str, customer_id) -> pagers.SearchPager: """runs GAQL query through Google Ads API Args: customer_id: customer ID being queried query: the actual GAQL query being ran Returns: Returns a pagers.SearchPager response of the raw data """ return google_ads_service.search( customer_id=customer_id, query=query ) def get_existing_search_accounts(self) -> dict: """runs GAQL query through Google Ads API Returns: Returns a dict of {internal_id, account_name} """ response = self.run_gaql_query(self.search_accounts_query, self.mcc_id) return {row.customer_client.descriptive_name[-8:]: row.customer_client.descriptive_name for row in response} gaql = GoogleQuery() gaql.get_existing_search_accounts() # cProfile Results from above code Tue May 16 13:31:28 2023 output_test.pstats 991213 function calls (973122 primitive calls) in 10.099 seconds Ordered by: internal time List reduced from 6168 to 20 due to restriction <20> ncalls tottime percall cumtime percall filename:lineno(function) 1 7.398 7.398 7.401 7.401 {method 'next_event' of 'grpc._cython.cygrpc.SegregatedCall' objects} -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/00fe0078-d9f0-4234-adec-0bf8ccb930c7n%40googlegroups.com.