diff --git a/pkg/capabilities/base_trigger.go b/pkg/capabilities/base_trigger.go index 41985303e4..cd481f16b1 100644 --- a/pkg/capabilities/base_trigger.go +++ b/pkg/capabilities/base_trigger.go @@ -64,9 +64,9 @@ type EventStore interface { type BaseTriggerMetrics interface { IncActiveTriggers() DecActiveTriggers() - IncRetry(triggerID, eventID string) - IncAck(triggerID, eventID string) - ObserveTimeToAck(triggerID, eventID string, d time.Duration, attempts int) + IncRetry(triggerID string) + IncAck(triggerID string) + ObserveTimeToAck(triggerID string, d time.Duration, attempts int) IncInboxMissing(triggerID string) IncInboxFull(triggerID string) // IncAckError counts ACK paths that return an error (e.g. store delete failure). reason is a stable identifier for dashboards. @@ -76,7 +76,7 @@ type BaseTriggerMetrics interface { // AddPendingEvents adjusts the live gauge of events awaiting ACK. Positive on insert, negative on ACK/unregister. AddPendingEvents(delta int64) // IncStoppedResending records a gauge (Unix seconds) when the node exhausted max retries and stopped resending. - IncStoppedResending(triggerID, eventID string, attempts int) + IncStoppedResending(triggerID string, attempts int) } // BaseTriggerCapability keeps track of trigger registrations and handles resending events until @@ -500,8 +500,8 @@ func (b *BaseTriggerCapability[T]) AckEvent(ctx context.Context, triggerId strin "capabilityID", b.capabilityId, "triggerID", triggerId, "eventID", eventId, "attempts", attempts, "firstAt", firstAt) b.metrics.IncAckMemoryOutcome(ackMemoryOutcomeHit) - b.metrics.IncAck(triggerId, eventId) - b.metrics.ObserveTimeToAck(triggerId, eventId, time.Since(firstAt), attempts) + b.metrics.IncAck(triggerId) + b.metrics.ObserveTimeToAck(triggerId, time.Since(firstAt), attempts) b.metrics.AddPendingEvents(-1) } else { b.lggr.Infow("base trigger ACK: event not found in memory (reconciling store)", @@ -683,7 +683,7 @@ func (b *BaseTriggerCapability[T]) emitStoppedResending(ev stoppedResendingEvent "capabilityID", b.capabilityId, "triggerID", ev.triggerID, "eventID", ev.eventID, "attempts", ev.attempts, "maxRetries", maxRetries, "reason", "max_retries_exhausted") - b.metrics.IncStoppedResending(ev.triggerID, ev.eventID, ev.attempts) + b.metrics.IncStoppedResending(ev.triggerID, ev.attempts) b.metrics.AddPendingEvents(-1) } @@ -792,7 +792,7 @@ func (b *BaseTriggerCapability[T]) trySend(event PendingEvent) { lastSent := rec.LastSentAt b.mu.Unlock() - b.metrics.IncRetry(event.TriggerId, event.EventId) + b.metrics.IncRetry(event.TriggerId) if err := b.store.UpdateDelivery(b.ctx, event.TriggerId, event.EventId, lastSent, attempts); err != nil { b.lggr.Errorf("failed to persist delivery update for trigger=%s event=%s: %v", event.TriggerId, event.EventId, err) } diff --git a/pkg/capabilities/base_trigger_metrics.go b/pkg/capabilities/base_trigger_metrics.go index 05ebae0918..9cd97c05a2 100644 --- a/pkg/capabilities/base_trigger_metrics.go +++ b/pkg/capabilities/base_trigger_metrics.go @@ -98,11 +98,10 @@ func NewBaseTriggerBeholderMetrics(capabilityID string) (BaseTriggerMetrics, err }, nil } -func (m *BaseTriggerBeholderMetrics) attrs(triggerID, eventID string) []attribute.KeyValue { +func (m *BaseTriggerBeholderMetrics) attrs(triggerID string) []attribute.KeyValue { return []attribute.KeyValue{ attribute.String("capability_id", m.capabilityID), attribute.String("trigger_id", triggerID), - attribute.String("event_id", eventID), } } @@ -118,15 +117,15 @@ func (m *BaseTriggerBeholderMetrics) DecActiveTriggers() { ) } -func (m *BaseTriggerBeholderMetrics) IncRetry(triggerID, eventID string) { +func (m *BaseTriggerBeholderMetrics) IncRetry(triggerID string) { m.retryCount.Add(context.Background(), 1, - metric.WithAttributes(m.attrs(triggerID, eventID)...), + metric.WithAttributes(m.attrs(triggerID)...), ) } -func (m *BaseTriggerBeholderMetrics) IncAck(triggerID, eventID string) { +func (m *BaseTriggerBeholderMetrics) IncAck(triggerID string) { m.ackCount.Add(context.Background(), 1, - metric.WithAttributes(m.attrs(triggerID, eventID)...), + metric.WithAttributes(m.attrs(triggerID)...), ) } @@ -148,12 +147,12 @@ func (m *BaseTriggerBeholderMetrics) IncAckMemoryOutcome(outcome string) { ) } -func (m *BaseTriggerBeholderMetrics) ObserveTimeToAck(triggerID, eventID string, d time.Duration, attempts int) { +func (m *BaseTriggerBeholderMetrics) ObserveTimeToAck(triggerID string, d time.Duration, attempts int) { m.timeToAckMs.Record(context.Background(), d.Milliseconds(), - metric.WithAttributes(m.attrs(triggerID, eventID)...), + metric.WithAttributes(m.attrs(triggerID)...), ) m.ackAttempts.Record(context.Background(), int64(attempts), - metric.WithAttributes(m.attrs(triggerID, eventID)...), + metric.WithAttributes(m.attrs(triggerID)...), ) } @@ -181,12 +180,11 @@ func (m *BaseTriggerBeholderMetrics) AddPendingEvents(delta int64) { ) } -func (m *BaseTriggerBeholderMetrics) IncStoppedResending(triggerID, eventID string, attempts int) { +func (m *BaseTriggerBeholderMetrics) IncStoppedResending(triggerID string, attempts int) { m.stoppedResendingTimestamp.Record(context.Background(), time.Now().Unix(), metric.WithAttributes( attribute.String("capability_id", m.capabilityID), attribute.String("trigger_id", triggerID), - attribute.String("event_id", eventID), attribute.Int("attempts", attempts), ), ) @@ -198,12 +196,12 @@ var _ BaseTriggerMetrics = &noopBaseTriggerMetrics{} func (noopBaseTriggerMetrics) IncActiveTriggers() {} func (noopBaseTriggerMetrics) DecActiveTriggers() {} -func (noopBaseTriggerMetrics) IncRetry(string, string) {} -func (noopBaseTriggerMetrics) IncAck(string, string) {} -func (noopBaseTriggerMetrics) ObserveTimeToAck(string, string, time.Duration, int) {} -func (noopBaseTriggerMetrics) IncInboxMissing(string) {} -func (noopBaseTriggerMetrics) IncInboxFull(string) {} -func (noopBaseTriggerMetrics) IncAckError(string) {} -func (noopBaseTriggerMetrics) IncAckMemoryOutcome(string) {} -func (noopBaseTriggerMetrics) AddPendingEvents(int64) {} -func (noopBaseTriggerMetrics) IncStoppedResending(string, string, int) {} +func (noopBaseTriggerMetrics) IncRetry(string) {} +func (noopBaseTriggerMetrics) IncAck(string) {} +func (noopBaseTriggerMetrics) ObserveTimeToAck(string, time.Duration, int) {} +func (noopBaseTriggerMetrics) IncInboxMissing(string) {} +func (noopBaseTriggerMetrics) IncInboxFull(string) {} +func (noopBaseTriggerMetrics) IncAckError(string) {} +func (noopBaseTriggerMetrics) IncAckMemoryOutcome(string) {} +func (noopBaseTriggerMetrics) AddPendingEvents(int64) {} +func (noopBaseTriggerMetrics) IncStoppedResending(string, int) {}