@@ -63,6 +63,8 @@ public class S3StreamKafkaMetricsManager {
63
63
private static Supplier <Map <String , Integer >> fetchLimiterPermitNumSupplier = Collections ::emptyMap ;
64
64
private static ObservableLongGauge fetchPendingTaskNumMetrics = new NoopObservableLongGauge ();
65
65
private static Supplier <Map <String , Integer >> fetchPendingTaskNumSupplier = Collections ::emptyMap ;
66
+ private static ObservableLongGauge logAppendPermitNumMetrics = new NoopObservableLongGauge ();
67
+ private static Supplier <Integer > logAppendPermitNumSupplier = () -> 0 ;
66
68
private static MetricsConfig metricsConfig = new MetricsConfig (MetricsLevel .INFO , Attributes .empty ());
67
69
private static ObservableLongGauge slowBrokerMetrics = new NoopObservableLongGauge ();
68
70
private static Supplier <Map <Integer , Boolean >> slowBrokerSupplier = Collections ::emptyMap ;
@@ -86,6 +88,7 @@ public static void initMetrics(Meter meter, String prefix) {
86
88
initAutoBalancerMetrics (meter , prefix );
87
89
initObjectMetrics (meter , prefix );
88
90
initFetchMetrics (meter , prefix );
91
+ initLogAppendMetrics (meter , prefix );
89
92
initPartitionStatusStatisticsMetrics (meter , prefix );
90
93
}
91
94
@@ -203,6 +206,17 @@ private static void initFetchMetrics(Meter meter, String prefix) {
203
206
});
204
207
}
205
208
209
+ private static void initLogAppendMetrics (Meter meter , String prefix ) {
210
+ logAppendPermitNumMetrics = meter .gaugeBuilder (prefix + S3StreamKafkaMetricsConstants .LOG_APPEND_PERMIT_NUM )
211
+ .setDescription ("The number of permits in elastic log append limiter" )
212
+ .ofLongs ()
213
+ .buildWithCallback (result -> {
214
+ if (MetricsLevel .INFO .isWithin (metricsConfig .getMetricsLevel ())) {
215
+ result .record (logAppendPermitNumSupplier .get (), metricsConfig .getBaseAttributes ());
216
+ }
217
+ });
218
+ }
219
+
206
220
private static void initPartitionStatusStatisticsMetrics (Meter meter , String prefix ) {
207
221
partitionStatusStatisticsMetrics = meter .gaugeBuilder (prefix + S3StreamKafkaMetricsConstants .PARTITION_STATUS_STATISTICS_METRIC_NAME )
208
222
.setDescription ("The statistics of partition status" )
@@ -248,6 +262,10 @@ public static void setFetchPendingTaskNumSupplier(Supplier<Map<String, Integer>>
248
262
S3StreamKafkaMetricsManager .fetchPendingTaskNumSupplier = fetchPendingTaskNumSupplier ;
249
263
}
250
264
265
+ public static void setLogAppendPermitNumSupplier (Supplier <Integer > logAppendPermitNumSupplier ) {
266
+ S3StreamKafkaMetricsManager .logAppendPermitNumSupplier = logAppendPermitNumSupplier ;
267
+ }
268
+
251
269
public static void setSlowBrokerSupplier (Supplier <Map <Integer , Boolean >> slowBrokerSupplier ) {
252
270
S3StreamKafkaMetricsManager .slowBrokerSupplier = slowBrokerSupplier ;
253
271
}
0 commit comments