diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2009-05-01 12:43:38 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2009-05-01 12:43:38 -0230 |
commit | c80bbef52c82989b48570f4449831b7017917982 (patch) | |
tree | 963493c6dafe1ff47310d0f7f58420b2a64ae522 /java/src | |
parent | Bug 3459 - add rewind/reset to InputStream/OutputStream (diff) | |
download | ice-c80bbef52c82989b48570f4449831b7017917982.tar.bz2 ice-c80bbef52c82989b48570f4449831b7017917982.tar.xz ice-c80bbef52c82989b48570f4449831b7017917982.zip |
Bug 3972 - improve server network tracing
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ObjectAdapterI.java | 53 | ||||
-rw-r--r-- | java/src/IceInternal/Network.java | 4 | ||||
-rw-r--r-- | java/src/IceInternal/TcpAcceptor.java | 20 | ||||
-rw-r--r-- | java/src/IceInternal/TcpEndpointI.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/UdpEndpointI.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/UdpTransceiver.java | 22 | ||||
-rw-r--r-- | java/src/IceSSL/AcceptorI.java | 20 | ||||
-rw-r--r-- | java/src/IceSSL/EndpointI.java | 2 |
8 files changed, 102 insertions, 24 deletions
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java index fbf8339a3b2..af2ab67572f 100644 --- a/java/src/Ice/ObjectAdapterI.java +++ b/java/src/Ice/ObjectAdapterI.java @@ -1147,31 +1147,46 @@ public final class ObjectAdapterI implements ObjectAdapter // String endpts = _instance.initializationData().properties.getProperty(_name + ".PublishedEndpoints"); java.util.List<IceInternal.EndpointI> endpoints = parseEndpoints(endpts, false); - if(!endpoints.isEmpty()) + if(endpoints.isEmpty()) { - return endpoints; - } + // + // If the PublishedEndpoints property isn't set, we compute the published enpdoints + // from the OA endpoints. + // + for(int i = 0; i < _incomingConnectionFactories.size(); ++i) + { + IceInternal.IncomingConnectionFactory factory = _incomingConnectionFactories.get(i); + endpoints.add(factory.endpoint()); + } - // - // If the PublishedEndpoints property isn't set, we compute the published enpdoints - // from the OA endpoints. - // - for(int i = 0; i < _incomingConnectionFactories.size(); ++i) - { - IceInternal.IncomingConnectionFactory factory = _incomingConnectionFactories.get(i); - endpoints.add(factory.endpoint()); + // + // Expand any endpoints that may be listening on INADDR_ANY to + // include actual addresses in the published endpoints. + // + java.util.List<IceInternal.EndpointI> expandedEndpoints = new java.util.ArrayList<IceInternal.EndpointI>(); + for(IceInternal.EndpointI p : endpoints) + { + expandedEndpoints.addAll(p.expand()); + } + endpoints = expandedEndpoints; } - // - // Expand any endpoints that may be listening on INADDR_ANY to - // include actual addresses in the published endpoints. - // - java.util.List<IceInternal.EndpointI> expandedEndpoints = new java.util.ArrayList<IceInternal.EndpointI>(); - for(IceInternal.EndpointI p : endpoints) + if(_instance.traceLevels().network >= 3) { - expandedEndpoints.addAll(p.expand()); + String s = "published endpoints for object adapter `" + _name + "':\n"; + boolean first = true; + for(IceInternal.EndpointI endpoint : endpoints) + { + if(!first) + { + s += ":"; + } + s += endpoint.toString(); + first = false; + } + _instance.initializationData().logger.trace(_instance.traceLevels().networkCat, s; } - return expandedEndpoints; + return endpoints; } private void diff --git a/java/src/IceInternal/Network.java b/java/src/IceInternal/Network.java index 4da8ddc89f3..fc03371793b 100644 --- a/java/src/IceInternal/Network.java +++ b/java/src/IceInternal/Network.java @@ -916,7 +916,7 @@ public final class Network } public static java.util.ArrayList<String> - getHostsForEndpointExpand(String host, int protocolSupport) + getHostsForEndpointExpand(String host, int protocolSupport, boolean includeLoopback) { boolean wildcard = (host == null || host.length() == 0); if(!wildcard) @@ -952,7 +952,7 @@ public final class Network } } - if(hosts.isEmpty()) + if(includeLoopback || hosts.isEmpty()) { if(protocolSupport != EnableIPv6) { diff --git a/java/src/IceInternal/TcpAcceptor.java b/java/src/IceInternal/TcpAcceptor.java index 03c93766063..e3c4cf8c90d 100644 --- a/java/src/IceInternal/TcpAcceptor.java +++ b/java/src/IceInternal/TcpAcceptor.java @@ -39,6 +39,26 @@ class TcpAcceptor implements Acceptor if(_traceLevels.network >= 1) { String s = "accepting tcp connections at " + toString(); + if(_traceLevels.network >= 3) + { + java.util.List<String> interfaces = + Network.getHostsForEndpointExpand(_addr.getAddress().getHostAddress(), + _instance.protocolSupport(), true); + if(!interfaces.isEmpty()) + { + s += "\nlocal interfaces: "; + boolean first = true; + for(String iface : interfaces) + { + if(!first) + { + s += ", "; + } + s += iface; + first = false; + } + } + } _logger.trace(_traceLevels.networkCat, s); } } diff --git a/java/src/IceInternal/TcpEndpointI.java b/java/src/IceInternal/TcpEndpointI.java index d9c6e8f3373..c599a9c1687 100644 --- a/java/src/IceInternal/TcpEndpointI.java +++ b/java/src/IceInternal/TcpEndpointI.java @@ -392,7 +392,7 @@ final class TcpEndpointI extends EndpointI expand() { java.util.List<EndpointI> endps = new java.util.ArrayList<EndpointI>(); - java.util.List<String> hosts = Network.getHostsForEndpointExpand(_host, _instance.protocolSupport()); + java.util.List<String> hosts = Network.getHostsForEndpointExpand(_host, _instance.protocolSupport(), false); if(hosts == null || hosts.isEmpty()) { endps.add(this); diff --git a/java/src/IceInternal/UdpEndpointI.java b/java/src/IceInternal/UdpEndpointI.java index 8d1131b7300..4759595d2a7 100644 --- a/java/src/IceInternal/UdpEndpointI.java +++ b/java/src/IceInternal/UdpEndpointI.java @@ -556,7 +556,8 @@ final class UdpEndpointI extends EndpointI expand() { java.util.ArrayList<EndpointI> endps = new java.util.ArrayList<EndpointI>(); - java.util.ArrayList<String> hosts = Network.getHostsForEndpointExpand(_host, _instance.protocolSupport()); + java.util.ArrayList<String> hosts = + Network.getHostsForEndpointExpand(_host, _instance.protocolSupport(), false); if(hosts == null || hosts.isEmpty()) { endps.add(this); diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java index b982a1b5ea1..65a6ebefd3b 100644 --- a/java/src/IceInternal/UdpTransceiver.java +++ b/java/src/IceInternal/UdpTransceiver.java @@ -257,6 +257,7 @@ final class UdpTransceiver implements Transceiver _traceLevels = instance.traceLevels(); _logger = instance.initializationData().logger; _stats = instance.initializationData().stats; + _protocolSupport = instance.protocolSupport(); _connect = true; _warn = instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0; _addr = addr; @@ -294,6 +295,7 @@ final class UdpTransceiver implements Transceiver _traceLevels = instance.traceLevels(); _logger = instance.initializationData().logger; _stats = instance.initializationData().stats; + _protocolSupport = instance.protocolSupport(); _connect = connect; _warn = instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0; @@ -344,6 +346,25 @@ final class UdpTransceiver implements Transceiver if(_traceLevels.network >= 1) { String s = "starting to receive udp packets\n" + toString(); + if(_traceLevels.network >= 3) + { + java.util.List<String> interfaces = + Network.getHostsForEndpointExpand(_addr.getAddress().getHostAddress(), _protocolSupport, true); + if(!interfaces.isEmpty()) + { + s += "\nlocal interfaces: "; + boolean first = true; + for(String iface : interfaces) + { + if(!first) + { + s += ", "; + } + s += iface; + first = false; + } + } + } _logger.trace(_traceLevels.networkCat, s); } } @@ -519,6 +540,7 @@ final class UdpTransceiver implements Transceiver private TraceLevels _traceLevels; private Ice.Logger _logger; private Ice.Stats _stats; + private int _protocolSupport; private boolean _connect; private final boolean _warn; private int _rcvSize; diff --git a/java/src/IceSSL/AcceptorI.java b/java/src/IceSSL/AcceptorI.java index 4ce1e5f70bf..8979f8e166f 100644 --- a/java/src/IceSSL/AcceptorI.java +++ b/java/src/IceSSL/AcceptorI.java @@ -39,6 +39,26 @@ final class AcceptorI implements IceInternal.Acceptor if(_instance.networkTraceLevel() >= 1) { String s = "accepting ssl connections at " + toString(); + if(_instance.networkTraceLevel() >= 3) + { + java.util.List<String> interfaces = + IceInternal.Network.getHostsForEndpointExpand(_addr.getAddress().getHostAddress(), + _instance.protocolSupport(), true); + if(!interfaces.isEmpty()) + { + s += "\nlocal interfaces: "; + boolean first = true; + for(String iface : interfaces) + { + if(!first) + { + s += ", "; + } + s += iface; + first = false; + } + } + } _logger.trace(_instance.networkTraceCategory(), s); } } diff --git a/java/src/IceSSL/EndpointI.java b/java/src/IceSSL/EndpointI.java index ed68233b0d1..3ab830199ef 100644 --- a/java/src/IceSSL/EndpointI.java +++ b/java/src/IceSSL/EndpointI.java @@ -393,7 +393,7 @@ final class EndpointI extends IceInternal.EndpointI { java.util.ArrayList<IceInternal.EndpointI> endps = new java.util.ArrayList<IceInternal.EndpointI>(); java.util.ArrayList<String> hosts = - IceInternal.Network.getHostsForEndpointExpand(_host, _instance.protocolSupport()); + IceInternal.Network.getHostsForEndpointExpand(_host, _instance.protocolSupport(), false); if(hosts == null || hosts.isEmpty()) { endps.add(this); |