@@ -589,8 +589,10 @@ public Attributes filterTransport(Attributes attributes) {
589
589
public void transportReady () {
590
590
channelLogger .log (ChannelLogLevel .INFO , "READY" );
591
591
subchannelMetrics .recordConnectionAttemptSucceeded (buildLabelSet (
592
- addressIndex .getCurrentEagAttributes ().get (NameResolver .ATTR_BACKEND_SERVICE ),
593
- addressIndex .getCurrentEagAttributes ().get (LoadBalancer .ATTR_LOCALITY_NAME ),
592
+ getAttributeOrDefault (
593
+ addressIndex .getCurrentEagAttributes (), NameResolver .ATTR_BACKEND_SERVICE ),
594
+ getAttributeOrDefault (
595
+ addressIndex .getCurrentEagAttributes (), LoadBalancer .ATTR_LOCALITY_NAME ),
594
596
null ,
595
597
extractSecurityLevel (
596
598
addressIndex .getCurrentEagAttributes ().get (GrpcAttributes .ATTR_SECURITY_LEVEL ))
@@ -625,10 +627,10 @@ public void transportShutdown(final Status s) {
625
627
ChannelLogLevel .INFO , "{0} SHUTDOWN with {1}" , transport .getLogId (), printShortStatus (s ));
626
628
shutdownInitiated = true ;
627
629
subchannelMetrics .recordConnectionAttemptFailed (buildLabelSet (
628
- addressIndex .getCurrentEagAttributes (). get ( NameResolver .ATTR_BACKEND_SERVICE ),
629
- addressIndex .getCurrentEagAttributes (). get ( LoadBalancer .ATTR_LOCALITY_NAME ),
630
+ getAttributeOrDefault ( addressIndex .getCurrentEagAttributes (), NameResolver .ATTR_BACKEND_SERVICE ),
631
+ getAttributeOrDefault ( addressIndex .getCurrentEagAttributes (), LoadBalancer .ATTR_LOCALITY_NAME ),
630
632
null , null
631
- ));
633
+ ));
632
634
syncContext .execute (new Runnable () {
633
635
@ Override
634
636
public void run () {
@@ -670,8 +672,10 @@ public void transportTerminated() {
670
672
filter .transportTerminated (transport .getAttributes ());
671
673
}
672
674
subchannelMetrics .recordDisconnection (buildLabelSet (
673
- addressIndex .getCurrentEagAttributes ().get (NameResolver .ATTR_BACKEND_SERVICE ),
674
- addressIndex .getCurrentEagAttributes ().get (LoadBalancer .ATTR_LOCALITY_NAME ),
675
+ getAttributeOrDefault (
676
+ addressIndex .getCurrentEagAttributes (), NameResolver .ATTR_BACKEND_SERVICE ),
677
+ getAttributeOrDefault (
678
+ addressIndex .getCurrentEagAttributes (), LoadBalancer .ATTR_LOCALITY_NAME ),
675
679
"Peer Pressure" ,
676
680
extractSecurityLevel (
677
681
addressIndex .getCurrentEagAttributes ().get (GrpcAttributes .ATTR_SECURITY_LEVEL ))
@@ -702,6 +706,11 @@ private String extractSecurityLevel(SecurityLevel securityLevel) {
702
706
throw new IllegalArgumentException ("Unknown SecurityLevel: " + securityLevel );
703
707
}
704
708
}
709
+
710
+ private String getAttributeOrDefault (Attributes attributes , Attributes .Key <String > key ) {
711
+ String value = attributes .get (key );
712
+ return value == null ? "" : value ;
713
+ }
705
714
}
706
715
707
716
// All methods are called in syncContext
0 commit comments