ZhenyuePan commented on code in PR #12002:
URL: https://github.com/apache/inlong/pull/12002#discussion_r2347408974
##########
inlong-audit/audit-tool/src/main/java/org/apache/inlong/audit/tool/AuditToolMain.java:
##########
@@ -17,9 +17,48 @@
package org.apache.inlong.audit.tool;
+import org.apache.inlong.audit.tool.config.AppConfig;
+import org.apache.inlong.audit.tool.evaluator.AlertEvaluator;
+import org.apache.inlong.audit.tool.manager.AuditAlertRuleManager;
+import org.apache.inlong.audit.tool.reporter.PrometheusReporter;
+import org.apache.inlong.audit.tool.task.AuditCheckTask;
+import org.apache.inlong.audit.tool.util.AuditSQLUtil;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
public class AuditToolMain {
+ private static final Logger LOGGER =
LoggerFactory.getLogger(AuditAlertRuleManager.class);
+
public static void main(String[] args) {
+ // Load application configuration
+ AppConfig appConfig = new AppConfig();
+
+ // Initialize auditAlertRule Manager
+ AuditAlertRuleManager auditAlertRuleManager =
AuditAlertRuleManager.getInstance();
+ auditAlertRuleManager.init(appConfig);
+ auditAlertRuleManager.schedule();
+
+ // Initialize reporters
+ PrometheusReporter prometheusReporter = new PrometheusReporter();
+ prometheusReporter.init(appConfig.getPrometheusConfig());
+
+ // Database query initialization
+ AuditSQLUtil.initialize(appConfig.getProperties());
+
+ // Initialize alert evaluator
+ AlertEvaluator alertEvaluator = new AlertEvaluator(prometheusReporter,
auditAlertRuleManager);
+ AuditCheckTask auditCheckTask =
+ new AuditCheckTask(auditAlertRuleManager, alertEvaluator,
appConfig);
+ auditCheckTask.start();
+
+ // Keep the application running
+ Runtime.getRuntime().addShutdownHook(new Thread(() -> {
+ auditCheckTask.stop();
+ LOGGER.error("Audit Tool stopped.");
Review Comment:
already resolved
##########
inlong-audit/audit-tool/src/test/java/org/apache/inlong/tool/service/AuditMetricServiceTest.java:
##########
@@ -19,54 +19,35 @@
import org.apache.inlong.audit.tool.config.AppConfig;
import org.apache.inlong.audit.tool.entity.AuditMetric;
-import org.apache.inlong.audit.tool.mapper.AuditMapper;
import org.apache.inlong.audit.tool.service.AuditMetricService;
import org.apache.inlong.audit.tool.util.AuditSQLUtil;
-import org.apache.ibatis.session.SqlSession;
import org.junit.jupiter.api.Test;
-import org.mockito.MockedStatic;
-import org.mockito.Mockito;
-import java.util.Collections;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.List;
-import static org.junit.jupiter.api.Assertions.*;
-
public class AuditMetricServiceTest {
@Test
- public void getStorageAuditMetricsReturnsEmptyListWhenNoDataFound() {
- AuditMetricService auditMetricService = new AuditMetricService();
-
- try (MockedStatic<AuditSQLUtil> sqlUtilMockedStatic =
Mockito.mockStatic(AuditSQLUtil.class)) {
- SqlSession sqlSessionMock = Mockito.mock(SqlSession.class);
- AuditMapper auditMapperMock = Mockito.mock(AuditMapper.class);
-
-
sqlUtilMockedStatic.when(AuditSQLUtil::getSqlSession).thenReturn(sqlSessionMock);
-
Mockito.when(sqlSessionMock.getMapper(AuditMapper.class)).thenReturn(auditMapperMock);
- Mockito.when(auditMapperMock.getAuditMetrics(Mockito.anyString(),
Mockito.anyString(), Mockito.anyString()))
- .thenReturn(Collections.emptyList());
-
- List<AuditMetric> result =
auditMetricService.getStorageAuditMetrics("nonexistentId", "2023-01-01
00:00:00",
- "2023-01-01 01:00:00");
- assertTrue(result.isEmpty());
- }
- }
-
- @Test
- public void getStorageAuditMetricsHandlesInvalidTimestampsGracefully() {
+ public void testGetDataProxyAuditMetrics() {
// Query service initialization
AppConfig appConfig = new AppConfig();
AuditSQLUtil.initialize(appConfig.getProperties());
AuditMetricService auditMetricService = new AuditMetricService();
- String invalidStartLogTs = "invalid-timestamp";
- String invalidEndLogTs = "invalid-timestamp";
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd
HH:mm:ss");
+ String endLogTs =
LocalDateTime.now().minusMinutes(1).format(formatter);
+ String startLogTs =
LocalDateTime.now().minusMinutes(5).format(formatter);
- List<AuditMetric> result =
auditMetricService.getStorageAuditMetrics("5", invalidStartLogTs,
invalidEndLogTs);
+ // Search for relevant data
+ List<AuditMetric> dataproxyAuditMetrics =
+ auditMetricService.getStorageAuditMetrics("5", startLogTs,
endLogTs);
- assertTrue(result.isEmpty());
+ for (AuditMetric auditMetric : dataproxyAuditMetrics) {
+ System.out.println(auditMetric.getInlongGroupId() + " " +
auditMetric.getInlongStreamId() + " "
+ + auditMetric.getCount());
+ }
Review Comment:
already resolved
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]