feat(web): 增加pulsar接收时间和压缩最后业务时间的展示

This commit is contained in:
v-zhangjc9
2024-05-14 09:40:03 +08:00
parent fbbaa60dc5
commit 71b8d0684b
6 changed files with 54 additions and 12 deletions

View File

@@ -13,6 +13,7 @@ public class SyncState implements Serializable {
private String alias; private String alias;
private String messageId; private String messageId;
private Long sourceStartTime; private Long sourceStartTime;
private Long sourceReceiveTime;
private Long sourceCheckpointTime; private Long sourceCheckpointTime;
private Long sourcePublishTime; private Long sourcePublishTime;
private Long sourceOperationTime; private Long sourceOperationTime;
@@ -31,6 +32,7 @@ public class SyncState implements Serializable {
this.alias = builder.alias; this.alias = builder.alias;
this.messageId = builder.messageId; this.messageId = builder.messageId;
this.sourceStartTime = builder.sourceStartTime; this.sourceStartTime = builder.sourceStartTime;
this.sourceReceiveTime = builder.sourceReceiveTime;
this.sourceCheckpointTime = builder.sourceCheckpointTime; this.sourceCheckpointTime = builder.sourceCheckpointTime;
this.sourcePublishTime = builder.sourcePublishTime; this.sourcePublishTime = builder.sourcePublishTime;
this.sourceOperationTime = builder.sourceOperationTime; this.sourceOperationTime = builder.sourceOperationTime;
@@ -78,6 +80,14 @@ public class SyncState implements Serializable {
this.sourceStartTime = sourceStartTime; this.sourceStartTime = sourceStartTime;
} }
public Long getSourceReceiveTime() {
return sourceReceiveTime;
}
public void setSourceReceiveTime(Long sourceReceiveTime) {
this.sourceReceiveTime = sourceReceiveTime;
}
public Long getSourceCheckpointTime() { public Long getSourceCheckpointTime() {
return sourceCheckpointTime; return sourceCheckpointTime;
} }
@@ -174,6 +184,7 @@ public class SyncState implements Serializable {
private String alias; private String alias;
private String messageId; private String messageId;
private Long sourceStartTime; private Long sourceStartTime;
private Long sourceReceiveTime;
private Long sourceCheckpointTime; private Long sourceCheckpointTime;
private Long sourcePublishTime; private Long sourcePublishTime;
private Long sourceOperationTime; private Long sourceOperationTime;
@@ -207,6 +218,11 @@ public class SyncState implements Serializable {
return this; return this;
} }
public Builder sourceReceiveTime(Long sourceReceiveTime) {
this.sourceReceiveTime = sourceReceiveTime;
return this;
}
public Builder sourceCheckpointTime(Long sourceCheckpointTime) { public Builder sourceCheckpointTime(Long sourceCheckpointTime) {
this.sourceCheckpointTime = sourceCheckpointTime; this.sourceCheckpointTime = sourceCheckpointTime;
return this; return this;

View File

@@ -47,6 +47,7 @@ public class SyncStateService extends BaseService {
TbAppCollectTableInfo.ALIAS_A, TbAppCollectTableInfo.ALIAS_A,
TbAppHudiSyncState.MESSAGE_ID_A, TbAppHudiSyncState.MESSAGE_ID_A,
TbAppHudiSyncState.SOURCE_START_TIME_A, TbAppHudiSyncState.SOURCE_START_TIME_A,
TbAppHudiSyncState.SOURCE_RECEIVE_TIME_A,
TbAppHudiSyncState.SOURCE_CHECKPOINT_TIME_A, TbAppHudiSyncState.SOURCE_CHECKPOINT_TIME_A,
TbAppHudiSyncState.SOURCE_PUBLISH_TIME_A, TbAppHudiSyncState.SOURCE_PUBLISH_TIME_A,
TbAppHudiSyncState.SOURCE_OP_TIME_A, TbAppHudiSyncState.SOURCE_OP_TIME_A,
@@ -76,15 +77,16 @@ public class SyncStateService extends BaseService {
.alias(rs.getString(2)) .alias(rs.getString(2))
.messageId(rs.getString(3)) .messageId(rs.getString(3))
.sourceStartTime(dateConvertor.apply(rs.getTimestamp(4))) .sourceStartTime(dateConvertor.apply(rs.getTimestamp(4)))
.sourceCheckpointTime(dateConvertor.apply(rs.getTimestamp(5))) .sourceReceiveTime(dateConvertor.apply(rs.getTimestamp(5)))
.sourcePublishTime(dateConvertor.apply(rs.getTimestamp(6))) .sourceCheckpointTime(dateConvertor.apply(rs.getTimestamp(6)))
.sourceOperationTime(dateConvertor.apply(rs.getTimestamp(7))) .sourcePublishTime(dateConvertor.apply(rs.getTimestamp(7)))
.compactionStartTime(dateConvertor.apply(rs.getTimestamp(8))) .sourceOperationTime(dateConvertor.apply(rs.getTimestamp(8)))
.compactionFinishTime(dateConvertor.apply(rs.getTimestamp(9))) .compactionStartTime(dateConvertor.apply(rs.getTimestamp(9)))
.compactionApplicationId(rs.getString(10)) .compactionFinishTime(dateConvertor.apply(rs.getTimestamp(10)))
.compactionStatus(rs.getString(11)) .compactionApplicationId(rs.getString(11))
.compactionStatusTime(dateConvertor.apply(rs.getTimestamp(12))) .compactionStatus(rs.getString(12))
.compactionLatestOperationTime(dateConvertor.apply(rs.getTimestamp(13))) .compactionStatusTime(dateConvertor.apply(rs.getTimestamp(13)))
.compactionLatestOperationTime(dateConvertor.apply(rs.getTimestamp(14)))
.build(); .build();
} }
) )

View File

@@ -146,7 +146,7 @@ public class TableController extends BaseController {
.reject(ObjectUtil::isNull) .reject(ObjectUtil::isNull)
.toList() .toList()
.toImmutable(); .toImmutable();
return AmisResponse.responseCrudData(tableVOS, tableVOS.size() == 0 ? 0 : total); return AmisResponse.responseCrudData(tableVOS, tableVOS.isEmpty() ? 0 : total);
} }
@GetMapping("list_metas") @GetMapping("list_metas")

View File

@@ -14,6 +14,7 @@ public class SyncStateVO {
private final SyncState syncState; private final SyncState syncState;
private final String sourceStartTimeFromNow; private final String sourceStartTimeFromNow;
private final String sourceReceiveTimeFromNow;
private final String sourceCheckpointTimeFromNow; private final String sourceCheckpointTimeFromNow;
private final String sourcePublishTimeFromNow; private final String sourcePublishTimeFromNow;
private final String sourceOperationTimeFromNow; private final String sourceOperationTimeFromNow;
@@ -27,6 +28,7 @@ public class SyncStateVO {
long now = Instant.now().toEpochMilli(); long now = Instant.now().toEpochMilli();
this.sourceStartTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceStartTime); this.sourceStartTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceStartTime);
this.sourceReceiveTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceReceiveTime);
this.sourceCheckpointTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceCheckpointTime); this.sourceCheckpointTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceCheckpointTime);
this.sourcePublishTimeFromNow = DatetimeUtil.fromNow(now, this::getSourcePublishTime); this.sourcePublishTimeFromNow = DatetimeUtil.fromNow(now, this::getSourcePublishTime);
this.sourceOperationTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceOperationTime); this.sourceOperationTimeFromNow = DatetimeUtil.fromNow(now, this::getSourceOperationTime);
@@ -44,6 +46,10 @@ public class SyncStateVO {
return syncState.getSourceStartTime(); return syncState.getSourceStartTime();
} }
public Long getSourceReceiveTime() {
return syncState.getSourceReceiveTime();
}
public Long getSourceCheckpointTime() { public Long getSourceCheckpointTime() {
return syncState.getSourceCheckpointTime(); return syncState.getSourceCheckpointTime();
} }
@@ -84,6 +90,10 @@ public class SyncStateVO {
return sourceStartTimeFromNow; return sourceStartTimeFromNow;
} }
public String getSourceReceiveTimeFromNow() {
return sourceReceiveTimeFromNow;
}
public String getSourceCheckpointTimeFromNow() { public String getSourceCheckpointTimeFromNow() {
return sourceCheckpointTimeFromNow; return sourceCheckpointTimeFromNow;
} }

View File

@@ -1,6 +1,6 @@
const commonInfo = { const commonInfo = {
// baseUrl: 'http://132.126.207.130:35690/hudi_services/service_web', baseUrl: 'http://132.126.207.130:35690/hudi_services/service_web',
baseUrl: '/hudi_services/service_web', // baseUrl: '/hudi_services/service_web',
clusters: { clusters: {
// hudi同步运行集群和yarn队列名称 // hudi同步运行集群和yarn队列名称
sync: { sync: {

View File

@@ -155,6 +155,13 @@ function tableTab() {
sortable: true, sortable: true,
className: 'bg-green-50', className: 'bg-green-50',
}, },
{
name: 'source_receive_time',
label: '同步接收时间',
...timeAndFrom('syncState.sourceReceiveTime', 'syncState.sourceReceiveTimeFromNow', '无数据'),
sortable: true,
className: 'bg-green-50',
},
{ {
name: 'source_checkpoint_time', name: 'source_checkpoint_time',
label: '同步心跳时间', label: '同步心跳时间',
@@ -200,6 +207,13 @@ function tableTab() {
sortable: true, sortable: true,
className: 'bg-cyan-50', 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', name: 'compaction_finish_time',
label: '压缩完成时间', label: '压缩完成时间',