From 437fff3506f8a8afc7e10b46f86f5163f484fe19 Mon Sep 17 00:00:00 2001 From: pksup Date: Tue, 24 Feb 2026 14:13:53 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=ED=8F=89=EA=B7=A0=EA=B0=92=20=EA=B3=84?= =?UTF-8?q?=EC=82=B0=20=EB=A1=9C=EC=A7=81=20=EB=B3=B4=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collector/HourStatsAggregator.java | 16 ++++++++++++---- .../collector/MinuteStatsAggregator.java | 14 +++++++++++--- 2 files changed, 23 insertions(+), 7 deletions(-) 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; + } } From bc4d698bbae2d0a63232f32962dceecf0ac4a1c3 Mon Sep 17 00:00:00 2001 From: jaewohong Date: Wed, 25 Feb 2026 18:43:57 +0900 Subject: [PATCH 2/3] =?UTF-8?q?P=20=ED=99=98=EA=B2=BD=20DIALECT=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/properties/env.P.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/WebContent/WEB-INF/properties/env.P.properties b/WebContent/WEB-INF/properties/env.P.properties index 403bf5d..565fddd 100644 --- a/WebContent/WEB-INF/properties/env.P.properties +++ b/WebContent/WEB-INF/properties/env.P.properties @@ -4,7 +4,8 @@ # - 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 From 175deaa63c60201b13649fc52bd8ba40ca642ec1 Mon Sep 17 00:00:00 2001 From: jaewohong Date: Wed, 25 Feb 2026 18:46:39 +0900 Subject: [PATCH 3/3] =?UTF-8?q?Prod=20Dialect=3DOracle=EB=A1=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/properties/env.P.properties | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/WebContent/WEB-INF/properties/env.P.properties b/WebContent/WEB-INF/properties/env.P.properties index 565fddd..d4b10f6 100644 --- a/WebContent/WEB-INF/properties/env.P.properties +++ b/WebContent/WEB-INF/properties/env.P.properties @@ -8,15 +8,7 @@ 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]