aboutsummaryrefslogtreecommitdiffstats
path: root/cps-application/src/main/java/org/onap
diff options
context:
space:
mode:
Diffstat (limited to 'cps-application/src/main/java/org/onap')
-rw-r--r--cps-application/src/main/java/org/onap/cps/config/MicroMeterConfig.java89
1 files changed, 86 insertions, 3 deletions
diff --git a/cps-application/src/main/java/org/onap/cps/config/MicroMeterConfig.java b/cps-application/src/main/java/org/onap/cps/config/MicroMeterConfig.java
index 22194f3ad8..39ed6ef5a7 100644
--- a/cps-application/src/main/java/org/onap/cps/config/MicroMeterConfig.java
+++ b/cps-application/src/main/java/org/onap/cps/config/MicroMeterConfig.java
@@ -1,6 +1,6 @@
/*
* ============LICENSE_START=======================================================
- * Copyright (C) 2023 Nordix Foundation.
+ * Copyright (C) 2023-2025 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,17 +20,100 @@
package org.onap.cps.config;
+import com.hazelcast.map.IMap;
import io.micrometer.core.aop.TimedAspect;
+import io.micrometer.core.instrument.Gauge;
import io.micrometer.core.instrument.MeterRegistry;
+import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
+@RequiredArgsConstructor
public class MicroMeterConfig {
+ private static final String TAG = "state";
+ private static final String CMHANDLE_STATE_GAUGE = "cmHandlesByState";
+ final IMap<String, Integer> cmHandlesByState;
+
+ @Bean
+ public TimedAspect timedAspect(final MeterRegistry meterRegistry) {
+ return new TimedAspect(meterRegistry);
+ }
+
+ /**
+ * Register gauge metric for cm handles with state 'advised'.
+ *
+ * @param meterRegistry meter registry
+ * @return cm handle state gauge
+ */
+ @Bean
+ public Gauge advisedCmHandles(final MeterRegistry meterRegistry) {
+ return Gauge.builder(CMHANDLE_STATE_GAUGE, cmHandlesByState,
+ value -> cmHandlesByState.get("advisedCmHandlesCount"))
+ .tag(TAG, "ADVISED")
+ .description("Current number of cmhandles in advised state")
+ .register(meterRegistry);
+ }
+
+ /**
+ * Register gauge metric for cm handles with state 'ready'.
+ *
+ * @param meterRegistry meter registry
+ * @return cm handle state gauge
+ */
+ @Bean
+ public Gauge readyCmHandles(final MeterRegistry meterRegistry) {
+ return Gauge.builder(CMHANDLE_STATE_GAUGE, cmHandlesByState,
+ value -> cmHandlesByState.get("readyCmHandlesCount"))
+ .tag(TAG, "READY")
+ .description("Current number of cmhandles in ready state")
+ .register(meterRegistry);
+ }
+
+ /**
+ * Register gauge metric for cm handles with state 'locked'.
+ *
+ * @param meterRegistry meter registry
+ * @return cm handle state gauge
+ */
+ @Bean
+ public Gauge lockedCmHandles(final MeterRegistry meterRegistry) {
+ return Gauge.builder(CMHANDLE_STATE_GAUGE, cmHandlesByState,
+ value -> cmHandlesByState.get("lockedCmHandlesCount"))
+ .tag(TAG, "LOCKED")
+ .description("Current number of cmhandles in locked state")
+ .register(meterRegistry);
+ }
+
+ /**
+ * Register gauge metric for cm handles with state 'deleting'.
+ *
+ * @param meterRegistry meter registry
+ * @return cm handle state gauge
+ */
+ @Bean
+ public Gauge deletingCmHandles(final MeterRegistry meterRegistry) {
+ return Gauge.builder(CMHANDLE_STATE_GAUGE, cmHandlesByState,
+ value -> cmHandlesByState.get("deletingCmHandlesCount"))
+ .tag(TAG, "DELETING")
+ .description("Current number of cmhandles in deleting state")
+ .register(meterRegistry);
+ }
+
+ /**
+ * Register gauge metric for cm handles with state 'deleted'.
+ *
+ * @param meterRegistry meter registry
+ * @return cm handle state gauge
+ */
@Bean
- public TimedAspect timedAspect(final MeterRegistry registry) {
- return new TimedAspect(registry);
+ public Gauge deletedCmHandles(final MeterRegistry meterRegistry) {
+ return Gauge.builder(CMHANDLE_STATE_GAUGE, cmHandlesByState,
+ value -> cmHandlesByState.get("deletedCmHandlesCount"))
+ .tag(TAG, "DELETED")
+ .description("Current number of cmhandles in deleted state")
+ .register(meterRegistry);
}
}