use super::{
AuthMetricPredicate, DelegationInstallNormalizationRejectReason,
DelegationInstallValidationFailureReason, DelegationProvisionRole, auth_signer_endpoint,
complete_predicate, fanout_bucket, install_intent_label, record_auth_metric,
signer_issue_without_proof_predicate, verifier_target_count_predicate,
verifier_target_failed_predicate, verifier_target_missing_predicate,
};
use crate::{
dto::auth::DelegationProofInstallIntent, ids::AccessMetricKind,
ops::runtime::metrics::access::AccessMetrics,
};
pub fn record_signer_issue_without_proof() {
AccessMetrics::increment(
auth_signer_endpoint(),
AccessMetricKind::Auth,
signer_issue_without_proof_predicate(),
);
}
pub fn record_delegation_verifier_target_failed() {
AccessMetrics::increment(
auth_signer_endpoint(),
AccessMetricKind::Auth,
verifier_target_failed_predicate(),
);
}
pub fn record_delegation_verifier_target_missing() {
AccessMetrics::increment(
auth_signer_endpoint(),
AccessMetricKind::Auth,
verifier_target_missing_predicate(),
);
}
pub fn record_delegation_verifier_target_count(target_count: usize) {
for _ in 0..target_count {
AccessMetrics::increment(
auth_signer_endpoint(),
AccessMetricKind::Auth,
verifier_target_count_predicate(),
);
}
}
pub fn record_delegation_push_attempt(
role: DelegationProvisionRole,
intent: DelegationProofInstallIntent,
) {
AccessMetrics::increment(
auth_signer_endpoint(),
AccessMetricKind::Auth,
role.attempt_predicate(intent),
);
}
pub fn record_delegation_push_success(
role: DelegationProvisionRole,
intent: DelegationProofInstallIntent,
) {
AccessMetrics::increment(
auth_signer_endpoint(),
AccessMetricKind::Auth,
role.success_predicate(intent),
);
}
pub fn record_delegation_push_failed(
role: DelegationProvisionRole,
intent: DelegationProofInstallIntent,
) {
record_auth_metric(
auth_signer_endpoint(),
AuthMetricPredicate::DelegationPushFailed { role, intent },
);
}
pub fn record_delegation_push_complete(intent: DelegationProofInstallIntent) {
AccessMetrics::increment(
auth_signer_endpoint(),
AccessMetricKind::Auth,
complete_predicate(intent),
);
}
pub fn record_delegation_provision_complete() {
record_delegation_push_complete(DelegationProofInstallIntent::Provisioning);
}
pub fn record_delegation_install_total(intent: DelegationProofInstallIntent) {
let predicate = format!(
"delegation_install_total{{intent=\"{}\"}}",
install_intent_label(intent)
);
AccessMetrics::increment(auth_signer_endpoint(), AccessMetricKind::Auth, &predicate);
}
pub fn record_delegation_install_normalized_target_count(
intent: DelegationProofInstallIntent,
target_count: usize,
) {
let predicate = format!(
"delegation_install_normalized_target_total{{intent=\"{}\"}}",
install_intent_label(intent)
);
for _ in 0..target_count {
AccessMetrics::increment(auth_signer_endpoint(), AccessMetricKind::Auth, &predicate);
}
}
pub fn record_delegation_install_fanout_bucket(
intent: DelegationProofInstallIntent,
target_count: usize,
) {
let predicate = format!(
"delegation_install_fanout_bucket{{intent=\"{}\",bucket=\"{}\"}}",
install_intent_label(intent),
fanout_bucket(target_count)
);
AccessMetrics::increment(auth_signer_endpoint(), AccessMetricKind::Auth, &predicate);
}
pub fn record_delegation_install_normalization_rejected(
intent: DelegationProofInstallIntent,
reason: DelegationInstallNormalizationRejectReason,
) {
record_auth_metric(
auth_signer_endpoint(),
AuthMetricPredicate::DelegationInstallNormalizationRejected { intent, reason },
);
}
pub fn record_delegation_install_validation_failed(
intent: DelegationProofInstallIntent,
reason: DelegationInstallValidationFailureReason,
) {
record_auth_metric(
auth_signer_endpoint(),
AuthMetricPredicate::DelegationInstallValidationFailed { intent, reason },
);
}