Skip to content

Commit 4369f22

Browse files
committed
feat(metrics): add revision count
1 parent 5fb705e commit 4369f22

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

lib/pact_broker/metrics/service.rb

+10
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ def metrics
3434
pactVersions: {
3535
count: PactBroker::Pacts::PactVersion.count
3636
},
37+
pactRevisions: {
38+
counts: pact_revision_counts
39+
},
3740
verificationResults: {
3841
count: PactBroker::Domain::Verification.count,
3942
first: format_date_time(PactBroker::Domain::Verification.order(:id).first.created_at),
@@ -59,6 +62,13 @@ def metrics
5962
}
6063
}
6164
end
65+
66+
def pact_revision_counts
67+
query = "select revision_count as number_of_revisions, count(consumer_version_id) as consumer_version_count
68+
from (select consumer_version_id, count(*) as revision_count from pact_publications group by consumer_version_id) foo
69+
group by revision_count"
70+
PactBroker::Pacts::PactPublication.db[query].all.each_with_object({}) { |row, hash| hash[row[:number_of_revisions]] = row[:consumer_version_count] }
71+
end
6272
end
6373
end
6474
end

0 commit comments

Comments
 (0)