diff options
author | ToineSiebelink <toine.siebelink@est.tech> | 2023-01-19 16:45:58 +0000 |
---|---|---|
committer | ToineSiebelink <toine.siebelink@est.tech> | 2023-01-31 11:26:22 +0000 |
commit | 0fa2fabeec18763bab060d85f5123bceff8ee34c (patch) | |
tree | 3fc7b6bcd8344b8841b397a85beb01a20f9f34b0 /cps-application | |
parent | 3d878b0674cd61e64501dfe6564b8921e76056bb (diff) |
Introduce Instrumentation
- Add instrumentation related dependency
- Added Timed Instrumentation
- CPS-Service Crud methods
- CPS Yang parsing
- NCMP Registration methods
- NCMP Events handling
- Remove manual Gauge for YanResources Cache
as (better!) instrumentation is already built into the 3PP
- Sorted dependecies alphabetically (as we used to enforce, to prevent duplicates)
- Added ## P E R F O R M A N C E T E S T R E S U L T S ### mini report
- (unrelated) test improvement (because of bug that turned out to be invalid)
Reviewers: Sourabh,Priyank, Luke
Issue-ID: CPS-1457
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I34b20bece2f59488b022b8effa9470704c57be4d
Diffstat (limited to 'cps-application')
5 files changed, 96 insertions, 15 deletions
diff --git a/cps-application/src/main/java/org/onap/cps/Application.java b/cps-application/src/main/java/org/onap/cps/Application.java index 79d5950f68..053139fcc8 100644 --- a/cps-application/src/main/java/org/onap/cps/Application.java +++ b/cps-application/src/main/java/org/onap/cps/Application.java @@ -27,7 +27,6 @@ import org.springframework.retry.annotation.EnableRetry; @EnableRetry
@SpringBootApplication
public class Application {
-
public static void main(final String[] args) {
SpringApplication.run(Application.class, args);
}
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 new file mode 100644 index 0000000000..22194f3ad8 --- /dev/null +++ b/cps-application/src/main/java/org/onap/cps/config/MicroMeterConfig.java @@ -0,0 +1,36 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.config; + +import io.micrometer.core.aop.TimedAspect; +import io.micrometer.core.instrument.MeterRegistry; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MicroMeterConfig { + + @Bean + public TimedAspect timedAspect(final MeterRegistry registry) { + return new TimedAspect(registry); + } + +} diff --git a/cps-application/src/test/groovy/org/onap/cps/config/MicroMeterConfigSpec.groovy b/cps-application/src/test/groovy/org/onap/cps/config/MicroMeterConfigSpec.groovy new file mode 100644 index 0000000000..61bc2cf027 --- /dev/null +++ b/cps-application/src/test/groovy/org/onap/cps/config/MicroMeterConfigSpec.groovy @@ -0,0 +1,35 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.config + +import io.micrometer.core.instrument.simple.SimpleMeterRegistry +import spock.lang.Specification + +class MicroMeterConfigSpec extends Specification { + + def objectUnderTest = new MicroMeterConfig() + + def 'Creating a tined aspect.'() { + expect: ' a timed aspect can be created' + assert objectUnderTest.timedAspect(new SimpleMeterRegistry()) != null + } + +} diff --git a/cps-application/src/test/groovy/org/onap/cps/rest/controller/ControllerSecuritySpec.groovy b/cps-application/src/test/groovy/org/onap/cps/rest/controller/ControllerSecuritySpec.groovy index 01d3735827..5c255f1dac 100755 --- a/cps-application/src/test/groovy/org/onap/cps/rest/controller/ControllerSecuritySpec.groovy +++ b/cps-application/src/test/groovy/org/onap/cps/rest/controller/ControllerSecuritySpec.groovy @@ -1,20 +1,21 @@ /* - * ============LICENSE_START======================================================= - * Copyright (C) 2020 Pantheon.tech - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * ============LICENSE_START======================================================= + * Copyright (C) 2020 Pantheon.tech + * Modifications Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= */ package org.onap.cps.rest.controller @@ -27,7 +28,7 @@ import org.springframework.http.HttpStatus import org.springframework.test.web.servlet.MockMvc import spock.lang.Specification -@WebMvcTest(controllers = TestController.class) +@WebMvcTest(TestController) class ControllerSecuritySpec extends Specification { @Autowired diff --git a/cps-application/src/test/java/org/onap/cps/rest/controller/TestController.java b/cps-application/src/test/java/org/onap/cps/rest/controller/TestController.java index 34325c71ac..75aab83bd3 100644 --- a/cps-application/src/test/java/org/onap/cps/rest/controller/TestController.java +++ b/cps-application/src/test/java/org/onap/cps/rest/controller/TestController.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021 Pantheon.tech + * Modifications Copyright (C) 2023 Nordix Foundation * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +20,9 @@ package org.onap.cps.rest.controller; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.simple.SimpleMeterRegistry; +import org.springframework.context.annotation.Bean; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -27,8 +31,14 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { + @Bean + public MeterRegistry meterRegistry() { + return new SimpleMeterRegistry(); + } + @GetMapping("/test") ResponseEntity<String> test() { return new ResponseEntity<>(HttpStatus.OK); } + } |