@@ -29,6 +29,7 @@ public class LogCompactionStats extends AbstractVeniceStats {
29
29
30
30
/** metrics */
31
31
private final MetricEntityStateGeneric repushStoreCallCountMetric ;
32
+ private final MetricEntityStateGeneric storeNominatedForScheduledCompactionMetric ;
32
33
33
34
public LogCompactionStats (MetricsRepository metricsRepository , String clusterName ) {
34
35
super (metricsRepository , "LogCompactionStats" );
@@ -62,24 +63,52 @@ public LogCompactionStats(MetricsRepository metricsRepository, String clusterNam
62
63
ControllerTehutiMetricNameEnum .REPUSH_STORE_ENDPOINT_CALL_COUNT ,
63
64
Collections .singletonList (new Count ()),
64
65
baseDimensionsMap );
66
+
67
+ storeNominatedForScheduledCompactionMetric = MetricEntityStateGeneric .create (
68
+ ControllerMetricEntity .STORE_NOMINATED_FOR_SCHEDULED_COMPACTION .getMetricEntity (),
69
+ otelRepository ,
70
+ this ::registerSensor ,
71
+ ControllerTehutiMetricNameEnum .STORE_NOMINATED_FOR_SCHEDULED_COMPACTION ,
72
+ Collections .singletonList (new Count ()),
73
+ baseDimensionsMap );
65
74
}
66
75
67
76
public void recordRepushStoreCall (
68
77
String storeName ,
69
78
RepushStoreTriggerSource triggerSource ,
70
79
VeniceResponseStatusCategory responseStatusCategory ) {
71
- repushStoreCallCountMetric .record (1 , new HashMap <VeniceMetricsDimensions , String >(baseDimensionsMap ) {
80
+ storeNominatedForScheduledCompactionMetric
81
+ .record (1 , new HashMap <VeniceMetricsDimensions , String >(baseDimensionsMap ) {
82
+ {
83
+ put (VeniceMetricsDimensions .VENICE_STORE_NAME , storeName );
84
+ put (VeniceMetricsDimensions .REPUSH_STORE_TRIGGER_SOURCE , triggerSource .getDimensionValue ());
85
+ put (
86
+ VeniceMetricsDimensions .VENICE_RESPONSE_STATUS_CODE_CATEGORY ,
87
+ responseStatusCategory .getDimensionValue ());
88
+ }
89
+ });
90
+ }
91
+
92
+ public void recordStoreNominatedForScheduledCompaction (String storeName ) {
93
+ storeNominatedForScheduledCompactionMetric
94
+ .record (1 , new HashMap <VeniceMetricsDimensions , String >(baseDimensionsMap ) {
95
+ {
96
+ put (VeniceMetricsDimensions .VENICE_STORE_NAME , storeName );
97
+ }
98
+ });
99
+ }
100
+
101
+ public void recordStoreRepushedSuccessfullyForScheduledCompaction (String storeName ) {
102
+ repushStoreCallCountMetric .record (0 , new HashMap <VeniceMetricsDimensions , String >(baseDimensionsMap ) {
72
103
{
73
104
put (VeniceMetricsDimensions .VENICE_STORE_NAME , storeName );
74
- put (VeniceMetricsDimensions .REPUSH_STORE_TRIGGER_SOURCE , triggerSource .getDimensionValue ());
75
- put (VeniceMetricsDimensions .VENICE_RESPONSE_STATUS_CODE_CATEGORY , responseStatusCategory .getDimensionValue ());
76
105
}
77
106
});
78
107
}
79
108
80
109
enum ControllerTehutiMetricNameEnum implements TehutiMetricNameEnum {
81
110
/** for {@link ControllerMetricEntity#REPUSH_STORE_ENDPOINT_CALL_COUNT} */
82
- REPUSH_STORE_ENDPOINT_CALL_COUNT ;
111
+ REPUSH_STORE_ENDPOINT_CALL_COUNT , STORE_NOMINATED_FOR_SCHEDULED_COMPACTION ;
83
112
84
113
private final String metricName ;
85
114
0 commit comments