package connector_ingress_receipts

import (
	"github.com/prometheus/client_golang/prometheus"
	"github.com/prometheus/client_golang/prometheus/promauto"
)

var connectorIngressReceiptClaimStageDurationSeconds = promauto.NewHistogramVec(
	prometheus.HistogramOpts{
		Name:    "nexuscrm_connector_ingress_receipt_claim_stage_duration_seconds",
		Help:    "Connector ingress receipt claim stage duration by generic stage and outcome.",
		Buckets: []float64{0.001, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 30},
	},
	[]string{"stage", "outcome"},
)

func recordConnectorIngressReceiptClaimStageDuration(stage string, outcome string, seconds float64) {
	if stage == "" {
		stage = "unknown"
	}
	if outcome == "" {
		outcome = "unknown"
	}
	connectorIngressReceiptClaimStageDurationSeconds.WithLabelValues(stage, outcome).Observe(seconds)
}
