mirror of https://github.com/grpc/grpc-java.git
otel: fixes NPE
This commit is contained in:
parent
a664b2fd92
commit
2ce087eebb
|
@ -589,8 +589,10 @@ final class InternalSubchannel implements InternalInstrumented<ChannelStats>, Tr
|
|||
public void transportReady() {
|
||||
channelLogger.log(ChannelLogLevel.INFO, "READY");
|
||||
subchannelMetrics.recordConnectionAttemptSucceeded(buildLabelSet(
|
||||
addressIndex.getCurrentEagAttributes().get(NameResolver.ATTR_BACKEND_SERVICE),
|
||||
addressIndex.getCurrentEagAttributes().get(LoadBalancer.ATTR_LOCALITY_NAME),
|
||||
getAttributeOrDefault(
|
||||
addressIndex.getCurrentEagAttributes(), NameResolver.ATTR_BACKEND_SERVICE),
|
||||
getAttributeOrDefault(
|
||||
addressIndex.getCurrentEagAttributes(), LoadBalancer.ATTR_LOCALITY_NAME),
|
||||
null,
|
||||
extractSecurityLevel(
|
||||
addressIndex.getCurrentEagAttributes().get(GrpcAttributes.ATTR_SECURITY_LEVEL))
|
||||
|
@ -625,10 +627,10 @@ final class InternalSubchannel implements InternalInstrumented<ChannelStats>, Tr
|
|||
ChannelLogLevel.INFO, "{0} SHUTDOWN with {1}", transport.getLogId(), printShortStatus(s));
|
||||
shutdownInitiated = true;
|
||||
subchannelMetrics.recordConnectionAttemptFailed(buildLabelSet(
|
||||
addressIndex.getCurrentEagAttributes().get(NameResolver.ATTR_BACKEND_SERVICE),
|
||||
addressIndex.getCurrentEagAttributes().get(LoadBalancer.ATTR_LOCALITY_NAME),
|
||||
getAttributeOrDefault(addressIndex.getCurrentEagAttributes(), NameResolver.ATTR_BACKEND_SERVICE),
|
||||
getAttributeOrDefault(addressIndex.getCurrentEagAttributes(), LoadBalancer.ATTR_LOCALITY_NAME),
|
||||
null, null
|
||||
));
|
||||
));
|
||||
syncContext.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -670,8 +672,10 @@ final class InternalSubchannel implements InternalInstrumented<ChannelStats>, Tr
|
|||
filter.transportTerminated(transport.getAttributes());
|
||||
}
|
||||
subchannelMetrics.recordDisconnection(buildLabelSet(
|
||||
addressIndex.getCurrentEagAttributes().get(NameResolver.ATTR_BACKEND_SERVICE),
|
||||
addressIndex.getCurrentEagAttributes().get(LoadBalancer.ATTR_LOCALITY_NAME),
|
||||
getAttributeOrDefault(
|
||||
addressIndex.getCurrentEagAttributes(), NameResolver.ATTR_BACKEND_SERVICE),
|
||||
getAttributeOrDefault(
|
||||
addressIndex.getCurrentEagAttributes(), LoadBalancer.ATTR_LOCALITY_NAME),
|
||||
"Peer Pressure",
|
||||
extractSecurityLevel(
|
||||
addressIndex.getCurrentEagAttributes().get(GrpcAttributes.ATTR_SECURITY_LEVEL))
|
||||
|
@ -702,6 +706,11 @@ final class InternalSubchannel implements InternalInstrumented<ChannelStats>, Tr
|
|||
throw new IllegalArgumentException("Unknown SecurityLevel: " + securityLevel);
|
||||
}
|
||||
}
|
||||
|
||||
private String getAttributeOrDefault(Attributes attributes, Attributes.Key<String> key) {
|
||||
String value = attributes.get(key);
|
||||
return value == null ? "" : value;
|
||||
}
|
||||
}
|
||||
|
||||
// All methods are called in syncContext
|
||||
|
|
Loading…
Reference in New Issue