...

Source file src/edge-infra.dev/pkg/edge/psqlinjector/metrics/metrics.go

Documentation: edge-infra.dev/pkg/edge/psqlinjector/metrics

     1  package metrics
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/prometheus/client_golang/prometheus"
     7  
     8  	"edge-infra.dev/pkg/lib/runtime/metrics"
     9  )
    10  
    11  func init() {
    12  	metrics.Registry.MustRegister(
    13  		MessagesTotal,
    14  		RequeueErrorsTotal,
    15  		BadMessagesTotal,
    16  		IgnoredMessagesTotal,
    17  	)
    18  }
    19  
    20  const namespace = "kinform_psqlinjector"
    21  
    22  const (
    23  	labelSuccessful    = "successful"
    24  	labelPayloadType   = "payload_type"
    25  	labelClusterEdgeID = "cluster_edge_id"
    26  )
    27  
    28  // Kinform summary
    29  var (
    30  	MessagesTotal = prometheus.NewCounterVec(
    31  		prometheus.CounterOpts{
    32  			Namespace: namespace,
    33  			Name:      "messages_total",
    34  			Help:      "Number of messages received by psqlinjector",
    35  		},
    36  		[]string{
    37  			labelSuccessful,
    38  			labelPayloadType,
    39  			labelClusterEdgeID,
    40  		},
    41  	)
    42  	RequeueErrorsTotal = prometheus.NewCounterVec(
    43  		prometheus.CounterOpts{
    44  			Namespace: namespace,
    45  			Name:      "handler_errors_total",
    46  			Help:      "Number of nackable errors",
    47  		},
    48  		[]string{
    49  			labelPayloadType,
    50  			labelClusterEdgeID,
    51  		},
    52  	)
    53  	BadMessagesTotal = prometheus.NewCounterVec(
    54  		prometheus.CounterOpts{
    55  			Namespace: namespace,
    56  			Name:      "bad_messages_total",
    57  			Help:      "Number of bad messages that can not be handled",
    58  		},
    59  		[]string{
    60  			labelPayloadType,
    61  			labelClusterEdgeID,
    62  		},
    63  	)
    64  	IgnoredMessagesTotal = prometheus.NewCounterVec(
    65  		prometheus.CounterOpts{
    66  			Namespace: namespace,
    67  			Name:      "ignored_messages_total",
    68  			Help:      "Number of ignored messages",
    69  		},
    70  		[]string{
    71  			labelPayloadType,
    72  			labelClusterEdgeID,
    73  		},
    74  	)
    75  )
    76  
    77  func IncMessagesTotal(payloadType, clusterEdgeID string, successful bool) {
    78  	MessagesTotal.With(prometheus.Labels{
    79  		labelPayloadType:   payloadType,
    80  		labelClusterEdgeID: clusterEdgeID,
    81  		labelSuccessful:    fmt.Sprint(successful),
    82  	}).Inc()
    83  }
    84  
    85  func IncRequeueErrorsTotal(payloadType, clusterEdgeID string) {
    86  	RequeueErrorsTotal.With(prometheus.Labels{
    87  		labelPayloadType:   payloadType,
    88  		labelClusterEdgeID: clusterEdgeID,
    89  	}).Inc()
    90  }
    91  
    92  func IncBadMessagesTotal(payloadType, clusterEdgeID string) {
    93  	BadMessagesTotal.With(prometheus.Labels{
    94  		labelPayloadType:   payloadType,
    95  		labelClusterEdgeID: clusterEdgeID,
    96  	}).Inc()
    97  }
    98  
    99  func IncIgnoredMessagesTotal(payloadType, clusterEdgeID string) {
   100  	IgnoredMessagesTotal.With(prometheus.Labels{
   101  		labelPayloadType:   payloadType,
   102  		labelClusterEdgeID: clusterEdgeID,
   103  	}).Inc()
   104  }
   105  

View as plain text