@@ -338,90 +338,6 @@ var (
338
338
Measurement : "Replicas" ,
339
339
Unit : metric .Unit_COUNT ,
340
340
}
341
- metaReplicateQueuePriorityInversionForAddVoterCount = metric.Metadata {
342
- Name : "queue.replicate.priority_inversion.addvoter" ,
343
- Help : "Number of priority inversions in the replicate queue that resulted in add voter action during processing" ,
344
- Measurement : "Replicas" ,
345
- Unit : metric .Unit_COUNT ,
346
- }
347
- metaReplicateQueuePriorityInversionForReplaceDecommissioningVoterCount = metric.Metadata {
348
- Name : "queue.replicate.priority_inversion.replacedecommissioningvoter" ,
349
- Help : "Number of priority inversions in the replicate queue that resulted in replace decommissioning voter action during processing" ,
350
- Measurement : "Replicas" ,
351
- Unit : metric .Unit_COUNT ,
352
- }
353
- metaReplicateQueuePriorityInversionForRemoveDeadVoterCount = metric.Metadata {
354
- Name : "queue.replicate.priority_inversion.removedeadvoter" ,
355
- Help : "Number of priority inversions in the replicate queue that resulted in remove dead voter action during processing" ,
356
- Measurement : "Replicas" ,
357
- Unit : metric .Unit_COUNT ,
358
- }
359
- metaReplicateQueuePriorityInversionForRemoveDecommissioningVoterCount = metric.Metadata {
360
- Name : "queue.replicate.priority_inversion.removedecommissioningvoter" ,
361
- Help : "Number of priority inversions in the replicate queue that resulted in remove decommissioning voter action during processing" ,
362
- Measurement : "Replicas" ,
363
- Unit : metric .Unit_COUNT ,
364
- }
365
- metaReplicateQueuePriorityInversionForRemoveVoterCount = metric.Metadata {
366
- Name : "queue.replicate.priority_inversion.removevoter" ,
367
- Help : "Number of priority inversions in the replicate queue that resulted in remove voter action during processing" ,
368
- Measurement : "Replicas" ,
369
- Unit : metric .Unit_COUNT ,
370
- }
371
- metaReplicateQueuePriorityInversionForReplaceDeadNonVoterCount = metric.Metadata {
372
- Name : "queue.replicate.priority_inversion.replacedeadnonvoter" ,
373
- Help : "Number of priority inversions in the replicate queue that resulted in replace dead non-voter action during processing" ,
374
- Measurement : "Replicas" ,
375
- Unit : metric .Unit_COUNT ,
376
- }
377
- metaReplicateQueuePriorityInversionForAddNonVoterCount = metric.Metadata {
378
- Name : "queue.replicate.priority_inversion.addnonvoter" ,
379
- Help : "Number of priority inversions in the replicate queue that resulted in add non-voter action during processing" ,
380
- Measurement : "Replicas" ,
381
- Unit : metric .Unit_COUNT ,
382
- }
383
- metaReplicateQueuePriorityInversionForReplaceDecommissioningNonVoterCount = metric.Metadata {
384
- Name : "queue.replicate.priority_inversion.replacedecommissioningnonvoter" ,
385
- Help : "Number of priority inversions in the replicate queue that resulted in replace decommissioning non-voter action during processing" ,
386
- Measurement : "Replicas" ,
387
- Unit : metric .Unit_COUNT ,
388
- }
389
- metaReplicateQueuePriorityInversionForRemoveDeadNonVoterCount = metric.Metadata {
390
- Name : "queue.replicate.priority_inversion.removedeadnonvoter" ,
391
- Help : "Number of priority inversions in the replicate queue that resulted in remove dead non-voter action during processing" ,
392
- Measurement : "Replicas" ,
393
- Unit : metric .Unit_COUNT ,
394
- }
395
- metaReplicateQueuePriorityInversionForRemoveDecommissioningNonVoterCount = metric.Metadata {
396
- Name : "queue.replicate.priority_inversion.removedecommissioningnonvoter" ,
397
- Help : "Number of priority inversions in the replicate queue that resulted in remove decommissioning non-voter action during processing" ,
398
- Measurement : "Replicas" ,
399
- Unit : metric .Unit_COUNT ,
400
- }
401
- metaReplicateQueuePriorityInversionForRemoveNonVoterCount = metric.Metadata {
402
- Name : "queue.replicate.priority_inversion.removenonvoter" ,
403
- Help : "Number of priority inversions in the replicate queue that resulted in remove non-voter action during processing" ,
404
- Measurement : "Replicas" ,
405
- Unit : metric .Unit_COUNT ,
406
- }
407
- metaReplicateQueuePriorityInversionForConsiderRebalance = metric.Metadata {
408
- Name : "queue.replicate.priority_inversion.considerrebalance" ,
409
- Help : "Number of priority inversions in the replicate queue that resulted in consider rebalance action during processing" ,
410
- Measurement : "Replicas" ,
411
- Unit : metric .Unit_COUNT ,
412
- }
413
- metaReplicateQueuePriorityInversionForRangeUnavailable = metric.Metadata {
414
- Name : "queue.replicate.priority_inversion.rangeunavailable" ,
415
- Help : "Number of priority inversions in the replicate queue that resulted in range unavailable action during processing" ,
416
- Measurement : "Replicas" ,
417
- Unit : metric .Unit_COUNT ,
418
- }
419
- metaReplicateQueuePriorityInversionForNoop = metric.Metadata {
420
- Name : "queue.replicate.priority_inversion.noop" ,
421
- Help : "Number of priority inversions in the replicate queue that resulted in noop action during processing" ,
422
- Measurement : "Replicas" ,
423
- Unit : metric .Unit_COUNT ,
424
- }
425
341
)
426
342
427
343
// quorumError indicates a retryable error condition which sends replicas being
@@ -483,26 +399,9 @@ type ReplicateQueueMetrics struct {
483
399
// AllocatorConsiderRebalance, and AllocatorFinalizeAtomicReplicationChange
484
400
// allocator actions.
485
401
486
- // Priority Inversion. Not tracked for
487
- // AllocatorFinalizeAtomicReplicationChange, AllocatorRemoveLearner,
488
- // AllocatorReplaceDeadVoter since they are the highest priority actions and
489
- // cannot be inverted. (17 total actions-3=14)
490
- RequeueDueToPriorityInversion * metric.Counter
491
- PriorityInversionTotal * metric.Counter
492
- PriorityInversionForAddVoterCount * metric.Counter
493
- PriorityInversionForReplaceDecommissioningVoterCount * metric.Counter
494
- PriorityInversionForRemoveDeadVoterCount * metric.Counter
495
- PriorityInversionForRemoveDecommissioningVoterCount * metric.Counter
496
- PriorityInversionForRemoveVoterCount * metric.Counter
497
- PriorityInversionForReplaceDeadNonVoterCount * metric.Counter
498
- PriorityInversionForAddNonVoterCount * metric.Counter
499
- PriorityInversionForReplaceDecommissioningNonVoterCount * metric.Counter
500
- PriorityInversionForRemoveDeadNonVoterCount * metric.Counter
501
- PriorityInversionForRemoveDecommissioningNonVoterCount * metric.Counter
502
- PriorityInversionForRemoveNonVoterCount * metric.Counter
503
- PriorityInversionForConsiderRebalance * metric.Counter
504
- PriorityInversionForRangeUnavailable * metric.Counter
505
- PriorityInversionForNoop * metric.Counter
402
+ // Priority Inversion.
403
+ RequeueDueToPriorityInversion * metric.Counter
404
+ PriorityInversionTotal * metric.Counter
506
405
}
507
406
508
407
func makeReplicateQueueMetrics () ReplicateQueueMetrics {
@@ -540,22 +439,8 @@ func makeReplicateQueueMetrics() ReplicateQueueMetrics {
540
439
RemoveDecommissioningReplicaSuccessCount : metric .NewCounter (metaReplicateQueueRemoveDecommissioningReplicaSuccessCount ),
541
440
RemoveDecommissioningReplicaErrorCount : metric .NewCounter (metaReplicateQueueRemoveDecommissioningReplicaErrorCount ),
542
441
543
- RequeueDueToPriorityInversion : metric .NewCounter (metaReplicateQueueRequeueDueToPriorityInversion ),
544
- PriorityInversionTotal : metric .NewCounter (metaReplicateQueuePriorityInversionTotal ),
545
- PriorityInversionForAddVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForAddVoterCount ),
546
- PriorityInversionForReplaceDecommissioningVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForReplaceDecommissioningVoterCount ),
547
- PriorityInversionForRemoveDeadVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForRemoveDeadVoterCount ),
548
- PriorityInversionForRemoveDecommissioningVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForRemoveDecommissioningVoterCount ),
549
- PriorityInversionForRemoveVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForRemoveVoterCount ),
550
- PriorityInversionForReplaceDeadNonVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForReplaceDeadNonVoterCount ),
551
- PriorityInversionForAddNonVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForAddNonVoterCount ),
552
- PriorityInversionForReplaceDecommissioningNonVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForReplaceDecommissioningNonVoterCount ),
553
- PriorityInversionForRemoveDeadNonVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForRemoveDeadNonVoterCount ),
554
- PriorityInversionForRemoveDecommissioningNonVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForRemoveDecommissioningNonVoterCount ),
555
- PriorityInversionForRemoveNonVoterCount : metric .NewCounter (metaReplicateQueuePriorityInversionForRemoveNonVoterCount ),
556
- PriorityInversionForConsiderRebalance : metric .NewCounter (metaReplicateQueuePriorityInversionForConsiderRebalance ),
557
- PriorityInversionForRangeUnavailable : metric .NewCounter (metaReplicateQueuePriorityInversionForRangeUnavailable ),
558
- PriorityInversionForNoop : metric .NewCounter (metaReplicateQueuePriorityInversionForNoop ),
442
+ RequeueDueToPriorityInversion : metric .NewCounter (metaReplicateQueueRequeueDueToPriorityInversion ),
443
+ PriorityInversionTotal : metric .NewCounter (metaReplicateQueuePriorityInversionTotal ),
559
444
}
560
445
}
561
446
@@ -679,47 +564,6 @@ func (metrics *ReplicateQueueMetrics) trackErrorByAllocatorAction(
679
564
680
565
}
681
566
682
- // trackPriorityInversion tracks the action that the replicate queue ended up
683
- // processing when the priority at enqueue time was higher than the priority at
684
- // processing time.
685
- func (metrics * ReplicateQueueMetrics ) trackPriorityInversion (
686
- actionAtProcessingTime allocatorimpl.AllocatorAction ,
687
- ) {
688
- metrics .PriorityInversionTotal .Inc (1 )
689
- switch actionAtProcessingTime {
690
- case allocatorimpl .AllocatorAddVoter :
691
- metrics .PriorityInversionForAddVoterCount .Inc (1 )
692
- case allocatorimpl .AllocatorReplaceDecommissioningVoter :
693
- metrics .PriorityInversionForReplaceDecommissioningVoterCount .Inc (1 )
694
- case allocatorimpl .AllocatorRemoveDeadVoter :
695
- metrics .PriorityInversionForRemoveDeadVoterCount .Inc (1 )
696
- case allocatorimpl .AllocatorRemoveDecommissioningVoter :
697
- metrics .PriorityInversionForRemoveDecommissioningVoterCount .Inc (1 )
698
- case allocatorimpl .AllocatorRemoveVoter :
699
- metrics .PriorityInversionForRemoveVoterCount .Inc (1 )
700
- case allocatorimpl .AllocatorReplaceDeadNonVoter :
701
- metrics .PriorityInversionForReplaceDeadNonVoterCount .Inc (1 )
702
- case allocatorimpl .AllocatorAddNonVoter :
703
- metrics .PriorityInversionForAddNonVoterCount .Inc (1 )
704
- case allocatorimpl .AllocatorReplaceDecommissioningNonVoter :
705
- metrics .PriorityInversionForReplaceDecommissioningNonVoterCount .Inc (1 )
706
- case allocatorimpl .AllocatorRemoveDeadNonVoter :
707
- metrics .PriorityInversionForRemoveDeadNonVoterCount .Inc (1 )
708
- case allocatorimpl .AllocatorRemoveDecommissioningNonVoter :
709
- metrics .PriorityInversionForRemoveDecommissioningNonVoterCount .Inc (1 )
710
- case allocatorimpl .AllocatorRemoveNonVoter :
711
- metrics .PriorityInversionForRemoveNonVoterCount .Inc (1 )
712
- case allocatorimpl .AllocatorConsiderRebalance :
713
- metrics .PriorityInversionForConsiderRebalance .Inc (1 )
714
- case allocatorimpl .AllocatorRangeUnavailable :
715
- metrics .PriorityInversionForRangeUnavailable .Inc (1 )
716
- case allocatorimpl .AllocatorNoop :
717
- metrics .PriorityInversionForNoop .Inc (1 )
718
- default :
719
- panic ("unhandled default case" )
720
- }
721
- }
722
-
723
567
// trackProcessResult increases the corresponding success/error count metric for
724
568
// processing a particular allocator action through the replicate queue.
725
569
func (metrics * ReplicateQueueMetrics ) trackResultByAllocatorAction (
@@ -1135,7 +979,7 @@ func (rq *replicateQueue) processOneChange(
1135
979
// starving other higher priority work.
1136
980
if PriorityInversionRequeue .Get (& rq .store .cfg .Settings .SV ) {
1137
981
if inversion , shouldRequeue := allocatorimpl .CheckPriorityInversion (priorityAtEnqueue , change .Action ); inversion {
1138
- rq .metrics .trackPriorityInversion ( change . Action )
982
+ rq .metrics .PriorityInversionTotal . Inc ( 1 )
1139
983
if priorityInversionLogEveryN .ShouldLog () {
1140
984
log .KvDistribution .Infof (ctx ,
1141
985
"priority inversion during process: shouldRequeue = %t action=%s, priority=%v, enqueuePriority=%v" ,
0 commit comments