Преглед на файлове

add system health check

shjung преди 2 месеца
родител
ревизия
cbd3dd80be

+ 57 - 12
.idea/workspace.xml

@@ -6,10 +6,17 @@
   <component name="ChangeListManager">
     <list default="true" id="137ea174-7fc0-49e0-a3b0-3deac854d820" name="Changes" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/scheduler/UticPtisServerScheduler.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/scheduler/ApplicationScheduler.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/scheduler/UticStatServerScheduler.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/scheduler/ApplicationScheduler.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/resources/logback-spring.xml" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/resources/logback-spring.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/scheduler/UticTrafServerScheduler.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/scheduler/ApplicationScheduler.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-center-common/src/main/java/com/utic/center/common/utils/SystemHealth.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-center-common/src/main/java/com/utic/center/common/utils/SystemHealth.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-ptis-server/Reference.TXT" beforeDir="false" afterPath="$PROJECT_DIR$/utic-ptis-server/Reference.TXT" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/UticPtisServerApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/UticPtisServerApplication.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/config/DatabaseConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/config/DatabaseConfig.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/scheduler/ApplicationScheduler.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/scheduler/ApplicationScheduler.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/service/UticPtisServerService.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/service/UticPtisServerService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-ptis-server/src/main/resources/mybatis/mapper/UticPtisServerMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/utic-ptis-server/src/main/resources/mybatis/mapper/UticPtisServerMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/config/DatabaseConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/config/DatabaseConfig.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/scheduler/ApplicationScheduler.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/scheduler/ApplicationScheduler.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/config/DatabaseUticConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/config/DatabaseConfig.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/scheduler/ApplicationScheduler.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/scheduler/ApplicationScheduler.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -79,6 +86,42 @@
                 <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
                 <item name="utic-center" type="f1a62948:ProjectNode" />
               </path>
+              <path>
+                <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+                <item name="utic-center" type="f1a62948:ProjectNode" />
+                <item name="utic-ptis-server" type="2d1252cf:ModuleNode" />
+              </path>
+              <path>
+                <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+                <item name="utic-center" type="f1a62948:ProjectNode" />
+                <item name="utic-ptis-server" type="2d1252cf:ModuleNode" />
+                <item name="Tasks" type="e4a08cd1:TasksNode" />
+              </path>
+              <path>
+                <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+                <item name="utic-center" type="f1a62948:ProjectNode" />
+                <item name="utic-ptis-server" type="2d1252cf:ModuleNode" />
+                <item name="Tasks" type="e4a08cd1:TasksNode" />
+                <item name="build" type="c8890929:TasksNode$1" />
+              </path>
+              <path>
+                <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+                <item name="utic-center" type="f1a62948:ProjectNode" />
+                <item name="utic-stat-server" type="2d1252cf:ModuleNode" />
+              </path>
+              <path>
+                <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+                <item name="utic-center" type="f1a62948:ProjectNode" />
+                <item name="utic-stat-server" type="2d1252cf:ModuleNode" />
+                <item name="Tasks" type="e4a08cd1:TasksNode" />
+              </path>
+              <path>
+                <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+                <item name="utic-center" type="f1a62948:ProjectNode" />
+                <item name="utic-stat-server" type="2d1252cf:ModuleNode" />
+                <item name="Tasks" type="e4a08cd1:TasksNode" />
+                <item name="build" type="c8890929:TasksNode$1" />
+              </path>
               <path>
                 <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
                 <item name="utic-center" type="f1a62948:ProjectNode" />
@@ -238,8 +281,8 @@
     "node.js.selected.package.tslint": "(autodetect)",
     "nodejs_package_manager_path": "npm",
     "onboarding.tips.debug.path": "C:/KoROAD/UTIC-SIGNAL/utic-signal/ggits-tsinfo-server/src/main/java/com/sig/Main.java",
-    "project.structure.last.edited": "SDKs",
-    "project.structure.proportion": "0.0",
+    "project.structure.last.edited": "Modules",
+    "project.structure.proportion": "0.15",
     "project.structure.side.proportion": "0.32302406",
     "run.configurations.included.in.services": "true",
     "settings.build.tools.auto.reload": "ALL",
@@ -294,6 +337,8 @@
         <entry key="SpringBootApplicationConfigurationType">
           <value>
             <map>
+              <entry key="UticPtisServerApplication" value="STOPPED" />
+              <entry key="UticStatServerApplication" value="STOPPED" />
               <entry key="UticTrafServerApplication" value="STOPPED" />
             </map>
           </value>
@@ -301,7 +346,7 @@
       </map>
     </option>
   </component>
-  <component name="RunManager" selected="Gradle.utic-center:utic-traf-server [bootJar]">
+  <component name="RunManager" selected="Spring Boot.UticStatServerApplication">
     <configuration name="utic-center:utic-center-common [build]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
       <ExternalSystemSettings>
         <option name="executionName" />
@@ -330,7 +375,7 @@
         <option name="executionName" />
         <option name="externalProjectPath" value="$PROJECT_DIR$/utic-ptis-server" />
         <option name="externalSystemIdString" value="GRADLE" />
-        <option name="scriptParameters" />
+        <option name="scriptParameters" value="" />
         <option name="taskDescriptions">
           <list />
         </option>
@@ -463,11 +508,11 @@
     </list>
     <recent_temporary>
       <list>
-        <item itemvalue="Gradle.utic-center:utic-traf-server [bootJar]" />
-        <item itemvalue="Gradle.utic-center:utic-stat-server [bootJar]" />
         <item itemvalue="Gradle.utic-center:utic-ptis-server [bootJar]" />
-        <item itemvalue="Gradle.utic-center:utic-traf-server [clean]" />
+        <item itemvalue="Gradle.utic-center:utic-stat-server [bootJar]" />
+        <item itemvalue="Gradle.utic-center:utic-traf-server [bootJar]" />
         <item itemvalue="Gradle.utic-center:utic-center-common [build]" />
+        <item itemvalue="Gradle.utic-center:utic-traf-server [clean]" />
       </list>
     </recent_temporary>
   </component>
@@ -646,7 +691,7 @@
       <workItem from="1760242883220" duration="6897000" />
       <workItem from="1760327252176" duration="2139000" />
       <workItem from="1760337299130" duration="612000" />
-      <workItem from="1760406508566" duration="26997000" />
+      <workItem from="1760406508566" duration="39395000" />
     </task>
     <servers />
   </component>

+ 27 - 10
utic-center-common/src/main/java/com/utic/center/common/utils/SystemHealth.java

@@ -9,8 +9,6 @@ import java.lang.management.ManagementFactory;
 import java.lang.management.MemoryMXBean;
 import java.time.Instant;
 import java.time.ZoneId;
-import java.util.HashMap;
-import java.util.Map;
 
 @Getter
 public class SystemHealth {
@@ -41,11 +39,17 @@ public class SystemHealth {
     private long diskFree;
     private double diskUsage;
 
-    private final Map<String, GcStats> gcStatsMap = new HashMap<>();
+//    private final Map<String, GcStats> gcStatsMap = new HashMap<>();
     private String gcName;
-    private long gcCount = 0;
-    private long gcTime = 0;
-    private String jvmStartTime;
+    private long gcTotalCount = 0;
+    private long gcTotalTime = 0;
+    private long gcTotalAvgTime = 0;
+
+    private long gcRecentCount = 0;
+    private long gcRecentTime = 0;
+    private long gcRecentAvgTime = 0;
+
+    private final String jvmStartTime;
 
     public SystemHealth() {
         this.jvmStartTime = Instant.ofEpochMilli(
@@ -109,13 +113,26 @@ public class SystemHealth {
             }
         }
 
+        long totalGcCount = 0;
+        long totalGcTime = 0;
         for (GarbageCollectorMXBean gc : ManagementFactory.getGarbageCollectorMXBeans()) {
-            this.gcName = gc.getName();
-            this.gcCount += gc.getCollectionCount();
-            this.gcTime += gc.getCollectionTime();
-            gcStatsMap.put(gc.getName(), new GcStats(gc.getCollectionCount(), gc.getCollectionTime()));
+            totalGcCount += gc.getCollectionCount();
+            totalGcTime += gc.getCollectionTime();
+//            this.gcName = gc.getName();
+//            gcStatsMap.put(gc.getName(), new GcStats(gc.getCollectionCount(), gc.getCollectionTime()));
         }
 
+        // 누적 평균
+        this.gcTotalAvgTime = totalGcTime > 0 ? Math.round((double) totalGcTime / totalGcCount) : 0;
+
+        // 최근 변화량
+        this.gcRecentCount = totalGcCount - this.gcTotalCount;
+        this.gcRecentTime = totalGcTime - this.gcTotalTime;
+        this.gcRecentAvgTime = gcTotalCount > 0 ? Math.round((double) this.gcRecentTime  / gcTotalCount) : 0;
+
+        this.gcTotalCount = totalGcCount;
+        this.gcTotalTime = totalGcTime;
+
 //        for (File root : File.listRoots()) {
 //            if (root.exists() && root.canRead()) {
 //                long total = root.getTotalSpace();

+ 9 - 0
utic-ptis-server/Reference.TXT

@@ -1,3 +1,12 @@
+select * from OCCURID_POLICE_LOG where REG_DATE between '20251017093700' and '20251017094352';
+select t.LINK_ID, t.REPORT_DATE, t.*
+  from UTISINCI.TB_IMS_DATA@UTISDB t
+ where REPORT_DATE  > TO_DATE('20251017093700', 'YYYYMMDDHH24MISS')
+   AND REPORT_DATE <= TO_DATE('20251017094352',   'YYYYMMDDHH24MISS')
+   AND INCIDENT_TYPE_CD IN ('1', '2', '3', '4');
+
+
+
 select min(t.reg_date), max(t.reg_date), count(1) from EVENTID_POLICE_LOG t;
 select min(t.reg_date), max(t.reg_date), count(1) from EVENTID_POLICE_LOG_TMP t;
 select min(t.reg_date), max(t.reg_date), count(1) from OCCURID_POLICE_LOG t;

+ 0 - 1
utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/UticPtisServerApplication.java

@@ -93,7 +93,6 @@ public class UticPtisServerApplication implements CommandLineRunner, Application
             } catch (IOException ignored) {
             }
         }));
-
     }
 
     public void terminate() {

+ 6 - 3
utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/config/DatabaseConfig.java

@@ -1,6 +1,7 @@
 package com.utic.center.utic.ptis.server.config;
 
 import com.zaxxer.hikari.HikariDataSource;
+import lombok.RequiredArgsConstructor;
 import lombok.ToString;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.session.SqlSessionFactory;
@@ -26,12 +27,14 @@ import javax.sql.DataSource;
 @Slf4j
 @ToString
 @Configuration
+@RequiredArgsConstructor
 @MapperScan(
         basePackages="com.utic.center.utic.ptis.server.dao.mapper",
         sqlSessionFactoryRef = "sqlSessionFactory")
 @EnableTransactionManagement
 public class DatabaseConfig {
 
+    private final ApplicationConfig config;
 
     @Value("${spring.datasource.hikari.mapper-locations:classpath:mybatis/mapper/**/*.xml}")
     String mapperLocations;
@@ -65,9 +68,9 @@ public class DatabaseConfig {
 //        return DataSourceBuilder.create().type(HikariDataSource.class).build();
     }
 
-    private static @NotNull String getString() {
-        final String moduleName = "utic-ptis-server";
-        final String actionName = "Transfer ITS to MOCT";
+    private @NotNull String getString() {
+        final String moduleName = this.config.getProcessName();
+        final String actionName = "Transfer ITS to PTIS";
 //            final String clientIdentifier = "its";
 //            final String clientInfo = "BatchJob: TrafficProcessor v1.2";
 //            return new OracleAwareDataSource(hikari, this.moduleName, actionName, clientIdentifier, clientInfo);

+ 12 - 4
utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/scheduler/ApplicationScheduler.java

@@ -72,9 +72,17 @@ public class ApplicationScheduler {
 
         try {
             this.controller.run();
+        } catch (Exception e) {
+            log.error("ApplicationScheduler.run(Controller): Exception {}", e.getMessage());
+        }
+        finally {
+            this.isScheduleRunning.set(false); // 작업 완료 후 플래그 초기화
+        }
+
+        try {
             this.processStateService.processRunning();
         } catch (Exception e) {
-            log.error("ApplicationScheduler.scheduleProcess: Exception {}", e.getMessage());
+            log.error("ApplicationScheduler.processRunning: Exception {}", e.getMessage());
         }
         finally {
             this.isScheduleRunning.set(false); // 작업 완료 후 플래그 초기화
@@ -92,7 +100,7 @@ public class ApplicationScheduler {
     private void loggingSystemHealth() {
         double loadAvg = this.systemHealth.getLoadAverage();
         String loadAvgStr = (loadAvg < 0) ? "N/A" : this.df.format(loadAvg);
-        log.info("SYSTEM HEALTH: CPU {} Cores[{} %, LoadAvg({})], Memory[{} %, Used({} MB), Max({} MB)], Threads[{}, Peak({})], GC[{}, {} ms]",
+        log.info("SYSTEM HEALTH: CPU {} Cores[{} %, LoadAvg({})], Memory[{} %, Used({} MB), Max({} MB)], Threads[{}, Peak({})], GC(T/R)[{}/{} ms]",
                 this.systemHealth.getCpuCores(),
                 this.df.format(this.systemHealth.getCpuUsage()),
                 loadAvgStr,
@@ -101,8 +109,8 @@ public class ApplicationScheduler {
                 this.systemHealth.getMaxMemory(),
                 this.systemHealth.getThreadCount(),
                 this.systemHealth.getPeakThreadCount(),
-                this.systemHealth.getGcCount(),
-                this.systemHealth.getGcTime());
+                this.systemHealth.getGcTotalAvgTime(),
+                this.systemHealth.getGcRecentAvgTime());
     }
 
     private void logSessionStatus() {

+ 1 - 1
utic-ptis-server/src/main/java/com/utic/center/utic/ptis/server/service/UticPtisServerService.java

@@ -222,7 +222,7 @@ public class UticPtisServerService implements AbstractProcessService {
 
     @ProcessingElapsed(type="OCCURID_POLICE_LOG", name="Processing", starting = false)
     public void jobEtlpIncd() {
-        int result = 0;
+        int result;
         String regDate;
         final String fromDate = ApplicationRepository.lastRegDate.getIncdDt();
         final String imsDataTable = "UTISINCI.TB_IMS_DATA@UTISDB";

+ 6 - 2
utic-ptis-server/src/main/resources/mybatis/mapper/UticPtisServerMapper.xml

@@ -154,6 +154,7 @@
                TRIM(ST.INCIDENT_DESC)                           AS EVT_INFO
         FROM UTISINCI.TB_IMS_DATA@UTISDB ST, LINK@UTISDB L
         WHERE ST.INCIDENT_TYPE_CD <> '1'
+          AND ST.INCIDENT_GRADE_CD IN ('A0401', 'A0402')
           AND ST.LINK_ID      =  L.LINKID
           AND L.LINKLEVEL     =  1
           AND ST.REPORT_DATE  > TO_DATE(#{fromDate}, 'YYYYMMDDHH24MISS')
@@ -176,6 +177,7 @@
                TRIM(ST.INCIDENT_DESC)                           AS EVT_INFO
         FROM UTISINCI.TB_IMS_DATA@UTISDB ST, LINK@UTISDB L
         WHERE ST.INCIDENT_TYPE_CD <> '1'
+          AND ST.INCIDENT_GRADE_CD IN ('A0401', 'A0402')
           AND ST.LINK_ID      =  L.LINKID
           AND L.LINKLEVEL     =  1
           AND ST.REPORT_DATE  > TO_DATE(#{fromDate}, 'YYYYMMDDHH24MISS')
@@ -206,7 +208,8 @@
                TO_CHAR(ST.LOCATION_DATA_X, '000.000000000000')||TO_CHAR(ST.LOCATION_DATA_Y, '00.0000000000000') AS STATUS_DESC,
                TO_CHAR(ST.START_DATE, 'YYYYMMDDHH24MISS')||TO_CHAR(ST.END_DATE, 'YYYYMMDDHH24MISS')             AS UPDATE_DESC
         FROM UTISINCI.TB_IMS_DATA@UTISDB ST, LINK@UTISDB L
-        WHERE INCIDENT_TYPE_CD IN ('1', '2', '3', '4')
+        WHERE ST.INCIDENT_TYPE_CD IN ('1', '2', '3', '4')
+          AND ST.INCIDENT_GRADE_CD IN ('A0401', 'A0402')
           AND ST.LINK_ID      = L.LINKID
           AND L.LINKLEVEL     = 1
           AND ST.REPORT_DATE  > TO_DATE(#{fromDate}, 'YYYYMMDDHH24MISS')
@@ -227,7 +230,8 @@
                TO_CHAR(ST.LOCATION_DATA_X, '000.000000000000')||TO_CHAR(ST.LOCATION_DATA_Y, '00.0000000000000') AS STATUS_DESC,
                TO_CHAR(ST.START_DATE, 'YYYYMMDDHH24MISS')||TO_CHAR(ST.END_DATE, 'YYYYMMDDHH24MISS')             AS UPDATE_DESC
         FROM UTISINCI.TB_IMS_DATA@UTISDB ST, LINK@UTISDB L
-        WHERE INCIDENT_TYPE_CD IN ('1', '2', '3', '4')
+        WHERE ST.INCIDENT_TYPE_CD IN ('1', '2', '3', '4')
+          AND ST.INCIDENT_GRADE_CD IN ('A0401', 'A0402')
           AND ST.LINK_ID      = L.LINKID
           AND L.LINKLEVEL     = 1
           AND ST.REPORT_DATE  > TO_DATE(#{fromDate}, 'YYYYMMDDHH24MISS')

+ 5 - 2
utic-stat-server/src/main/java/com/utic/center/utic/stat/server/config/DatabaseConfig.java

@@ -1,6 +1,7 @@
 package com.utic.center.utic.stat.server.config;
 
 import com.zaxxer.hikari.HikariDataSource;
+import lombok.RequiredArgsConstructor;
 import lombok.ToString;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.session.SqlSessionFactory;
@@ -25,6 +26,7 @@ import javax.sql.DataSource;
 
 @Slf4j
 @ToString
+@RequiredArgsConstructor
 @Configuration
 @MapperScan(
         basePackages="com.utic.center.utic.stat.server.dao.mapper",
@@ -32,6 +34,7 @@ import javax.sql.DataSource;
 @EnableTransactionManagement
 public class DatabaseConfig {
 
+    private final ApplicationConfig config;
 
     @Value("${spring.datasource.hikari.mapper-locations:classpath:mybatis/mapper/**/*.xml}")
     String mapperLocations;
@@ -65,8 +68,8 @@ public class DatabaseConfig {
 //        return DataSourceBuilder.create().type(HikariDataSource.class).build();
     }
 
-    private static @NotNull String getString() {
-        final String moduleName = "utic-stat-server";
+    private @NotNull String getString() {
+        final String moduleName = this.config.getProcessName();
         final String actionName = "ITS Statistics Processing";
 //            final String clientIdentifier = "its";
 //            final String clientInfo = "BatchJob: TrafficProcessor v1.2";

+ 3 - 3
utic-stat-server/src/main/java/com/utic/center/utic/stat/server/scheduler/ApplicationScheduler.java

@@ -92,7 +92,7 @@ public class ApplicationScheduler {
     private void loggingSystemHealth() {
         double loadAvg = this.systemHealth.getLoadAverage();
         String loadAvgStr = (loadAvg < 0) ? "N/A" : this.df.format(loadAvg);
-        log.info("SYSTEM HEALTH: CPU {} Cores[{} %, LoadAvg({})], Memory[{} %, Used({} MB), Max({} MB)], Threads[{}, Peak({})], GC[{}, {} ms]",
+        log.info("SYSTEM HEALTH: CPU {} Cores[{} %, LoadAvg({})], Memory[{} %, Used({} MB), Max({} MB)], Threads[{}, Peak({})], GC(T/R)[{}/{} ms]",
                 this.systemHealth.getCpuCores(),
                 this.df.format(this.systemHealth.getCpuUsage()),
                 loadAvgStr,
@@ -101,8 +101,8 @@ public class ApplicationScheduler {
                 this.systemHealth.getMaxMemory(),
                 this.systemHealth.getThreadCount(),
                 this.systemHealth.getPeakThreadCount(),
-                this.systemHealth.getGcCount(),
-                this.systemHealth.getGcTime());
+                this.systemHealth.getGcTotalAvgTime(),
+                this.systemHealth.getGcRecentAvgTime());
     }
 
     private void logSessionStatus() {

+ 7 - 3
utic-traf-server/src/main/java/com/utic/center/utic/traf/server/config/DatabaseUticConfig.java → utic-traf-server/src/main/java/com/utic/center/utic/traf/server/config/DatabaseConfig.java

@@ -1,6 +1,7 @@
 package com.utic.center.utic.traf.server.config;
 
 import com.zaxxer.hikari.HikariDataSource;
+import lombok.RequiredArgsConstructor;
 import lombok.ToString;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.session.SqlSessionFactory;
@@ -25,12 +26,15 @@ import javax.sql.DataSource;
 
 @Slf4j
 @ToString
+@RequiredArgsConstructor
 @Configuration
 @MapperScan(
         basePackages="com.utic.center.utic.traf.server.dao.mapper.utic",
         sqlSessionFactoryRef = "sqlSessionFactory")
 @EnableTransactionManagement
-public class DatabaseUticConfig {
+public class DatabaseConfig {
+
+    private final ApplicationConfig config;
 
     @Value("${spring.datasource.hikari.utic.mapper-locations:classpath:mybatis/mapper/utic/**/*.xml}")
     String mapperLocations;
@@ -64,8 +68,8 @@ public class DatabaseUticConfig {
 //        return DataSourceBuilder.create().type(HikariDataSource.class).build();
     }
 
-    private static @NotNull String getString() {
-        final String moduleName = "utic-traf-server";
+    private @NotNull String getString() {
+        final String moduleName = this.config.getProcessName();
         final String actionName = "ITS Traffic Processing";
 //            final String clientIdentifier = "its";
 //            final String clientInfo = "BatchJob: TrafficProcessor v1.2";

+ 3 - 3
utic-traf-server/src/main/java/com/utic/center/utic/traf/server/scheduler/ApplicationScheduler.java

@@ -117,7 +117,7 @@ public class ApplicationScheduler {
     private void loggingSystemHealth() {
         double loadAvg = this.systemHealth.getLoadAverage();
         String loadAvgStr = (loadAvg < 0) ? "N/A" : this.df.format(loadAvg);
-        log.info("SYSTEM HEALTH: CPU {} Cores[{} %, LoadAvg({})], Memory[{} %, Used({} MB), Max({} MB)], Threads[{}, Peak({})], GC[{}, {} ms]",
+        log.info("SYSTEM HEALTH: CPU {} Cores[{} %, LoadAvg({})], Memory[{} %, Used({} MB), Max({} MB)], Threads[{}, Peak({})], GC(T/R)[{}/{} ms]",
                 this.systemHealth.getCpuCores(),
                 this.df.format(this.systemHealth.getCpuUsage()),
                 loadAvgStr,
@@ -126,8 +126,8 @@ public class ApplicationScheduler {
                 this.systemHealth.getMaxMemory(),
                 this.systemHealth.getThreadCount(),
                 this.systemHealth.getPeakThreadCount(),
-                this.systemHealth.getGcCount(),
-                this.systemHealth.getGcTime());
+                this.systemHealth.getGcTotalAvgTime(),
+                this.systemHealth.getGcRecentAvgTime());
     }
 
     private void logSessionStatus() {