Example #1
0
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),
    })
Example #2
0
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)
    })
Example #4
0
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,
        ),
    )
Example #5
0
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,
        ),
    )
Example #6
0
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,
        ),
    )
Example #7
0
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})
Example #9
0
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,
        )
    )
Example #10
0
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)
    })
Example #11
0
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})
Example #12
0
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),
    })
Example #13
0
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)
Example #14
0
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,
    )
Example #15
0
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,
        ),
    )
Example #17
0
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,
    )
Example #18
0
def frame():
    return render_template('widget_frame.mako')
Example #19
0
def frame():
    return render_template('widget_frame.mako')