Merge pull request #8277 from YevhenBondarenko/fix/system-info-updates
[3.5]fixed system info updates
This commit is contained in:
commit
7204d1bf95
@ -112,13 +112,11 @@ public class DefaultSystemInfoService extends TbApplicationEventListener<Partiti
|
|||||||
public SystemInfo getSystemInfo() {
|
public SystemInfo getSystemInfo() {
|
||||||
SystemInfo systemInfo = new SystemInfo();
|
SystemInfo systemInfo = new SystemInfo();
|
||||||
|
|
||||||
ServiceInfo serviceInfo = serviceInfoProvider.getServiceInfoWithCurrentSystemInfo();
|
|
||||||
|
|
||||||
if (discoveryService.isMonolith()) {
|
if (discoveryService.isMonolith()) {
|
||||||
systemInfo.setMonolith(true);
|
systemInfo.setMonolith(true);
|
||||||
systemInfo.setSystemData(Collections.singletonList(createSystemInfoData(serviceInfo)));
|
systemInfo.setSystemData(Collections.singletonList(createSystemInfoData(serviceInfoProvider.generateNewServiceInfoWithCurrentSystemInfo())));
|
||||||
} else {
|
} else {
|
||||||
systemInfo.setSystemData(getSystemData(serviceInfo));
|
systemInfo.setSystemData(getSystemData(serviceInfoProvider.getServiceInfo()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return systemInfo;
|
return systemInfo;
|
||||||
@ -156,7 +154,7 @@ public class DefaultSystemInfoService extends TbApplicationEventListener<Partiti
|
|||||||
|
|
||||||
private void saveCurrentClusterSystemInfo() {
|
private void saveCurrentClusterSystemInfo() {
|
||||||
long ts = System.currentTimeMillis();
|
long ts = System.currentTimeMillis();
|
||||||
List<SystemInfoData> clusterSystemData = getSystemData(serviceInfoProvider.getServiceInfoWithCurrentSystemInfo());
|
List<SystemInfoData> clusterSystemData = getSystemData(serviceInfoProvider.getServiceInfo());
|
||||||
BasicTsKvEntry clusterDataKv = new BasicTsKvEntry(ts, new JsonDataEntry("clusterSystemData", JacksonUtil.toString(clusterSystemData)));
|
BasicTsKvEntry clusterDataKv = new BasicTsKvEntry(ts, new JsonDataEntry("clusterSystemData", JacksonUtil.toString(clusterSystemData)));
|
||||||
doSave(Collections.singletonList(clusterDataKv));
|
doSave(Collections.singletonList(clusterDataKv));
|
||||||
}
|
}
|
||||||
@ -164,7 +162,6 @@ public class DefaultSystemInfoService extends TbApplicationEventListener<Partiti
|
|||||||
private void saveCurrentMonolithSystemInfo() {
|
private void saveCurrentMonolithSystemInfo() {
|
||||||
long ts = System.currentTimeMillis();
|
long ts = System.currentTimeMillis();
|
||||||
List<TsKvEntry> tsList = new ArrayList<>();
|
List<TsKvEntry> tsList = new ArrayList<>();
|
||||||
|
|
||||||
getMemoryUsage().ifPresent(v -> tsList.add(new BasicTsKvEntry(ts, new LongDataEntry("memoryUsage", v))));
|
getMemoryUsage().ifPresent(v -> tsList.add(new BasicTsKvEntry(ts, new LongDataEntry("memoryUsage", v))));
|
||||||
getTotalMemory().ifPresent(v -> tsList.add(new BasicTsKvEntry(ts, new LongDataEntry("totalMemory", v))));
|
getTotalMemory().ifPresent(v -> tsList.add(new BasicTsKvEntry(ts, new LongDataEntry("totalMemory", v))));
|
||||||
getFreeMemory().ifPresent(v -> tsList.add(new BasicTsKvEntry(ts, new LongDataEntry("freeMemory", v))));
|
getFreeMemory().ifPresent(v -> tsList.add(new BasicTsKvEntry(ts, new LongDataEntry("freeMemory", v))));
|
||||||
|
|||||||
@ -79,7 +79,7 @@ public class DefaultTbServiceInfoProvider implements TbServiceInfoProvider {
|
|||||||
serviceTypes = Collections.singletonList(ServiceType.of(serviceType));
|
serviceTypes = Collections.singletonList(ServiceType.of(serviceType));
|
||||||
}
|
}
|
||||||
|
|
||||||
serviceInfo = getServiceInfoWithCurrentSystemInfo();
|
generateNewServiceInfoWithCurrentSystemInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterContextReady
|
@AfterContextReady
|
||||||
@ -106,13 +106,13 @@ public class DefaultTbServiceInfoProvider implements TbServiceInfoProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ServiceInfo getServiceInfoWithCurrentSystemInfo() {
|
public ServiceInfo generateNewServiceInfoWithCurrentSystemInfo() {
|
||||||
ServiceInfo.Builder builder = ServiceInfo.newBuilder()
|
ServiceInfo.Builder builder = ServiceInfo.newBuilder()
|
||||||
.setServiceId(serviceId)
|
.setServiceId(serviceId)
|
||||||
.addAllServiceTypes(serviceTypes.stream().map(ServiceType::name).collect(Collectors.toList()))
|
.addAllServiceTypes(serviceTypes.stream().map(ServiceType::name).collect(Collectors.toList()))
|
||||||
.setSystemInfo(getCurrentSystemInfoProto());
|
.setSystemInfo(getCurrentSystemInfoProto());
|
||||||
|
|
||||||
return builder.build();
|
return serviceInfo = builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private TransportProtos.SystemInfoProto getCurrentSystemInfoProto() {
|
private TransportProtos.SystemInfoProto getCurrentSystemInfoProto() {
|
||||||
|
|||||||
@ -16,7 +16,6 @@
|
|||||||
package org.thingsboard.server.queue.discovery;
|
package org.thingsboard.server.queue.discovery;
|
||||||
|
|
||||||
import org.thingsboard.server.common.msg.queue.ServiceType;
|
import org.thingsboard.server.common.msg.queue.ServiceType;
|
||||||
import org.thingsboard.server.gen.transport.TransportProtos;
|
|
||||||
import org.thingsboard.server.gen.transport.TransportProtos.ServiceInfo;
|
import org.thingsboard.server.gen.transport.TransportProtos.ServiceInfo;
|
||||||
|
|
||||||
public interface TbServiceInfoProvider {
|
public interface TbServiceInfoProvider {
|
||||||
@ -29,6 +28,6 @@ public interface TbServiceInfoProvider {
|
|||||||
|
|
||||||
boolean isService(ServiceType serviceType);
|
boolean isService(ServiceType serviceType);
|
||||||
|
|
||||||
ServiceInfo getServiceInfoWithCurrentSystemInfo();
|
ServiceInfo generateNewServiceInfoWithCurrentSystemInfo();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -143,7 +143,7 @@ public class ZkDiscoveryService implements DiscoveryService, PathChildrenCacheLi
|
|||||||
TransportProtos.ServiceInfo self = serviceInfoProvider.getServiceInfo();
|
TransportProtos.ServiceInfo self = serviceInfoProvider.getServiceInfo();
|
||||||
if (currentServerExists()) {
|
if (currentServerExists()) {
|
||||||
log.trace("[{}] Updating ZK node for current instance: {}", self.getServiceId(), nodePath);
|
log.trace("[{}] Updating ZK node for current instance: {}", self.getServiceId(), nodePath);
|
||||||
client.setData().forPath(nodePath, serviceInfoProvider.getServiceInfoWithCurrentSystemInfo().toByteArray());
|
client.setData().forPath(nodePath, serviceInfoProvider.generateNewServiceInfoWithCurrentSystemInfo().toByteArray());
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
log.info("[{}] Creating ZK node for current instance", self.getServiceId());
|
log.info("[{}] Creating ZK node for current instance", self.getServiceId());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user