aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/common/feature-controlloop-trans
diff options
context:
space:
mode:
authorJoseph Chou <jc2555@att.com>2020-06-09 14:14:56 -0400
committerJoseph Chou <jc2555@att.com>2020-06-15 14:03:40 -0400
commit44162d56a81c1a04a70bfeca0b79d8d50f1a82a8 (patch)
tree66e9f45e44bcf85d25e796f84fb95e3720dbd507 /controlloop/common/feature-controlloop-trans
parent586a5d357470e4ab7e22481c852dd1cd1ace352d (diff)
change audit and metric formats in feature-controlloop-trans
logging enhancement Issue-ID: POLICY-2579 Change-Id: Id1e0230d3cd2ac6d921be86f127f3721c65f3e52 Signed-off-by: Joseph Chou <jc2555@att.com>
Diffstat (limited to 'controlloop/common/feature-controlloop-trans')
-rw-r--r--controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java33
-rw-r--r--controlloop/common/feature-controlloop-trans/src/test/resources/logback.xml10
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">