github.com/choria-io/go-choria@v0.28.1-0.20240416190746-b3bf9c7d5a45/broker/adapter/stats/stats.go (about) 1 // Copyright (c) 2017-2021, R.I. Pienaar and the Choria Project contributors 2 // 3 // SPDX-License-Identifier: Apache-2.0 4 5 package stats 6 7 import ( 8 "github.com/prometheus/client_golang/prometheus" 9 ) 10 11 var ( 12 ReceivedMsgsCtr = prometheus.NewCounterVec(prometheus.CounterOpts{ 13 Name: "choria_adapter_received_msgs", 14 Help: "Number of messages received by adapters on their inputs", 15 }, []string{"name", "role", "identity"}) 16 17 PublishedMsgsCtr = prometheus.NewCounterVec(prometheus.CounterOpts{ 18 Name: "choria_adapter_published_msgs", 19 Help: "Number of messages published by adapters on their outputs", 20 }, []string{"name", "role", "identity"}) 21 22 ErrorCtr = prometheus.NewCounterVec(prometheus.CounterOpts{ 23 Name: "choria_adapter_errors", 24 Help: "Messages that could not be handled", 25 }, []string{"name", "role", "identity"}) 26 27 BytesCtr = prometheus.NewCounterVec(prometheus.CounterOpts{ 28 Name: "choria_adapter_bytes", 29 Help: "Bytes processed by the adapter", 30 }, []string{"name", "role", "identity"}) 31 32 ProcessTime = prometheus.NewSummaryVec(prometheus.SummaryOpts{ 33 Name: "choria_adapter_time", 34 Help: "Time taken to process messages", 35 }, []string{"name", "role", "identity"}) 36 37 WorkQueueLengthGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{ 38 Name: "choria_adapter_queue_length", 39 Help: "How many messages are in the work queue to process", 40 }, []string{"name", "identity"}) 41 42 WorkQueueCapacityGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{ 43 Name: "choria_adapter_queue_capacity", 44 Help: "How many messages can be the work queue to process", 45 }, []string{"name", "identity"}) 46 ) 47 48 func init() { 49 prometheus.MustRegister(ReceivedMsgsCtr) 50 prometheus.MustRegister(PublishedMsgsCtr) 51 prometheus.MustRegister(ErrorCtr) 52 prometheus.MustRegister(BytesCtr) 53 prometheus.MustRegister(ProcessTime) 54 prometheus.MustRegister(WorkQueueLengthGauge) 55 prometheus.MustRegister(WorkQueueCapacityGauge) 56 }