From: kissand Date: Thu, 2 Mar 2023 12:30:17 +0000 (+0100) Subject: Add new metrics to the get data node method X-Git-Tag: 3.2.6~18^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=03ded02d63b196fed2724b1a541457525c3885bc;p=cps.git Add new metrics to the get data node method Issue-ID: CPS-1509 Change-Id: I2eded9a23b56f5263591c710c7a707cf281f93d7 Signed-off-by: kissand --- diff --git a/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java b/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java index 80cfb8ce0..edfeab33e 100755 --- a/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java +++ b/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java @@ -24,6 +24,7 @@ package org.onap.cps.rest.controller; +import io.micrometer.core.annotation.Timed; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -97,6 +98,8 @@ public class DataRestController implements CpsDataApi { } @Override + @Timed(value = "cps.data.controller.datanode.get.v1", + description = "Time taken to get data node") public ResponseEntity getNodeByDataspaceAndAnchor(final String dataspaceName, final String anchorName, final String xpath, final Boolean includeDescendants) { final FetchDescendantsOption fetchDescendantsOption = Boolean.TRUE.equals(includeDescendants) @@ -108,6 +111,8 @@ public class DataRestController implements CpsDataApi { } @Override + @Timed(value = "cps.data.controller.datanode.get.v2", + description = "Time taken to get data node") public ResponseEntity getNodeByDataspaceAndAnchorV2(final String dataspaceName, final String anchorName, final String xpath, final String fetchDescendantsOptionAsString) { diff --git a/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java b/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java index 81938dcd9..5f4283d0e 100644 --- a/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java +++ b/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java @@ -22,6 +22,7 @@ package org.onap.cps.rest.controller; +import io.micrometer.core.annotation.Timed; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -49,6 +50,8 @@ public class QueryRestController implements CpsQueryApi { private final PrefixResolver prefixResolver; @Override + @Timed(value = "cps.data.controller.datanode.query.v1", + description = "Time taken to query data nodes") public ResponseEntity getNodesByDataspaceAndAnchorAndCpsPath(final String dataspaceName, final String anchorName, final String cpsPath, final Boolean includeDescendants) { final FetchDescendantsOption fetchDescendantsOption = Boolean.TRUE.equals(includeDescendants) @@ -58,6 +61,8 @@ public class QueryRestController implements CpsQueryApi { } @Override + @Timed(value = "cps.data.controller.datanode.query.v2", + description = "Time taken to query data nodes") public ResponseEntity getNodesByDataspaceAndAnchorAndCpsPathV2(final String dataspaceName, final String anchorName, final String cpsPath, final String fetchDescendantsOptionAsString) { final FetchDescendantsOption fetchDescendantsOption = diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java index f634008dc..95058ee20 100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java @@ -25,6 +25,7 @@ package org.onap.cps.spi.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; +import io.micrometer.core.annotation.Timed; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; @@ -80,7 +81,7 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService private final JsonObjectMapper jsonObjectMapper; private final SessionManager sessionManager; - private static final String REG_EX_FOR_OPTIONAL_LIST_INDEX = "(\\[@[\\s\\S]+?]){0,1})"; + private static final String REG_EX_FOR_OPTIONAL_LIST_INDEX = "(\\[@[\\s\\S]+?])?)"; @Override public void addChildDataNode(final String dataspaceName, final String anchorName, final String parentNodeXpath, @@ -250,6 +251,8 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService } @Override + @Timed(value = "cps.data.persistence.service.datanode.get", + description = "Time taken to get a data node") public Collection getDataNodes(final String dataspaceName, final String anchorName, final String xpath, final FetchDescendantsOption fetchDescendantsOption) { @@ -263,6 +266,8 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService } @Override + @Timed(value = "cps.data.persistence.service.datanode.batch.get", + description = "Time taken to get data nodes") public Collection getDataNodesForMultipleXpaths(final String dataspaceName, final String anchorName, final Collection xpaths, final FetchDescendantsOption fetchDescendantsOption) { @@ -330,6 +335,8 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService } @Override + @Timed(value = "cps.data.persistence.service.datanode.query", + description = "Time taken to query data nodes") public List queryDataNodes(final String dataspaceName, final String anchorName, final String cpsPath, final FetchDescendantsOption fetchDescendantsOption) { final DataspaceEntity dataspaceEntity = dataspaceRepository.getByName(dataspaceName); diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsQueryServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsQueryServiceImpl.java index 7b9043a60..a63faabac 100644 --- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsQueryServiceImpl.java +++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsQueryServiceImpl.java @@ -20,6 +20,7 @@ package org.onap.cps.api.impl; +import io.micrometer.core.annotation.Timed; import java.util.Collection; import lombok.RequiredArgsConstructor; import org.onap.cps.api.CpsQueryService; @@ -37,6 +38,8 @@ public class CpsQueryServiceImpl implements CpsQueryService { private final CpsValidator cpsValidator; @Override + @Timed(value = "cps.data.service.datanode.query", + description = "Time taken to query data nodes") public Collection queryDataNodes(final String dataspaceName, final String anchorName, final String cpsPath, final FetchDescendantsOption fetchDescendantsOption) { cpsValidator.validateNameCharacters(dataspaceName, anchorName);