diff --git a/.changeset/spicy-horses-poke.md b/.changeset/spicy-horses-poke.md new file mode 100644 index 00000000000..982d425782d --- /dev/null +++ b/.changeset/spicy-horses-poke.md @@ -0,0 +1,5 @@ +--- +"chainlink": patch +--- + +Updating prometheus metrics for Automation log triggers diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/buffer.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/buffer.go index 6418d683869..af934a08013 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/buffer.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/buffer.go @@ -231,7 +231,8 @@ func (b *logEventBuffer) enqueue(id *big.Int, logs ...logpoller.Log) int { } if added > 0 { lggr.Debugw("Added logs to buffer", "addedLogs", added, "dropped", dropped, "latestBlock", latestBlock) - prommetrics.AutomationLogsInLogBuffer.Add(float64(added - dropped)) + prommetrics.AutomationLogBufferFlow.WithLabelValues(prommetrics.LogBufferFlowDirectionIngress).Add(float64(added)) + prommetrics.AutomationLogBufferFlow.WithLabelValues(prommetrics.LogBufferFlowDirectionDropped).Add(float64(dropped)) } return added - dropped @@ -333,7 +334,7 @@ func (b *logEventBuffer) dequeueRange(start, end int64, upkeepLimit, totalLimit if len(results) > 0 { b.lggr.Debugw("Dequeued logs", "results", len(results), "start", start, "end", end) - prommetrics.AutomationLogsInLogBuffer.Sub(float64(len(results))) + prommetrics.AutomationLogBufferFlow.WithLabelValues(prommetrics.LogBufferFlowDirectionEgress).Add(float64(len(results))) } return results diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/prommetrics/metrics.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/prommetrics/metrics.go index cebbac59884..0925ce1c153 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/prommetrics/metrics.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/prommetrics/metrics.go @@ -8,12 +8,21 @@ import ( // AutomationNamespace is the namespace for all Automation related metrics const AutomationLogTriggerNamespace = "automation_log_trigger" +// Metric labels +const ( + LogBufferFlowDirectionIngress = "ingress" + LogBufferFlowDirectionEgress = "egress" + LogBufferFlowDirectionDropped = "dropped" +) + // Automation metrics var ( - AutomationLogsInLogBuffer = promauto.NewGauge(prometheus.GaugeOpts{ + AutomationLogBufferFlow = promauto.NewCounterVec(prometheus.CounterOpts{ Namespace: AutomationLogTriggerNamespace, Name: "num_logs_in_log_buffer", Help: "The total number of logs currently being stored in the log buffer", + }, []string{ + "direction", }) AutomationRecovererMissedLogs = promauto.NewCounter(prometheus.CounterOpts{ Namespace: AutomationLogTriggerNamespace,