21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/pact_broker/metrics/service.rb', line 21
def metrics
{
pacticipants: {
count: PactBroker::Domain::Pacticipant.count
},
integrations: {
count: PactBroker::Integrations::Integration.count
},
pactPublications: {
count: PactBroker::Pacts::PactPublication.count,
first: format_date_time(PactBroker::Pacts::PactPublication.order(:id).first&.created_at),
last: format_date_time(PactBroker::Pacts::PactPublication.order(:id).last&.created_at)
},
pactVersions: {
count: PactBroker::Pacts::PactVersion.count
},
pactRevisionsPerConsumerVersion: {
distribution: pact_revision_counts
},
verificationResults: {
count: PactBroker::Domain::Verification.count,
successCount: PactBroker::Domain::Verification.where(success: true).count,
failureCount: PactBroker::Domain::Verification.where(success: false).count,
distinctCount: PactBroker::Domain::Verification.distinct.select(:provider_version_id, :pact_version_id, :success).count,
first: format_date_time(PactBroker::Domain::Verification.order(:id).first&.created_at),
last: format_date_time(PactBroker::Domain::Verification.order(:id).last&.created_at),
},
verificationResultsPerPactVersion: {
distribution: verification_distribution
},
pacticipantVersions: {
count: PactBroker::Domain::Version.count
},
webhooks: {
count: PactBroker::Webhooks::Webhook.count
},
triggeredWebhooks: {
count: PactBroker::Webhooks::TriggeredWebhook.count
},
webhookExecutions: {
count: PactBroker::Webhooks::Execution.count
},
matrix: {
count: PactBroker::Matrix::Row.count
},
headMatrix: {
count: PactBroker::Matrix::HeadRow.count
}
}
end
|