github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/storage/stores/indexshipper/compactor/deletion/metrics.go (about)

     1  package deletion
     2  
     3  import (
     4  	"github.com/prometheus/client_golang/prometheus"
     5  	"github.com/prometheus/client_golang/prometheus/promauto"
     6  )
     7  
     8  type DeleteRequestClientMetrics struct {
     9  	deleteRequestsLookupsTotal       *prometheus.CounterVec
    10  	deleteRequestsLookupsFailedTotal *prometheus.CounterVec
    11  }
    12  
    13  func NewDeleteRequestClientMetrics(r prometheus.Registerer) *DeleteRequestClientMetrics {
    14  	m := DeleteRequestClientMetrics{}
    15  
    16  	m.deleteRequestsLookupsTotal = promauto.With(r).NewCounterVec(prometheus.CounterOpts{
    17  		Namespace: "loki",
    18  		Name:      "delete_request_lookups_total",
    19  		Help:      "Number times the client has looked up delete requests",
    20  	}, []string{"client_type"})
    21  
    22  	m.deleteRequestsLookupsFailedTotal = promauto.With(r).NewCounterVec(prometheus.CounterOpts{
    23  		Namespace: "loki",
    24  		Name:      "delete_request_lookups_failed_total",
    25  		Help:      "Number times the client has failed to look up delete requests",
    26  	}, []string{"client_type"})
    27  
    28  	return &m
    29  }
    30  
    31  type deleteRequestHandlerMetrics struct {
    32  	deleteRequestsReceivedTotal *prometheus.CounterVec
    33  }
    34  
    35  func newDeleteRequestHandlerMetrics(r prometheus.Registerer) *deleteRequestHandlerMetrics {
    36  	m := deleteRequestHandlerMetrics{}
    37  
    38  	m.deleteRequestsReceivedTotal = promauto.With(r).NewCounterVec(prometheus.CounterOpts{
    39  		Namespace: "loki",
    40  		Name:      "compactor_delete_requests_received_total",
    41  		Help:      "Number of delete requests received per user",
    42  	}, []string{"user"})
    43  
    44  	return &m
    45  }
    46  
    47  type deleteRequestsManagerMetrics struct {
    48  	deleteRequestsProcessedTotal         *prometheus.CounterVec
    49  	deleteRequestsChunksSelectedTotal    *prometheus.CounterVec
    50  	loadPendingRequestsAttemptsTotal     *prometheus.CounterVec
    51  	deletionFailures                     *prometheus.CounterVec
    52  	oldestPendingDeleteRequestAgeSeconds prometheus.Gauge
    53  	pendingDeleteRequestsCount           prometheus.Gauge
    54  	deletedLinesTotal                    *prometheus.CounterVec
    55  }
    56  
    57  func newDeleteRequestsManagerMetrics(r prometheus.Registerer) *deleteRequestsManagerMetrics {
    58  	m := deleteRequestsManagerMetrics{}
    59  
    60  	m.deleteRequestsProcessedTotal = promauto.With(r).NewCounterVec(prometheus.CounterOpts{
    61  		Namespace: "loki",
    62  		Name:      "compactor_delete_requests_processed_total",
    63  		Help:      "Number of delete requests processed per user",
    64  	}, []string{"user"})
    65  	m.deleteRequestsChunksSelectedTotal = promauto.With(r).NewCounterVec(prometheus.CounterOpts{
    66  		Namespace: "loki",
    67  		Name:      "compactor_delete_requests_chunks_selected_total",
    68  		Help:      "Number of chunks selected while building delete plans per user",
    69  	}, []string{"user"})
    70  	m.deletionFailures = promauto.With(r).NewCounterVec(prometheus.CounterOpts{
    71  		Namespace: "loki",
    72  		Name:      "compactor_delete_processing_fails_total",
    73  		Help:      "Number times the delete phase of compaction has failed",
    74  	}, []string{"cause"})
    75  	m.loadPendingRequestsAttemptsTotal = promauto.With(r).NewCounterVec(prometheus.CounterOpts{
    76  		Namespace: "loki",
    77  		Name:      "compactor_load_pending_requests_attempts_total",
    78  		Help:      "Number of attempts that were made to load pending requests with status",
    79  	}, []string{"status"})
    80  	m.oldestPendingDeleteRequestAgeSeconds = promauto.With(r).NewGauge(prometheus.GaugeOpts{
    81  		Namespace: "loki",
    82  		Name:      "compactor_oldest_pending_delete_request_age_seconds",
    83  		Help:      "Age of oldest pending delete request in seconds, since they are over their cancellation period",
    84  	})
    85  	m.pendingDeleteRequestsCount = promauto.With(r).NewGauge(prometheus.GaugeOpts{
    86  		Namespace: "loki",
    87  		Name:      "compactor_pending_delete_requests_count",
    88  		Help:      "Count of delete requests which are over their cancellation period and have not finished processing yet",
    89  	})
    90  	m.deletedLinesTotal = promauto.With(r).NewCounterVec(prometheus.CounterOpts{
    91  		Namespace: "loki",
    92  		Name:      "compactor_deleted_lines",
    93  		Help:      "Number of deleted lines per user",
    94  	}, []string{"user"})
    95  
    96  	return &m
    97  }