in definitions/definition.py [0:0]
def __init__(self, account):
self.metric_sets: List = []
self.sla_sets: List = []
accounts = fetch_account_streamers(account)
for acc in accounts:
defenition = Definition(account=acc)
for metric_set in defenition.metric_sets:
for metric in metric_set.metrics:
metric_details = metric.__dict__
metric_details['account'] = acc
if metric_details['metadata']:
metadata_map = {}
for meta in metric_details['metadata']:
metadata_map[meta.name] = meta.value
metric_details['metadata'] = json.dumps(metadata_map)
if metric_details['dimensions']:
dimensions_map = {}
for dimension in metric_details['dimensions']:
dimensions_map[dimension.name] = dimension.value
metric_details['dimensions'] = json.dumps(dimensions_map)
metric_details['metric_set'] = metric_details['metric_set'].name
metric_details['dashboard'] = metric_details['dashboard'].dashboard_name
if 'dataset' in metric_details:
metric_details['dataset'] = json.dumps(metric_details['dataset'].__dict__)
if 'analyzers' in metric_details:
metric_details['analyzers'] = json.dumps(metric_details['analyzers'])
if 'checkers' in metric_details:
metric_details['checkers'] = json.dumps(metric_details['checkers'])
if 'reference_datasets' in metric_details:
metric_details['reference_datasets'] = json.dumps(metric_details['reference_datasets'])
self.metric_sets.append(metric_details)
for sla_set in defenition.sla_sets:
for sla in sla_set.slas:
sla_details = sla.__dict__
del sla_details['sla_set']
sla_details['metric_namespace'] = sla_details['metric'].namespace
sla_details['metric_name'] = sla_details['metric'].name
sla_details['metric_set'] = sla_details['metric'].metric_set.name
if sla_details['metric'].metadata:
metadata_map = {}
for meta in sla_details['metric'].metadata:
metadata_map[meta.name] = meta.value
sla_details['metric_metadata'] = json.dumps(metadata_map)
if sla_details['metric'].dimensions:
dimensions_map = {}
for dimension in sla_details['metric'].dimensions:
dimensions_map[dimension.name] = dimension.value
sla_details['metric_dimensions'] = json.dumps(dimensions_map)
del sla_details['metric']
sla_details['account'] = acc
self.sla_sets.append(sla_details)