def _metrics(self, appid): query_profile = self.api.get_query_profile_encoded(appid) profile = analyzer.analyze(analyzer.parse_data(query_profile)) ANALYZER.pre_process(profile) metrics = analyzer.metrics(profile) if ENABLE_QUERY_ANALYSIS.get(): result = ANALYZER.run(profile) if result and result[0]: for factor in result[0]['result']: if factor['reason'] and factor['result_id'] and metrics[ 'nodes'].get(factor['result_id']): metrics['nodes'][ factor['result_id']]['health'] = factor['reason'] return metrics
def alanize_metrics(request): response = {'status': -1} cluster = json.loads(request.POST.get('cluster', '{}')) query_id = json.loads(request.POST.get('query_id')) api = _get_api(request.user, cluster=cluster) if query_id: LOG.debug("Attempting to get Impala query profile for query ID: %s" % (query_id)) query_profile = api.get_query_profile_encoded(query_id) profile = analyzer.analyze(analyzer.parse_data(query_profile)) ANALYZER.pre_process(profile) metrics = analyzer.metrics(profile) response['data'] = metrics response['status'] = 0 return JsonResponse(response)
def _metrics(self, appid): query_profile = self.api.get_query_profile_encoded(appid) profile = analyzer.analyze(analyzer.parse_data(query_profile)) ANALYZER.pre_process(profile) return analyzer.metrics(profile)