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  }