def data(): metric_names = frozenset(flask.g.config.widget_metrics) diff = flask.request.form['diff'].encode('UTF-8') metric_config = GenerateOptions.from_yaml( yaml.load(io.open('generate_config.yaml').read()), ) parsers = get_metric_parsers_from_args( metric_config.metric_package_names, skip_defaults=False, ) metrics = get_metrics(Commit.blank, diff, parsers, metric_config.exclude) metrics = [ metric for metric in metrics if metric.value and metric.name in metric_names ] commit_deltas = sorted([ CommitDelta.from_data( metric.name, Delta('javascript:;', metric.value), color_overrides=flask.g.config.color_overrides, ) for metric in metrics ]) return json.dumps({ 'metrics': render_template('widget.mako', commit_deltas=commit_deltas), })
def show(metric_name, start_timestamp, end_timestamp): start_timestamp = int(start_timestamp) end_timestamp = int(end_timestamp) metric_changes = sorted( logic.get_major_changes_for_metric( flask.g.db, start_timestamp, end_timestamp, metric_name, )) metric_changes = [(datetime.datetime.fromtimestamp(timestamp).strftime( '%Y-%m-%d %H:%M:%S', ), sha, CommitDeltaPresenter.from_data( metric_name, DeltaPresenter('javascript:;', value), )) for timestamp, sha, value in metric_changes] override_classname = ('color-override' if metric_name in metric_config.color_overrides else '') rendered_template = render_template( 'changes.mako', changes=metric_changes, override_classname=override_classname, ) return simplejson.dumps({'body': rendered_template})
def data(): metric_names = set(widget_metrics) diff = flask.request.form['diff'].encode('UTF-8') metric_config = GenerateOptions.from_yaml( yaml.load(io.open('generate_config.yaml').read()), ) parsers = get_metric_parsers_from_args( metric_config.metric_package_names, skip_defaults=False, ) metrics = get_metrics(diff, parsers) metrics = [ metric for metric in metrics if metric.value and metric.name in metric_names ] commit_deltas = sorted([ CommitDeltaPresenter.from_data( metric.name, DeltaPresenter('javascript:;', metric.value), ) for metric in metrics ]) return simplejson.dumps({ 'metrics': render_template('widget.mako', commit_deltas=commit_deltas) })
def show(metric_name): db_logic = flask.g.db_logic start_timestamp = int(flask.request.args.get('start')) end_timestamp = int(flask.request.args.get('end')) metric_info = db_logic.get_metric_info(metric_name) data_points = data_points_for_time_range( start_timestamp, end_timestamp, data_points=250, ) metrics_for_dates = db_logic.metrics_for_dates(metric_info.id, data_points) metrics_for_js = sorted({(m.date * 1000, m.value) for m in metrics_for_dates}) return render_template( 'graph.mako', description=metric_info.description, metric_name=metric_name, metrics=json.dumps(metrics_for_js), start_timestamp=start_timestamp, end_timestamp=end_timestamp, changes_url=flask.url_for( 'changes.show', metric_name=metric_name, start_timestamp=start_timestamp, end_timestamp=end_timestamp, ), )
def show(): db_logic = flask.g.db_logic metric_names = db_logic.get_metric_ids() today = datetime.datetime.today() today_timestamp = to_timestamp(today) offsets = [(time_name, to_timestamp(today - offset)) for (time_name, offset) in DATE_NAMES_TO_TIMEDELTAS] current_values = db_logic.get_metrics_for_sha(db_logic.get_latest_sha()) metric_data = { time_name: db_logic.get_metrics_for_sha(db_logic.get_sha_for_date(timestamp)) for (time_name, timestamp) in offsets } return render_template( 'index.mako', groups=format_groups( flask.g.config, metric_names, today_timestamp, offsets, current_values, metric_data, ), )
def show(): metric_names = logic.get_metric_ids_from_database() today = datetime.datetime.today() today_timestamp = to_timestamp(today) offsets = [ (time_name, to_timestamp(today - offset)) for (time_name, offset) in DATE_NAMES_TO_TIMEDELTAS ] current_values = logic.get_metrics_for_sha(logic.get_latest_sha()) metric_data = dict( ( time_name, logic.get_metrics_for_sha(logic.get_sha_for_date(timestamp)), ) for (time_name, timestamp) in offsets ) return render_template( 'index.mako', groups=format_groups( metric_names, today_timestamp, offsets, current_values, metric_data, ), )
def show(metric_name): start_timestamp = int(flask.request.args.get('start')) end_timestamp = int(flask.request.args.get('end')) data_points = data_points_for_time_range( start_timestamp, end_timestamp, data_points=250, ) metrics_for_dates = logic.metrics_for_dates(metric_name, data_points) metrics_for_js = sorted( set((m.date * 1000, m.value) for m in metrics_for_dates)) return render_template('graph.mako', metric_name=metric_name, metrics=simplejson.dumps(metrics_for_js), start_timestamp=start_timestamp, end_timestamp=end_timestamp, changes_url=flask.url_for( 'changes.show', metric_name=metric_name, start_timestamp=start_timestamp, end_timestamp=end_timestamp, ))
def show(metric_name, start_timestamp, end_timestamp): start_timestamp = int(start_timestamp) end_timestamp = int(end_timestamp) metric_changes = sorted(logic.get_major_changes_for_metric( flask.g.db, start_timestamp, end_timestamp, metric_name, )) metric_changes = [ ( datetime.datetime.fromtimestamp(timestamp).strftime( '%Y-%m-%d %H:%M:%S', ), sha, CommitDeltaPresenter.from_data( metric_name, DeltaPresenter('javascript:;', value), ) ) for timestamp, sha, value in metric_changes ] override_classname = ( 'color-override' if metric_name in metric_config.color_overrides else '' ) rendered_template = render_template( 'changes.mako', changes=metric_changes, override_classname=override_classname, ) return simplejson.dumps({'body': rendered_template})
def show(metric_name): start_timestamp = int(flask.request.args.get('start')) end_timestamp = int(flask.request.args.get('end')) data_points = data_points_for_time_range( start_timestamp, end_timestamp, data_points=250, ) metrics_for_dates = logic.metrics_for_dates(metric_name, data_points) metrics_for_js = sorted(set( (m.date * 1000, m.value) for m in metrics_for_dates )) return render_template( 'graph.mako', metric_name=metric_name, metrics=simplejson.dumps(metrics_for_js), start_timestamp=start_timestamp, end_timestamp=end_timestamp, changes_url=flask.url_for( 'changes.show', metric_name=metric_name, start_timestamp=start_timestamp, end_timestamp=end_timestamp, ) )
def show(metric_name: str, start_ts: int, end_ts: int) -> str: metric_info = logic.get_metric_info(flask.g.db, metric_name) metric_changes_from_db = sorted( logic.get_major_changes_for_metric( flask.g.db, start_ts, end_ts, metric_info.id, ), ) metric_changes = [ ( datetime.datetime.fromtimestamp(timestamp).strftime( '%Y-%m-%d %H:%M:%S', ), sha, CommitDelta.from_data( metric_name, Delta('javascript:;', value), color_overrides=flask.g.config.color_overrides, ), ) for timestamp, sha, value in metric_changes_from_db ] override_classname = ( 'color-override' if metric_name in flask.g.config.color_overrides else '' ) rendered_template = render_template( 'changes.mako', changes=metric_changes, override_classname=override_classname, ) return json.dumps({'body': rendered_template})
def data() -> str: metric_names = frozenset(flask.g.config.widget_metrics) diff = flask.request.form['diff'].encode('UTF-8') metric_config = GenerateOptions.from_yaml( yaml.load(open('generate_config.yaml').read()), ) parsers = get_metric_parsers_from_args( metric_config.metric_package_names, skip_defaults=False, ) metrics = get_metrics(BLANK_COMMIT, diff, parsers, metric_config.exclude) metrics = tuple( metric for metric in metrics if metric.value and metric.name in metric_names ) commit_deltas = sorted( CommitDelta.from_data( metric.name, Delta('javascript:;', metric.value), color_overrides=flask.g.config.color_overrides, ) for metric in metrics ) return json.dumps({ 'metrics': render_template('widget.mako', commit_deltas=commit_deltas), })
def show(sha): changes = logic.get_metric_changes(flask.g.db, sha) commit_deltas = sorted( [ CommitDeltaPresenter.from_data(metric_name, DeltaPresenter("javascript:;", change)) for metric_name, change in changes ] ) links = [(link_name, link.format(sha=sha)) for link_name, link in metric_config.commit_links] return render_template("commit.mako", sha=sha, short_sha=sha[:8], commit_deltas=commit_deltas, links=links)
def show(sha: str) -> str: changes = logic.get_metric_changes(flask.g.db, sha) commit_deltas = sorted( CommitDelta.from_data( metric_name, Delta('javascript:;', change), color_overrides=flask.g.config.color_overrides, ) for metric_name, change in changes) links = [(link_name, link.format(sha=sha)) for link_name, link in flask.g.config.commit_links] return render_template( 'commit.mako', sha=sha, short_sha=sha[:8], commit_deltas=commit_deltas, links=links, )
def show(sha): changes = logic.get_metric_changes(flask.g.db, sha) commit_deltas = sorted([ CommitDeltaPresenter.from_data( metric_name, DeltaPresenter('javascript:;', change), ) for metric_name, change in changes ]) links = [ (link_name, link.format(sha=sha)) for link_name, link in metric_config.commit_links ] return render_template( 'commit.mako', sha=sha, short_sha=sha[:8], commit_deltas=commit_deltas, links=links, )
def show(): metric_names = logic.get_metric_ids_from_database() today = datetime.datetime.today() today_timestamp = to_timestamp(today) offsets = [(time_name, to_timestamp(today - offset)) for (time_name, offset) in DATE_NAMES_TO_TIMEDELTAS] current_values = logic.get_metrics_for_sha(logic.get_latest_sha()) metric_data = dict(( time_name, logic.get_metrics_for_sha(logic.get_sha_for_date(timestamp)), ) for (time_name, timestamp) in offsets) return render_template( 'index.mako', groups=format_groups( metric_names, today_timestamp, offsets, current_values, metric_data, ), )
def show(sha): changes = logic.get_metric_changes(flask.g.db, sha) commit_deltas = sorted( CommitDelta.from_data( metric_name, Delta('javascript:;', change), color_overrides=flask.g.config.color_overrides, ) for metric_name, change in changes ) links = [ (link_name, link.format(sha=sha)) for link_name, link in flask.g.config.commit_links ] return render_template( 'commit.mako', sha=sha, short_sha=sha[:8], commit_deltas=commit_deltas, links=links, )
def frame(): return render_template('widget_frame.mako')