示例#1
0
    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
示例#2
0
文件: api.py 项目: ranade1/hue-3
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)
示例#3
0
文件: api.py 项目: cloudera/hue
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)
示例#4
0
 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)