From 71b8d0684bd70a7768d8eee83998ea8d14de89a7 Mon Sep 17 00:00:00 2001 From: v-zhangjc9 Date: Tue, 14 May 2024 09:40:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(web):=20=E5=A2=9E=E5=8A=A0pulsar=E6=8E=A5?= =?UTF-8?q?=E6=94=B6=E6=97=B6=E9=97=B4=E5=92=8C=E5=8E=8B=E7=BC=A9=E6=9C=80?= =?UTF-8?q?=E5=90=8E=E4=B8=9A=E5=8A=A1=E6=97=B6=E9=97=B4=E7=9A=84=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/common/entity/SyncState.java | 16 +++++++++++++++ .../info/service/SyncStateService.java | 20 ++++++++++--------- .../web/controller/TableController.java | 2 +- .../service/web/entity/SyncStateVO.java | 10 ++++++++++ .../src/main/resources/static/common/info.js | 4 ++-- .../resources/static/components/table-tab.js | 14 +++++++++++++ 6 files changed, 54 insertions(+), 12 deletions(-) diff --git a/service-common/src/main/java/com/lanyuanxiaoyao/service/common/entity/SyncState.java b/service-common/src/main/java/com/lanyuanxiaoyao/service/common/entity/SyncState.java index 861ec45..74db394 100644 --- a/service-common/src/main/java/com/lanyuanxiaoyao/service/common/entity/SyncState.java +++ b/service-common/src/main/java/com/lanyuanxiaoyao/service/common/entity/SyncState.java @@ -13,6 +13,7 @@ public class SyncState implements Serializable { private String alias; private String messageId; private Long sourceStartTime; + private Long sourceReceiveTime; private Long sourceCheckpointTime; private Long sourcePublishTime; private Long sourceOperationTime; @@ -31,6 +32,7 @@ public class SyncState implements Serializable { this.alias = builder.alias; this.messageId = builder.messageId; this.sourceStartTime = builder.sourceStartTime; + this.sourceReceiveTime = builder.sourceReceiveTime; this.sourceCheckpointTime = builder.sourceCheckpointTime; this.sourcePublishTime = builder.sourcePublishTime; this.sourceOperationTime = builder.sourceOperationTime; @@ -78,6 +80,14 @@ public class SyncState implements Serializable { this.sourceStartTime = sourceStartTime; } + public Long getSourceReceiveTime() { + return sourceReceiveTime; + } + + public void setSourceReceiveTime(Long sourceReceiveTime) { + this.sourceReceiveTime = sourceReceiveTime; + } + public Long getSourceCheckpointTime() { return sourceCheckpointTime; } @@ -174,6 +184,7 @@ public class SyncState implements Serializable { private String alias; private String messageId; private Long sourceStartTime; + private Long sourceReceiveTime; private Long sourceCheckpointTime; private Long sourcePublishTime; private Long sourceOperationTime; @@ -207,6 +218,11 @@ public class SyncState implements Serializable { return this; } + public Builder sourceReceiveTime(Long sourceReceiveTime) { + this.sourceReceiveTime = sourceReceiveTime; + return this; + } + public Builder sourceCheckpointTime(Long sourceCheckpointTime) { this.sourceCheckpointTime = sourceCheckpointTime; return this; diff --git a/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/service/SyncStateService.java b/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/service/SyncStateService.java index 81b1720..996b9f6 100644 --- a/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/service/SyncStateService.java +++ b/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/service/SyncStateService.java @@ -47,6 +47,7 @@ public class SyncStateService extends BaseService { TbAppCollectTableInfo.ALIAS_A, TbAppHudiSyncState.MESSAGE_ID_A, TbAppHudiSyncState.SOURCE_START_TIME_A, + TbAppHudiSyncState.SOURCE_RECEIVE_TIME_A, TbAppHudiSyncState.SOURCE_CHECKPOINT_TIME_A, TbAppHudiSyncState.SOURCE_PUBLISH_TIME_A, TbAppHudiSyncState.SOURCE_OP_TIME_A, @@ -76,15 +77,16 @@ public class SyncStateService extends BaseService { .alias(rs.getString(2)) .messageId(rs.getString(3)) .sourceStartTime(dateConvertor.apply(rs.getTimestamp(4))) - .sourceCheckpointTime(dateConvertor.apply(rs.getTimestamp(5))) - .sourcePublishTime(dateConvertor.apply(rs.getTimestamp(6))) - .sourceOperationTime(dateConvertor.apply(rs.getTimestamp(7))) - .compactionStartTime(dateConvertor.apply(rs.getTimestamp(8))) - .compactionFinishTime(dateConvertor.apply(rs.getTimestamp(9))) - .compactionApplicationId(rs.getString(10)) - .compactionStatus(rs.getString(11)) - .compactionStatusTime(dateConvertor.apply(rs.getTimestamp(12))) - .compactionLatestOperationTime(dateConvertor.apply(rs.getTimestamp(13))) + .sourceReceiveTime(dateConvertor.apply(rs.getTimestamp(5))) + .sourceCheckpointTime(dateConvertor.apply(rs.getTimestamp(6))) + .sourcePublishTime(dateConvertor.apply(rs.getTimestamp(7))) + .sourceOperationTime(dateConvertor.apply(rs.getTimestamp(8))) + .compactionStartTime(dateConvertor.apply(rs.getTimestamp(9))) + .compactionFinishTime(dateConvertor.apply(rs.getTimestamp(10))) + .compactionApplicationId(rs.getString(11)) + .compactionStatus(rs.getString(12)) + .compactionStatusTime(dateConvertor.apply(rs.getTimestamp(13))) + .compactionLatestOperationTime(dateConvertor.apply(rs.getTimestamp(14))) .build(); } ) diff --git a/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/TableController.java b/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/TableController.java index 04efeea..3eef1d9 100644 --- a/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/TableController.java +++ b/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/TableController.java @@ -146,7 +146,7 @@ public class TableController extends BaseController { .reject(ObjectUtil::isNull) .toList() .toImmutable(); - return AmisResponse.responseCrudData(tableVOS, tableVOS.size() == 0 ? 0 : total); + return AmisResponse.responseCrudData(tableVOS, tableVOS.isEmpty() ? 0 : total); } @GetMapping("list_metas") diff --git a/service-web/src/main/java/com/lanyuanxiaoyao/service/web/entity/SyncStateVO.java b/service-web/src/main/java/com/lanyuanxiaoyao/service/web/entity/SyncStateVO.java index 202c8c7..9e712c4 100644 --- a/service-web/src/main/java/com/lanyuanxiaoyao/service/web/entity/SyncStateVO.java +++ b/service-web/src/main/java/com/lanyuanxiaoyao/service/web/entity/SyncStateVO.java @@ -14,6 +14,7 @@ public class SyncStateVO { private final SyncState syncState; private final String sourceStartTimeFromNow; + private final String sourceReceiveTimeFromNow; private final String sourceCheckpointTimeFromNow; private final String sourcePublishTimeFromNow; private final String sourceOperationTimeFromNow; @@ -27,6 +28,7 @@ public class SyncStateVO { long now = Instant.now().toEpochMilli(); this.sourceStartTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceStartTime); + this.sourceReceiveTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceReceiveTime); this.sourceCheckpointTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceCheckpointTime); this.sourcePublishTimeFromNow = DatetimeUtil.fromNow(now, this::getSourcePublishTime); this.sourceOperationTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceOperationTime); @@ -44,6 +46,10 @@ public class SyncStateVO { return syncState.getSourceStartTime(); } + public Long getSourceReceiveTime() { + return syncState.getSourceReceiveTime(); + } + public Long getSourceCheckpointTime() { return syncState.getSourceCheckpointTime(); } @@ -84,6 +90,10 @@ public class SyncStateVO { return sourceStartTimeFromNow; } + public String getSourceReceiveTimeFromNow() { + return sourceReceiveTimeFromNow; + } + public String getSourceCheckpointTimeFromNow() { return sourceCheckpointTimeFromNow; } diff --git a/service-web/src/main/resources/static/common/info.js b/service-web/src/main/resources/static/common/info.js index 9dd6d88..aa669a3 100644 --- a/service-web/src/main/resources/static/common/info.js +++ b/service-web/src/main/resources/static/common/info.js @@ -1,6 +1,6 @@ const commonInfo = { - // baseUrl: 'http://132.126.207.130:35690/hudi_services/service_web', - baseUrl: '/hudi_services/service_web', + baseUrl: 'http://132.126.207.130:35690/hudi_services/service_web', + // baseUrl: '/hudi_services/service_web', clusters: { // hudi同步运行集群和yarn队列名称 sync: { diff --git a/service-web/src/main/resources/static/components/table-tab.js b/service-web/src/main/resources/static/components/table-tab.js index a6b2862..9d9b970 100644 --- a/service-web/src/main/resources/static/components/table-tab.js +++ b/service-web/src/main/resources/static/components/table-tab.js @@ -155,6 +155,13 @@ function tableTab() { sortable: true, className: 'bg-green-50', }, + { + name: 'source_receive_time', + label: '同步接收时间', + ...timeAndFrom('syncState.sourceReceiveTime', 'syncState.sourceReceiveTimeFromNow', '无数据'), + sortable: true, + className: 'bg-green-50', + }, { name: 'source_checkpoint_time', label: '同步心跳时间', @@ -200,6 +207,13 @@ function tableTab() { sortable: true, className: 'bg-cyan-50', }, + { + name: 'compaction_latest_operation_time', + label: '压缩业务时间', + ...timeAndFrom('syncState.compactionLatestOperationTime', 'syncState.compactionLatestOperationTimeFromNow', '无'), + sortable: true, + className: 'bg-cyan-50', + }, { name: 'compaction_finish_time', label: '压缩完成时间',