Skip to content

Commit 4da18db

Browse files
authored
[#1523] add Logs to service discovery. (#1524) (#1530)
1 parent 695048d commit 4da18db

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

spring-cloud-huawei-service-engine/service-engine-discovery/src/main/java/com/huaweicloud/servicecomb/discovery/discovery/ServiceCombDiscoveryClient.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,11 @@
4141
import org.springframework.cloud.client.discovery.event.HeartbeatEvent;
4242
import org.springframework.context.ApplicationEventPublisher;
4343
import org.springframework.context.ApplicationEventPublisherAware;
44+
import org.springframework.util.CollectionUtils;
4445

4546
import com.google.common.eventbus.Subscribe;
47+
import com.huaweicloud.common.context.InvocationContext;
48+
import com.huaweicloud.common.context.InvocationContextHolder;
4649
import com.huaweicloud.service.engine.common.configration.bootstrap.BootstrapProperties;
4750
import com.huaweicloud.service.engine.common.configration.bootstrap.DiscoveryBootstrapProperties;
4851
import com.huaweicloud.service.engine.common.configration.bootstrap.MicroserviceProperties;
@@ -132,8 +135,30 @@ public List<ServiceInstance> getInstances(String serviceId) {
132135
if (instances == null) {
133136
return Collections.emptyList();
134137
}
135-
return instances.stream().filter(instance -> MicroserviceInstanceStatus.UP.equals(instance.getStatus()))
138+
List<ServiceInstance> availableInstances = instances.stream()
139+
.filter(instance -> MicroserviceInstanceStatus.UP.equals(instance.getStatus()))
136140
.map(ServiceCombServiceInstance::new).collect(Collectors.toList());
141+
if (LOGGER.isDebugEnabled()) {
142+
LOGGER.debug("|{}| service [{}] current available instances [{}]", getTraceId(), serviceId,
143+
buildInstancesInfo(availableInstances));
144+
}
145+
return availableInstances;
146+
}
147+
148+
private String getTraceId() {
149+
return InvocationContextHolder.getOrCreateInvocationContext().getContext(InvocationContext.CONTEXT_TRACE_ID);
150+
}
151+
152+
private String buildInstancesInfo(List<ServiceInstance> availableInstances) {
153+
if (CollectionUtils.isEmpty(availableInstances)) {
154+
return "";
155+
}
156+
StringBuilder sb = new StringBuilder();
157+
for (ServiceInstance instance : availableInstances) {
158+
sb.append(instance.getHost());
159+
sb.append("|");
160+
}
161+
return sb.toString();
137162
}
138163

139164
@Override

0 commit comments

Comments
 (0)