diff options
Diffstat (limited to 'controlloop/common/feature-controlloop-trans')
2 files changed, 37 insertions, 6 deletions
diff --git a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java index 75e0f1f4d..956d28ed8 100644 --- a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java +++ b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java @@ -28,10 +28,12 @@ import java.time.Instant; import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Properties; import java.util.UUID; import java.util.concurrent.TimeUnit; import org.apache.commons.collections4.CollectionUtils; +import org.onap.policy.controlloop.ControlLoopNotificationType; import org.onap.policy.controlloop.ControlLoopOperation; import org.onap.policy.controlloop.VirtualControlLoopNotification; import org.onap.policy.drools.persistence.SystemPersistenceConstants; @@ -54,6 +56,22 @@ class CacheBasedControlLoopMetricsManager implements ControlLoopMetrics { private long transactionTimeout = ControlLoopMetricsFeature.CL_CACHE_TRANS_TIMEOUT_SECONDS_DEFAULT; + /** + * Numeric response code. + */ + private static final Map<String, String> note2code = Map.of( + ControlLoopNotificationType.ACTIVE.name(), "100", + ControlLoopNotificationType.REJECTED.name(), "200", + ControlLoopNotificationType.OPERATION.name(), "300", + ControlLoopNotificationType.OPERATION_SUCCESS.name(), "301", + ControlLoopNotificationType.OPERATION_FAILURE.name(), "302", + ControlLoopNotificationType.FINAL_FAILURE.name(), "400", + ControlLoopNotificationType.FINAL_SUCCESS.name(), "401", + ControlLoopNotificationType.FINAL_OPENLOOP.name(), "402" + ); + + private static final String UNKNOWN_RESPONSE_CODE = "900"; + public CacheBasedControlLoopMetricsManager() { Properties properties = SystemPersistenceConstants.getManager() @@ -288,7 +306,11 @@ class CacheBasedControlLoopMetricsManager implements ControlLoopMetrics { + ":" + notification.getPolicyName() + ":" + notification.getPolicyVersion()) .setProcessKey("" + notification.getAai()) .setTargetEntity(notification.getTargetType() + "." + notification.getTarget()) - .setResponseCode((notification.getNotification() != null) ? notification.getNotification().name() : "-") + .setResponseCode((notification.getNotification() != null) + ? notificationTypeToResponseCode(notification.getNotification().name()) + : UNKNOWN_RESPONSE_CODE) + .setCustomField1((notification.getNotification() != null) + ? notification.getNotification().name() : "") .setResponseDescription(notification.getMessage()) .setClientIpAddress(notification.getClosedLoopEventClient()); } @@ -362,4 +384,13 @@ class CacheBasedControlLoopMetricsManager implements ControlLoopMetrics { + getCacheOccupancy() + "}"; } + + private String notificationTypeToResponseCode(String notificationType) { + String code = note2code.get(notificationType); + if (code != null) { + return code; + } else { + return UNKNOWN_RESPONSE_CODE; + } + } } diff --git a/controlloop/common/feature-controlloop-trans/src/test/resources/logback.xml b/controlloop/common/feature-controlloop-trans/src/test/resources/logback.xml index 6a25769e3..f2acc70e7 100644 --- a/controlloop/common/feature-controlloop-trans/src/test/resources/logback.xml +++ b/controlloop/common/feature-controlloop-trans/src/test/resources/logback.xml @@ -2,7 +2,7 @@ ============LICENSE_START======================================================= policy-management ================================================================================ - Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ <configuration scan="true" scanPeriod="30 seconds" debug="false"> - <property name="logDir" value="target/test-classes" /> + <property name="logDir" value="logs" /> <property name="errorLog" value="error" /> <property name="debugLog" value="debug" /> @@ -37,9 +37,9 @@ value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}] [%X{networkEventType:-NULL}|%X{networkProtocol:-NULL}|%X{networkTopic:-NULL}|%X{requestID:-NULL}]%n" /> <property name="metricPattern" - value="%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n" /> - <property name="transactionPattern" value="${metricPattern}" /> - + value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestID}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity:-NA}|%X{TargetServiceName:-NA}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%class||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> + <property name="transactionPattern" + value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestID}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%class|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> <appender name="ErrorOut" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logDir}/${errorLog}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |