diff --git a/WebContent/WEB-INF/properties/env.P.properties b/WebContent/WEB-INF/properties/env.P.properties index 403bf5d..d4b10f6 100644 --- a/WebContent/WEB-INF/properties/env.P.properties +++ b/WebContent/WEB-INF/properties/env.P.properties @@ -4,18 +4,11 @@ # - oracle10g : org.hibernate.dialect.Oracle10gDialect # - MySQL8 : org.hibernate.dialect.MySQL8Dialect # - MariaDB 10.3 : org.hibernate.dialect.MariaDB103Dialect -hibernate.dialect=org.hibernate.dialect.MySQL5Dialect +#hibernate.dialect=org.hibernate.dialect.MySQL5Dialect +hibernate.dialect=org.hibernate.dialect.Oracle12cDialect # eLink default functions -# set System property in real system -#inst.Name=${HOSTNAME} -inst.Name=elinkSvr11 -eai.jdbc.Name=APIGW_APP_NXA -eai.rmiport=10211 -eai.rmiserviceport=10212 -eai.systemmode=D -# EAI FEP MCI GW ... + eai.systemtype=API -eai.tableowner=apigw eai.server.extractor=[0,2],[0,2],[-2] diff --git a/src/main/java/com/eactive/eai/custom/statistics/collector/HourStatsAggregator.java b/src/main/java/com/eactive/eai/custom/statistics/collector/HourStatsAggregator.java index 3e8afed..46db817 100644 --- a/src/main/java/com/eactive/eai/custom/statistics/collector/HourStatsAggregator.java +++ b/src/main/java/com/eactive/eai/custom/statistics/collector/HourStatsAggregator.java @@ -152,12 +152,12 @@ public class HourStatsAggregator { * @return 백분위 응답시간 (ms) */ private long calculatePercentile(double percentile) { - long total = totalCnt.get(); - if (total == 0) { + long avgCount = getAvgCount(); + if (avgCount == 0) { return 0; } - long targetCount = (long) Math.ceil(total * percentile / 100.0); + long targetCount = (long) Math.ceil(avgCount * percentile / 100.0); long accumulated = 0; for (int i = 0; i < respTimeBuckets.length; i++) { @@ -193,7 +193,7 @@ public class HourStatsAggregator { long timeout = timeoutCnt.get(); long systemErr = systemErrCnt.get(); long bizErr = bizErrCnt.get(); - long avgCount = success + timeout + systemErr + bizErr; + long avgCount = getAvgCount(); stats.setTotalCnt(total); stats.setSuccessCnt(success); @@ -233,6 +233,14 @@ public class HourStatsAggregator { return stats; } + private long getAvgCount() { + long success = successCnt.get(); + long timeout = timeoutCnt.get(); + long systemErr = systemErrCnt.get(); + long bizErr = bizErrCnt.get(); + return success + timeout + systemErr + bizErr; + } + /** * 집계된 총 건수 반환 (빈 집계기 체크용) */ diff --git a/src/main/java/com/eactive/eai/custom/statistics/collector/MinuteStatsAggregator.java b/src/main/java/com/eactive/eai/custom/statistics/collector/MinuteStatsAggregator.java index 4a5c1cb..d5c59b5 100644 --- a/src/main/java/com/eactive/eai/custom/statistics/collector/MinuteStatsAggregator.java +++ b/src/main/java/com/eactive/eai/custom/statistics/collector/MinuteStatsAggregator.java @@ -152,12 +152,12 @@ public class MinuteStatsAggregator { * @return 백분위 응답시간 (ms) */ private long calculatePercentile(double percentile) { - long total = totalCnt.get(); - if (total == 0) { + long avgCount = getAvgCount(); + if (avgCount == 0) { return 0; } - long targetCount = (long) Math.ceil(total * percentile / 100.0); + long targetCount = (long) Math.ceil(avgCount * percentile / 100.0); long accumulated = 0; for (int i = 0; i < respTimeBuckets.length; i++) { @@ -239,4 +239,12 @@ public class MinuteStatsAggregator { public long getTotalCount() { return totalCnt.get(); } + + private long getAvgCount() { + long success = successCnt.get(); + long timeout = timeoutCnt.get(); + long systemErr = systemErrCnt.get(); + long bizErr = bizErrCnt.get(); + return success + timeout + systemErr + bizErr; + } }