in cost-optimization/gke-vpa-recommendations/metrics-exporter/main.py [0:0]
def get_namespaces(client, start_time):
namespaces = set()
query = config.NS_QUERY
interval = utils.get_interval(start_time, query.window)
aggregation = utils.get_aggregation(query)
project_name = utils.get_request_name()
try:
results = client.list_time_series(
request={
"name": project_name,
"filter": f'metric.type = "{query.metric}" AND {config.namespace_filter}',
"interval": interval,
"view": monitoring_v3.ListTimeSeriesRequest.TimeSeriesView.HEADERS,
"aggregation": aggregation})
logging.info("Building Row of Namespace results")
for result in results:
label = result.resource.labels
namespaces.add(label['namespace_name'])
return list(namespaces)
except GoogleAPICallError as error:
logging.error(f'Google API call error: {error}')
except Exception as error:
logging.error(f'Unexpected error: {error}')
return list(namespaces)