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
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)
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)
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)
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)
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)
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)
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