diff --git a/veza-backend-api/internal/monitoring/metrics.go b/veza-backend-api/internal/monitoring/metrics.go index 87c083341..a2a570b82 100644 --- a/veza-backend-api/internal/monitoring/metrics.go +++ b/veza-backend-api/internal/monitoring/metrics.go @@ -210,6 +210,27 @@ var ( }, []string{"reason"}, // ClamAV, validation, quota, etc. ) + + // v0.701: Transfer Retry Metrics + TransferRetryTotal = promauto.NewCounter(prometheus.CounterOpts{ + Name: "veza_transfer_retry_total", + Help: "Total number of transfer retry attempts", + }) + + TransferRetrySuccess = promauto.NewCounter(prometheus.CounterOpts{ + Name: "veza_transfer_retry_success_total", + Help: "Total number of successful transfer retries", + }) + + TransferRetryFailures = promauto.NewCounter(prometheus.CounterOpts{ + Name: "veza_transfer_retry_failures_total", + Help: "Total number of failed transfer retries", + }) + + TransferRetryPermanent = promauto.NewCounter(prometheus.CounterOpts{ + Name: "veza_transfer_retry_permanent_failures_total", + Help: "Total number of permanently failed transfers (max retries exceeded)", + }) ) // Middleware pour enregistrer les métriques HTTP @@ -325,3 +346,9 @@ func RecordPlaylistCreated() { func RecordUploadFailed(reason string) { UploadsFailedTotal.WithLabelValues(reason).Inc() } + +// v0.701: Transfer Retry Metrics +func RecordTransferRetry() { TransferRetryTotal.Inc() } +func RecordTransferRetrySuccess() { TransferRetrySuccess.Inc() } +func RecordTransferRetryFailure() { TransferRetryFailures.Inc() } +func RecordTransferRetryPermanent() { TransferRetryPermanent.Inc() }