Ejemplo n.º 1
0
def generate_perf_counter(task):
    result = {}
    try:
        last_metrics = json.loads(task.last_metrics)
    except:
        print 'Failed to parse metrics of task:', task
        print task.last_metrics
        return result

    endpoint = result.setdefault(
        metric_helper.form_perf_counter_endpoint_name(task), {})
    for bean_name, bean_metrics in last_metrics.iteritems():
        group_name = metric_helper.form_perf_counter_group_name(
            task, bean_name)
        group = endpoint.setdefault(group_name, {})
        for metric_name, metric_value in bean_metrics.iteritems():
            metric_type = type(metric_value)
            if not metric_type is int and not metric_type is float:
                continue
            key_name = metric_helper.form_perf_counter_key_name(
                bean_name, metric_name)
            counter = group.setdefault(key_name, {})
            counter['type'] = 0
            counter['unit'] = ''
            counter['value'] = metric_value
    return result
Ejemplo n.º 2
0
def show_task(request, id):
    task = dbutil.get_task(id)
    job = task.job
    tasks = dbutil.get_tasks_by_job(job)

    tsdb_metrics = metric_helper.make_metrics_query_for_task(metric_helper.form_perf_counter_endpoint_name(task), task)

    params = {"job": job, "task": task, "tasks": tasks, "tsdb_metrics": tsdb_metrics}
    return respond(request, "monitor/task.html", params)
Ejemplo n.º 3
0
def show_job(request, id):
    tasks = dbutil.get_healthy_tasks_by_job(id)
    job = dbutil.get_job(id)

    endpoints = [metric_helper.form_perf_counter_endpoint_name(task) for task in tasks]
    tsdb_metrics = metric_helper.make_metrics_query_for_job(endpoints, job, tasks)
    print tsdb_metrics
    params = {"job": job, "tasks": tasks, "tsdb_metrics": tsdb_metrics}

    return respond(request, "monitor/job.html", params)
Ejemplo n.º 4
0
def show_regionserver_operation(request, id):
  regionserver = dbutil.get_regionserver(id)
  cluster = regionserver.cluster
  endpoint = metric_helper.form_perf_counter_endpoint_name(regionserver.task)
  params = {
    'cluster' : cluster,
    'regionserver' : regionserver,
    'metrics' : metric_helper.generate_operation_metric_for_regionserver(regionserver),
    'endpoint' : endpoint
  }
  return respond(request, 'monitor/hbase_regionserver_operation.html', params)
Ejemplo n.º 5
0
def show_job(request, id):
  tasks = dbutil.get_healthy_tasks_by_job(id)
  job = dbutil.get_job(id)

  endpoints = [metric_helper.form_perf_counter_endpoint_name(task) for task in tasks]
  tsdb_metrics = metric_helper.make_metrics_query_for_job(endpoints, job, tasks)
  print tsdb_metrics
  params = {
    'job': job,
    'tasks': tasks,
    'tsdb_metrics': tsdb_metrics,
  }

  return respond(request, 'monitor/job.html', params)
Ejemplo n.º 6
0
def show_task(request, id):
    task = dbutil.get_task(id)
    job = task.job
    tasks = dbutil.get_tasks_by_job(job)

    tsdb_metrics = metric_helper.make_metrics_query_for_task(
        metric_helper.form_perf_counter_endpoint_name(task), task)

    params = {
        'job': job,
        'task': task,
        'tasks': tasks,
        'tsdb_metrics': tsdb_metrics,
    }
    return respond(request, 'monitor/task.html', params)
Ejemplo n.º 7
0
def show_task(request, id):
  task = dbutil.get_task(id)
  job = task.job
  tasks = dbutil.get_tasks_by_job(job)

  tsdb_metrics = metric_helper.make_metrics_query_for_task(
    metric_helper.form_perf_counter_endpoint_name(task),
    task)

  params = {
    'job': job,
    'task': task,
    'tasks': tasks,
    'tsdb_metrics': tsdb_metrics,
  }
  return respond(request, 'monitor/task.html', params)
Ejemplo n.º 8
0
def generate_perf_counter(task):
  result = {}
  try:
    last_metrics = json.loads(task.last_metrics)
  except:
    print 'Failed to parse metrics of task:', task
    print task.last_metrics
    return result

  endpoint = result.setdefault(metric_helper.form_perf_counter_endpoint_name(task), {})
  for bean_name, bean_metrics in last_metrics.iteritems():
    group_name = metric_helper.form_perf_counter_group_name(task, bean_name)
    group = endpoint.setdefault(group_name, {})
    for metric_name, metric_value in bean_metrics.iteritems():
      metric_type = type(metric_value)
      if not metric_type is int and not metric_type is float:
        continue
      key_name = metric_helper.form_perf_counter_key_name(bean_name, metric_name)
      counter = group.setdefault(key_name, {})
      counter['type'] = 0
      counter['unit'] = ''
      counter['value'] = metric_value
  return result