Skip to content

Commit

Permalink
Distribution WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
dianaclarke committed May 10, 2021
1 parent 7043f80 commit 0bcf438
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
4 changes: 3 additions & 1 deletion conbench/entities/distribution.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
class Distribution(Base, EntityMixin):
__tablename__ = "distribution"
id = NotNull(s.String(50), primary_key=True, default=generate_uuid)
sha = NotNull(s.String(50)) # TODO: should this be commit id?
sha = NotNull(s.String(50))
repository = NotNull(s.String(100))
case_id = NotNull(s.String(50), s.ForeignKey("case.id", ondelete="CASCADE"))
context_id = NotNull(s.String(50), s.ForeignKey("context.id", ondelete="CASCADE"))
machine_id = NotNull(s.String(50), s.ForeignKey("machine.id", ondelete="CASCADE"))
Expand Down Expand Up @@ -76,6 +77,7 @@ def get_distribution(repository, sha, case_id, context_id, machine_id, limit):
commits_up = get_commits_up(repository, sha, limit).subquery().alias("commits_up")
return (
Session.query(
func.text(repository).label("repository"),
func.text(sha).label("sha"),
Summary.case_id,
Summary.context_id,
Expand Down
9 changes: 8 additions & 1 deletion conbench/tests/entities/test_distribution.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
(SELECT commit.id AS id, commit.sha AS sha, commit.parent AS parent, commit.timestamp AS timestamp
FROM commit
WHERE commit.repository = :repository_1 ORDER BY commit.timestamp DESC)
SELECT text(:text_1) AS sha, summary.case_id, summary.context_id, summary.machine_id, max(summary.unit) AS unit, avg(summary.mean) AS mean_mean, stddev(summary.mean) AS mean_sd, avg(summary.min) AS min_mean, stddev(summary.min) AS min_sd, avg(summary.max) AS max_mean, stddev(summary.max) AS max_sd, avg(summary.median) AS median_mean, stddev(summary.median) AS median_sd, min(commits_up.timestamp) AS first_timestamp, max(commits_up.timestamp) AS last_timestamp, count(summary.mean) AS observations
SELECT text(:text_1) AS repository, text(:text_2) AS sha, summary.case_id, summary.context_id, summary.machine_id, max(summary.unit) AS unit, avg(summary.mean) AS mean_mean, stddev(summary.mean) AS mean_sd, avg(summary.min) AS min_mean, stddev(summary.min) AS min_sd, avg(summary.max) AS max_mean, stddev(summary.max) AS max_sd, avg(summary.median) AS median_mean, stddev(summary.median) AS median_sd, min(commits_up.timestamp) AS first_timestamp, max(commits_up.timestamp) AS last_timestamp, count(summary.mean) AS observations
FROM summary JOIN run ON run.id = summary.run_id JOIN (SELECT commit_index.id AS id, commit_index.sha AS sha, commit_index.parent AS parent, commit_index.timestamp AS timestamp, commit_index.row_number AS row_number
FROM (SELECT ordered_commits.id AS id, ordered_commits.sha AS sha, ordered_commits.parent AS parent, ordered_commits.timestamp AS timestamp, row_number() OVER () AS row_number
FROM ordered_commits) AS commit_index
Expand Down Expand Up @@ -272,6 +272,7 @@ def test_distibution():
REPO, "55555", case_id, context_id, machine_id, 10
).all() == [
(
REPO,
"55555",
summary_5.case_id,
summary_5.context_id,
Expand All @@ -294,6 +295,7 @@ def test_distibution():
REPO, "44444", case_id, context_id, machine_id, 10
).all() == [
(
REPO,
"44444",
summary_4.case_id,
summary_4.context_id,
Expand All @@ -316,6 +318,7 @@ def test_distibution():
REPO, "33333", case_id, context_id, machine_id, 10
).all() == [
(
REPO,
"33333",
summary_3.case_id,
summary_3.context_id,
Expand All @@ -338,6 +341,7 @@ def test_distibution():
REPO, "22222", case_id, context_id, machine_id, 10
).all() == [
(
REPO,
"22222",
summary_2.case_id,
summary_2.context_id,
Expand All @@ -360,6 +364,7 @@ def test_distibution():
REPO, "11111", case_id, context_id, machine_id, 10
).all() == [
(
REPO,
"11111",
summary_1.case_id,
summary_1.context_id,
Expand Down Expand Up @@ -412,6 +417,7 @@ def test_distibution_multiple_runs_same_commit():
REPO, "YYYYY", case_id, context_id, machine_id, 10
).all() == [
(
REPO,
"YYYYY",
summary_1.case_id,
summary_1.context_id,
Expand Down Expand Up @@ -445,6 +451,7 @@ def test_distibution_multiple_runs_same_commit():
REPO, "YYYYY", case_id, context_id, machine_id, 10
).all() == [
(
REPO,
"YYYYY",
summary_1.case_id,
summary_1.context_id,
Expand Down
1 change: 1 addition & 0 deletions migrations/versions/b7ffcaaeb240_add_distribution.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ def upgrade():
"distribution",
sa.Column("id", sa.String(length=50), nullable=False),
sa.Column("sha", sa.String(length=50), nullable=False),
sa.Column("repository", sa.String(length=100), nullable=False),
sa.Column("case_id", sa.String(length=50), nullable=False),
sa.Column("context_id", sa.String(length=50), nullable=False),
sa.Column("machine_id", sa.String(length=50), nullable=False),
Expand Down

0 comments on commit 0bcf438

Please sign in to comment.