diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-10-12 11:34:53 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-10-12 11:34:53 +0200 |
commit | 23c1e3b603a9d902593ffe9f99562fcda3af1589 (patch) | |
tree | 60ea7cdc0da5a9676ca12350ac82b069cc86eb5e /java | |
parent | .NET demo project updates (diff) | |
download | ice-23c1e3b603a9d902593ffe9f99562fcda3af1589.tar.bz2 ice-23c1e3b603a9d902593ffe9f99562fcda3af1589.tar.xz ice-23c1e3b603a9d902593ffe9f99562fcda3af1589.zip |
Added support for Glacier2 MX and fixed ICE-4880
Diffstat (limited to 'java')
-rw-r--r-- | java/build.xml | 1 | ||||
-rw-r--r-- | java/resources/metrics.config | 149 | ||||
-rw-r--r-- | java/src/IceBox/ServiceManagerI.java | 12 | ||||
-rw-r--r-- | java/src/IceInternal/CommunicatorObserverI.java (renamed from java/src/IceMX/CommunicatorObserverI.java) | 84 | ||||
-rw-r--r-- | java/src/IceInternal/ConnectionObserverI.java (renamed from java/src/IceMX/ConnectionObserverI.java) | 13 | ||||
-rw-r--r-- | java/src/IceInternal/DispatchObserverI.java (renamed from java/src/IceMX/DispatchObserverI.java) | 9 | ||||
-rw-r--r-- | java/src/IceInternal/Instance.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/InvocationObserverI.java (renamed from java/src/IceMX/InvocationObserverI.java) | 23 | ||||
-rw-r--r-- | java/src/IceInternal/ThreadObserverI.java (renamed from java/src/IceMX/ThreadObserverI.java) | 8 | ||||
-rw-r--r-- | java/src/IceMX/MetricsHelper.java | 2 | ||||
-rw-r--r-- | java/src/IceMX/Observer.java | 3 | ||||
-rw-r--r-- | java/src/IceMX/ObserverFactory.java | 27 | ||||
-rw-r--r-- | java/test/Ice/metrics/AllTests.java | 9 |
13 files changed, 202 insertions, 140 deletions
diff --git a/java/build.xml b/java/build.xml index 0aa44fc868f..d64ae6c8108 100644 --- a/java/build.xml +++ b/java/build.xml @@ -127,6 +127,7 @@ <pathelement path="${slice.dir}" /> </includepath> <fileset dir="${slice.dir}/Glacier2"> + <include name="Metrics.ice" /> <include name="PermissionsVerifier.ice" /> <include name="SSLInfo.ice" /> <include name="Router.ice" /> diff --git a/java/resources/metrics.config b/java/resources/metrics.config index 81fa0bc4a21..71f010f3616 100644 --- a/java/resources/metrics.config +++ b/java/resources/metrics.config @@ -2,19 +2,20 @@ # # Metrics sort # -IceGridGUI.Metrics = Topic Subscriber Dispatch Invocation Connection Thread ConnectionEstablishment EndpointLookup +IceGridGUI.Metrics = Topic Subscriber Session Dispatch Invocation Connection Thread ConnectionEstablishment EndpointLookup # # Metrics Display Names # -IceGridGUI.Metrics.Topic = Topic -IceGridGUI.Metrics.Subscriber = Subscriber +IceGridGUI.Metrics.Topic = IceStorm Topics +IceGridGUI.Metrics.Subscriber = IceStorm Subscribers IceGridGUI.Metrics.Dispatch = Operation Dispatch IceGridGUI.Metrics.Invocation = Remote Invocations IceGridGUI.Metrics.Connection = Connections IceGridGUI.Metrics.Thread = Threads IceGridGUI.Metrics.ConnectionEstablishment = Connection Establishments IceGridGUI.Metrics.EndpointLookup = Endpoint Lookups +IceGridGUI.Metrics.Session = Glacier2 Sessions # # Dispatch fields @@ -25,7 +26,7 @@ IceGridGUI.Metrics.Dispatch.id.columnName = Id IceGridGUI.Metrics.Dispatch.id.columnToolTip = Identity IceGridGUI.Metrics.Dispatch.userException.columnName = UE -IceGridGUI.Metrics.Dispatch.userException.columnToolTip = User Exception +IceGridGUI.Metrics.Dispatch.userException.columnToolTip = User exception count IceGridGUI.Metrics.Dispatch.current.columnName = Current @@ -33,14 +34,14 @@ IceGridGUI.Metrics.Dispatch.total.columnName = Total IceGridGUI.Metrics.Dispatch.average.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Dispatch.average.dataField = total -IceGridGUI.Metrics.Dispatch.average.columnName = Avg -IceGridGUI.Metrics.Dispatch.average.columnToolTip = Avg (Req/s) +IceGridGUI.Metrics.Dispatch.average.columnName = Avg Cnt +IceGridGUI.Metrics.Dispatch.average.columnToolTip = Average dispatch count (count/s) IceGridGUI.Metrics.Dispatch.average.scaleFactor = 1000.0d IceGridGUI.Metrics.Dispatch.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.Dispatch.averageLifetime.scaleFactor = 1000.0d -IceGridGUI.Metrics.Dispatch.averageLifetime.columnName = Lifetime -IceGridGUI.Metrics.Dispatch.averageLifetime.columnToolTip = Avg Lifetime (ms) +IceGridGUI.Metrics.Dispatch.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.Dispatch.averageLifetime.columnToolTip = <html>Average dispatch lifetime (ms)<br><br><p style="width: 300px;">The lifetime of a dispatch is the interval between the time the header of the message is read and the time the response is sent to the client.</p></html> IceGridGUI.Metrics.Dispatch.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField IceGridGUI.Metrics.Dispatch.failures.columnName = Failures @@ -54,7 +55,7 @@ IceGridGUI.Metrics.Invocation.id.columnName = Id IceGridGUI.Metrics.Invocation.id.columnToolTip = Identity IceGridGUI.Metrics.Invocation.userException.columnName = UE -IceGridGUI.Metrics.Invocation.userException.columnToolTip = User Exception +IceGridGUI.Metrics.Invocation.userException.columnToolTip = User exception count IceGridGUI.Metrics.Invocation.current.columnName = Current @@ -73,19 +74,19 @@ IceGridGUI.Metrics.Invocation.remotes.columnName = Remotes IceGridGUI.Metrics.Invocation.remotes.total.columnName = Total IceGridGUI.Metrics.Invocation.remotes.average.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.Invocation.remotes.average.scaleFactor = 1000.0d - IceGridGUI.Metrics.Invocation.remotes.average.columnName = Lifetime - IceGridGUI.Metrics.Invocation.remotes.average.columnToolTip = Avg Lifetime (ms) + IceGridGUI.Metrics.Invocation.remotes.average.columnName = Avg LfT + IceGridGUI.Metrics.Invocation.remotes.average.columnToolTip = <html>Average remote invocation lifetime (ms)<br><br><p style="width: 300px;">The lifetime starts when the marshalled invocation is passed to the Ice connection for sending and ends when the Ice connection either sent the invocation (for oneway) or received the response (for twoway). This time doesn't include the marshalling of the invocation or un-marshalling of the response.</p></html> IceGridGUI.Metrics.Invocation.average.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Invocation.average.dataField = total -IceGridGUI.Metrics.Invocation.average.columnName = Avg -IceGridGUI.Metrics.Invocation.average.columnToolTip = Avg (Invocations/s) +IceGridGUI.Metrics.Invocation.average.columnName = Avg Cnt +IceGridGUI.Metrics.Invocation.average.columnToolTip = Average invocation count (count/s) IceGridGUI.Metrics.Invocation.average.scaleFactor = 1000.0d IceGridGUI.Metrics.Invocation.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.Invocation.averageLifetime.scaleFactor = 1000.0d -IceGridGUI.Metrics.Invocation.averageLifetime.columnName = Lifetime -IceGridGUI.Metrics.Invocation.averageLifetime.columnToolTip = Avg Lifetime (ms) +IceGridGUI.Metrics.Invocation.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.Invocation.averageLifetime.columnToolTip = <html>Average invocation lifetime (ms)<br><br><p style="width: 300px;">The lifetime starts when the invocation is called on the proxy and ends when it completes. A synchronous operation completes when it returns. An Asynchronous operations completes when the AMI response or exception callback return.</p></html> IceGridGUI.Metrics.Invocation.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField IceGridGUI.Metrics.Invocation.failures.columnName = Failures @@ -102,34 +103,34 @@ IceGridGUI.Metrics.Connection.current.columnName = Current IceGridGUI.Metrics.Connection.total.columnName = Total -IceGridGUI.Metrics.Connection.receivedBytes.columnName = Rx Bytes -IceGridGUI.Metrics.Connection.receivedBytes.columnToolTip = Received Bytes +IceGridGUI.Metrics.Connection.receivedBytes.columnName = Rx +IceGridGUI.Metrics.Connection.receivedBytes.columnToolTip = Received bytes (bytes) IceGridGUI.Metrics.Connection.receivedSpeed.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Connection.receivedSpeed.dataField = receivedBytes -IceGridGUI.Metrics.Connection.receivedSpeed.columnName = Rx (Bytes/s) -IceGridGUI.Metrics.Connection.receivedSpeed.columnToolTip = Received Bytes (Bytes/s) +IceGridGUI.Metrics.Connection.receivedSpeed.columnName = Rx Bw +IceGridGUI.Metrics.Connection.receivedSpeed.columnToolTip = Receive bandwidth (bytes/s) IceGridGUI.Metrics.Connection.receivedSpeed.scaleFactor = 1000.0d -IceGridGUI.Metrics.Connection.sentBytes.columnName = TxBytes -IceGridGUI.Metrics.Connection.sentBytes.columnToolTip = Sent Bytes +IceGridGUI.Metrics.Connection.sentBytes.columnName = Tx +IceGridGUI.Metrics.Connection.sentBytes.columnToolTip = Sent bytes (bytes) IceGridGUI.Metrics.Connection.sentSpeed.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Connection.sentSpeed.dataField = sentBytes -IceGridGUI.Metrics.Connection.sentSpeed.columnName = Tx (Bytes/s) -IceGridGUI.Metrics.Connection.sentSpeed.columnToolTip = Sent Bytes (Bytes/s) +IceGridGUI.Metrics.Connection.sentSpeed.columnName = Tx Bw +IceGridGUI.Metrics.Connection.sentSpeed.columnToolTip = Send bandwidth (bytes/s) IceGridGUI.Metrics.Connection.sentSpeed.scaleFactor = 1000.0d IceGridGUI.Metrics.Connection.average.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Connection.average.dataField = total -IceGridGUI.Metrics.Connection.average.columnName = Avg -IceGridGUI.Metrics.Connection.average.columnToolTip = Avg (Connections/s) +IceGridGUI.Metrics.Connection.average.columnName = Avg Cnt +IceGridGUI.Metrics.Connection.average.columnToolTip = Average connection count (count/s) IceGridGUI.Metrics.Connection.average.scaleFactor = 1000.0d IceGridGUI.Metrics.Connection.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.Connection.averageLifetime.scaleFactor = 1000000.0d -IceGridGUI.Metrics.Connection.averageLifetime.columnName = Lifetime -IceGridGUI.Metrics.Connection.averageLifetime.columnToolTip = Avg Lifetime (s) +IceGridGUI.Metrics.Connection.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.Connection.averageLifetime.columnToolTip = Average connection lifetime (s) IceGridGUI.Metrics.Connection.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField IceGridGUI.Metrics.Connection.failures.columnName = Failures @@ -157,14 +158,14 @@ IceGridGUI.Metrics.Thread.inUseForOther.columnToolTip = In Use For Other IceGridGUI.Metrics.Thread.average.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Thread.average.dataField = total -IceGridGUI.Metrics.Thread.average.columnName = Avg -IceGridGUI.Metrics.Thread.average.columnToolTip = Avg (Threads/s) +IceGridGUI.Metrics.Thread.average.columnName = Avg Cnt +IceGridGUI.Metrics.Thread.average.columnToolTip = Average thread count (count/s) IceGridGUI.Metrics.Thread.average.scaleFactor = 1000.0d IceGridGUI.Metrics.Thread.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.Thread.averageLifetime.scaleFactor = 1000000.0d -IceGridGUI.Metrics.Thread.averageLifetime.columnName = Lifetime -IceGridGUI.Metrics.Thread.averageLifetime.columnToolTip = Avg Lifetime (s) +IceGridGUI.Metrics.Thread.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.Thread.averageLifetime.columnToolTip = Average thread lifetime (s) IceGridGUI.Metrics.Thread.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField IceGridGUI.Metrics.Thread.failures.columnName = Failures @@ -183,14 +184,14 @@ IceGridGUI.Metrics.ConnectionEstablishment.total.columnName = Total IceGridGUI.Metrics.ConnectionEstablishment.average.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.ConnectionEstablishment.average.dataField = total -IceGridGUI.Metrics.ConnectionEstablishment.average.columnName = Avg -IceGridGUI.Metrics.ConnectionEstablishment.average.columnToolTip = Avg (Connection Establishments/s) +IceGridGUI.Metrics.ConnectionEstablishment.average.columnName = Avg Cnt +IceGridGUI.Metrics.ConnectionEstablishment.average.columnToolTip = Average connection establishment count (count/s) IceGridGUI.Metrics.ConnectionEstablishment.average.scaleFactor = 1000.0d IceGridGUI.Metrics.ConnectionEstablishment.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.ConnectionEstablishment.averageLifetime.scaleFactor = 1000.0d -IceGridGUI.Metrics.ConnectionEstablishment.averageLifetime.columnName = Lifetime -IceGridGUI.Metrics.ConnectionEstablishment.averageLifetime.columnToolTip = Avg Lifetime (ms) +IceGridGUI.Metrics.ConnectionEstablishment.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.ConnectionEstablishment.averageLifetime.columnToolTip = Average connection establishement lifetime (ms) IceGridGUI.Metrics.ConnectionEstablishment.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField IceGridGUI.Metrics.ConnectionEstablishment.failures.columnName = Failures @@ -209,14 +210,14 @@ IceGridGUI.Metrics.EndpointLookup.total.columnName = Total IceGridGUI.Metrics.EndpointLookup.average.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.EndpointLookup.average.dataField = total -IceGridGUI.Metrics.EndpointLookup.average.columnName = Avg -IceGridGUI.Metrics.EndpointLookup.average.columnToolTip = Avg (Endpoint Lookups/s) +IceGridGUI.Metrics.EndpointLookup.average.columnName = Avg Cnt +IceGridGUI.Metrics.EndpointLookup.average.columnToolTip = Average endpoint lookup count (count/s) IceGridGUI.Metrics.EndpointLookup.average.scaleFactor = 1000.0d IceGridGUI.Metrics.EndpointLookup.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.EndpointLookup.averageLifetime.scaleFactor = 1000.0d -IceGridGUI.Metrics.EndpointLookup.averageLifetime.columnName = Lifetime -IceGridGUI.Metrics.EndpointLookup.averageLifetime.columnToolTip = Avg Lifetime (ms) +IceGridGUI.Metrics.EndpointLookup.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.EndpointLookup.averageLifetime.columnToolTip = Average endpoint lookup lifetime (ms) IceGridGUI.Metrics.EndpointLookup.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField IceGridGUI.Metrics.EndpointLookup.failures.columnName = Failures @@ -236,19 +237,19 @@ IceGridGUI.Metrics.Topic.total.columnName = Total IceGridGUI.Metrics.Topic.published.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Topic.published.dataField = published IceGridGUI.Metrics.Topic.published.columnName = Published -IceGridGUI.Metrics.Topic.published.columnToolTip = Published (Req/s) +IceGridGUI.Metrics.Topic.published.columnToolTip = <html>Average published event count (count/s)<br><br><p style="width: 300px;">Published events are received over the topic publisher object.</p></html> IceGridGUI.Metrics.Topic.published.scaleFactor = 1000.0d IceGridGUI.Metrics.Topic.forwarded.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Topic.forwarded.dataField = forwarded IceGridGUI.Metrics.Topic.forwarded.columnName = Forwarded -IceGridGUI.Metrics.Topic.forwarded.columnToolTip = Forwarded (Req/s) +IceGridGUI.Metrics.Topic.forwarded.columnToolTip = <html>Average forwarded event count (count/s)<br><br><p style="width: 300px;">Forwarded events are received from linked topics.</p></html> IceGridGUI.Metrics.Topic.forwarded.scaleFactor = 1000.0d IceGridGUI.Metrics.Topic.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.Topic.averageLifetime.scaleFactor = 1000.0d -IceGridGUI.Metrics.Topic.averageLifetime.columnName = Lifetime -IceGridGUI.Metrics.Topic.averageLifetime.columnToolTip = Avg Lifetime (ms) +IceGridGUI.Metrics.Topic.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.Topic.averageLifetime.columnToolTip = Average topic lifetime (ms) IceGridGUI.Metrics.Topic.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField IceGridGUI.Metrics.Topic.failures.columnName = Failures @@ -267,25 +268,77 @@ IceGridGUI.Metrics.Subscriber.total.columnName = Total IceGridGUI.Metrics.Subscriber.queued.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Subscriber.queued.dataField = queued IceGridGUI.Metrics.Subscriber.queued.columnName = Queued -IceGridGUI.Metrics.Subscriber.queued.columnTip = Queued (Req/s) +IceGridGUI.Metrics.Subscriber.queued.columnTip = <html>Average queued event count (count/s)<br><br><p style="width: 300px;">Queued events are events waiting to be sent to the subscriber.</p></html> IceGridGUI.Metrics.Subscriber.queued.scaleFactor = 1000.0d IceGridGUI.Metrics.Subscriber.outstanding.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Subscriber.outstanding.dataField = outstanding IceGridGUI.Metrics.Subscriber.outstanding.columnName = Outstanding -IceGridGUI.Metrics.Subscriber.outstanding.columnToolTip = Outstanding (Req/s) +IceGridGUI.Metrics.Subscriber.outstanding.columnToolTip = <html>Average outstanding event count (count/s)<br><br><p style="width: 300px;">Outstanding event are event which were sent by not yet delivered to the subcriber.</p></html> IceGridGUI.Metrics.Subscriber.outstanding.scaleFactor = 1000.0d IceGridGUI.Metrics.Subscriber.delivered.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField IceGridGUI.Metrics.Subscriber.delivered.dataField = delivered IceGridGUI.Metrics.Subscriber.delivered.columnName = Delivered -IceGridGUI.Metrics.Subscriber.delivered.columnToolTip = Delivered (Req/s) +IceGridGUI.Metrics.Subscriber.delivered.columnToolTip = Average delivered event count (count/s) IceGridGUI.Metrics.Subscriber.delivered.scaleFactor = 1000.0d IceGridGUI.Metrics.Subscriber.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField IceGridGUI.Metrics.Subscriber.averageLifetime.scaleFactor = 1000.0d -IceGridGUI.Metrics.Subscriber.averageLifetime.columnName = Lifetime -IceGridGUI.Metrics.Subscriber.averageLifetime.columnToolTip = Avg Lifetime (ms) +IceGridGUI.Metrics.Subscriber.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.Subscriber.averageLifetime.columnToolTip = Average subscriber lifetime (ms) IceGridGUI.Metrics.Subscriber.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField IceGridGUI.Metrics.Subscriber.failures.columnName = Failures + +# +# Glacier2 session fields +# +IceGridGUI.Metrics.Session.fields = id current total routingTableSize forwardedClient queuedClient overriddenClient forwardedServer queuedServer overriddenServer averageLifetime failures + +IceGridGUI.Metrics.Session.id.columnName = Identity + +IceGridGUI.Metrics.Session.current.columnName = Current + +IceGridGUI.Metrics.Session.total.columnName = Total + +IceGridGUI.Metrics.Session.routingTableSize.columnName = RT Sz +IceGridGUI.Metrics.Session.routingTableSize.columnToolTip = Routing table size + +IceGridGUI.Metrics.Session.forwardedClient.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField +IceGridGUI.Metrics.Session.forwardedClient.dataField = forwardedClient +IceGridGUI.Metrics.Session.forwardedClient.columnName = Clt Fwd +IceGridGUI.Metrics.Session.forwardedClient.columnToolTip = Average forwarded request count on the client side (count/s) +IceGridGUI.Metrics.Session.forwardedClient.scaleFactor = 1000.0d + +IceGridGUI.Metrics.Session.queuedClient.columnName = Clt Qd +IceGridGUI.Metrics.Session.queuedClient.columnToolTip = Queued request count on the client side + +IceGridGUI.Metrics.Session.overriddenClient.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField +IceGridGUI.Metrics.Session.overriddenClient.dataField = overriddenClient +IceGridGUI.Metrics.Session.overriddenClient.columnName = Clt Ovrd +IceGridGUI.Metrics.Session.overriddenClient.columnToolTip = Average overridden request count on the client side (count/s) +IceGridGUI.Metrics.Session.overriddenClient.scaleFactor = 1000.0d + +IceGridGUI.Metrics.Session.forwardedServer.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField +IceGridGUI.Metrics.Session.forwardedServer.dataField = forwardedServer +IceGridGUI.Metrics.Session.forwardedServer.columnName = Srv Fwd +IceGridGUI.Metrics.Session.forwardedServer.columnToolTip = Average forwarded request count on the server side (count/s) +IceGridGUI.Metrics.Session.forwardedServer.scaleFactor = 1000.0d + +IceGridGUI.Metrics.Session.queuedServer.columnName = Srv Qd +IceGridGUI.Metrics.Session.queuedServer.columnToolTip = Queued request count on the server side + +IceGridGUI.Metrics.Session.overriddenServer.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$DeltaAverageMetricsField +IceGridGUI.Metrics.Session.overriddenServer.dataField = overriddenServer +IceGridGUI.Metrics.Session.overriddenServer.columnName = Srv Ovrd +IceGridGUI.Metrics.Session.overriddenServer.columnToolTip = Average overridden request count on the server side (count/s) +IceGridGUI.Metrics.Session.overriddenServer.scaleFactor = 1000.0d + +IceGridGUI.Metrics.Session.averageLifetime.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$AverageLifetimeMetricsField +IceGridGUI.Metrics.Session.averageLifetime.scaleFactor = 1000.0d +IceGridGUI.Metrics.Session.averageLifetime.columnName = Avg LfT +IceGridGUI.Metrics.Session.averageLifetime.columnToolTip = Average session lifetime (ms) + +IceGridGUI.Metrics.Session.failures.fieldClass = IceGridGUI.LiveDeployment.MetricsViewEditor$FailuresMetricsField +IceGridGUI.Metrics.Session.failures.columnName = Failures diff --git a/java/src/IceBox/ServiceManagerI.java b/java/src/IceBox/ServiceManagerI.java index 9d7b830bbb6..2676c5f389b 100644 --- a/java/src/IceBox/ServiceManagerI.java +++ b/java/src/IceBox/ServiceManagerI.java @@ -354,10 +354,10 @@ public class ServiceManagerI extends _ServiceManagerDisp // shared communicator. // IceInternal.MetricsAdminI metricsAdmin = null; - if(_communicator.getObserver() instanceof IceMX.CommunicatorObserverI) + if(_communicator.getObserver() instanceof IceInternal.CommunicatorObserverI) { metricsAdmin = new IceInternal.MetricsAdminI(initData.properties, Ice.Util.getProcessLogger()); - initData.observer = new IceMX.CommunicatorObserverI(metricsAdmin); + initData.observer = new IceInternal.CommunicatorObserverI(metricsAdmin); } _sharedCommunicator = Ice.Util.initialize(initData); @@ -565,9 +565,9 @@ public class ServiceManagerI extends _ServiceManagerDisp { assert(_sharedCommunicator != null); communicator = _sharedCommunicator; - if(communicator.getObserver() instanceof IceMX.CommunicatorObserverI) + if(communicator.getObserver() instanceof IceInternal.CommunicatorObserverI) { - IceMX.CommunicatorObserverI o = (IceMX.CommunicatorObserverI)communicator.getObserver(); + IceInternal.CommunicatorObserverI o = (IceInternal.CommunicatorObserverI)communicator.getObserver(); metricsAdmin = o.getMetricsAdmin(); } } @@ -606,10 +606,10 @@ public class ServiceManagerI extends _ServiceManagerDisp // If Ice metrics are enabled on the IceBox communicator, we also enable them on // the service communicator. // - if(_communicator.getObserver() instanceof IceMX.CommunicatorObserverI) + if(_communicator.getObserver() instanceof IceInternal.CommunicatorObserverI) { metricsAdmin = new IceInternal.MetricsAdminI(initData.properties, initData.logger); - initData.observer = new IceMX.CommunicatorObserverI(metricsAdmin); + initData.observer = new IceInternal.CommunicatorObserverI(metricsAdmin); } // diff --git a/java/src/IceMX/CommunicatorObserverI.java b/java/src/IceInternal/CommunicatorObserverI.java index c5f724fe5e0..c5dd83b79ae 100644 --- a/java/src/IceMX/CommunicatorObserverI.java +++ b/java/src/IceInternal/CommunicatorObserverI.java @@ -7,7 +7,9 @@ // // ********************************************************************** -package IceMX; +package IceInternal; + +import IceMX.*; public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorObserver { @@ -51,7 +53,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb addEndpointAttributes(r, cl); } - static private class ConnectionHelper extends MetricsHelper<ConnectionMetrics> + static public class ConnectionHelper extends MetricsHelper<ConnectionMetrics> { static private AttributeResolver _attributes = new AttributeResolver() { @@ -80,7 +82,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb _state = state; } - String + public String getId() { if(_id == null) @@ -106,7 +108,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb return _id; } - String + public String getState() { switch(_state) @@ -127,7 +129,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb } } - String + public String getParent() { if(_connectionInfo.adapterName != null && !_connectionInfo.adapterName.isEmpty()) @@ -140,19 +142,19 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb } } - Ice.ConnectionInfo + public Ice.ConnectionInfo getConnectionInfo() { return _connectionInfo; } - Ice.Endpoint + public Ice.Endpoint getEndpoint() { return _endpoint; } - Ice.EndpointInfo + public Ice.EndpointInfo getEndpointInfo() { if(_endpointInfo == null) @@ -162,13 +164,13 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb return _endpointInfo; } - String + public String getEndpointEncodingVersion() { return Ice.Util.encodingVersionToString(getEndpointInfo().encoding); } - String + public String getEndpointProtocolVersion() { return Ice.Util.protocolVersionToString(getEndpointInfo().protocol); @@ -181,7 +183,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb private Ice.EndpointInfo _endpointInfo; }; - static private final class DispatchHelper extends MetricsHelper<DispatchMetrics> + static public final class DispatchHelper extends MetricsHelper<DispatchMetrics> { static private final AttributeResolver _attributes = new AttributeResolver() { @@ -230,13 +232,13 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb throw new IllegalArgumentException(attribute); } - String + public String getMode() { return _current.requestId == 0 ? "oneway" : "twoway"; } - String + public String getId() { if(_id == null) @@ -252,31 +254,31 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb return _id; } - String + public String getParent() { return _current.adapter.getName(); } - Ice.ConnectionInfo + public Ice.ConnectionInfo getConnectionInfo() { return _current.con.getInfo(); - } + } - Ice.Endpoint + public Ice.Endpoint getEndpoint() { return _current.con.getEndpoint(); } - Ice.Connection + public Ice.Connection getConnection() { return _current.con; } - Ice.EndpointInfo + public Ice.EndpointInfo getEndpointInfo() { if(_endpointInfo == null) @@ -286,25 +288,25 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb return _endpointInfo; } - String + public String getEndpointEncodingVersion() { return Ice.Util.encodingVersionToString(getEndpointInfo().encoding); } - String + public String getEndpointProtocolVersion() { return Ice.Util.protocolVersionToString(getEndpointInfo().protocol); } - Ice.Current + public Ice.Current getCurrent() { return _current; } - String + public String getIdentity() { return _current.adapter.getCommunicator().identityToString(_current.id); @@ -315,7 +317,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb private Ice.EndpointInfo _endpointInfo; }; - static private final class InvocationHelper extends MetricsHelper<InvocationMetrics> + static public final class InvocationHelper extends MetricsHelper<InvocationMetrics> { static private final AttributeResolver _attributes = new AttributeResolver() { @@ -365,7 +367,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb throw new IllegalArgumentException(attribute); } - String + public String getMode() { if(_proxy == null) @@ -399,7 +401,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb } } - String + public String getId() { if(_id == null) @@ -426,19 +428,19 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb return _id; } - String + public String getParent() { return "Communicator"; } - Ice.ObjectPrx + public Ice.ObjectPrx getProxy() { return _proxy; } - String + public String getIdentity() { if(_proxy != null) @@ -451,13 +453,13 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb } } - String + public String getOperation() { return _operation; } - String + public String getEncodingVersion() { return Ice.Util.encodingVersionToString(_proxy.ice_getEncodingVersion()); @@ -469,7 +471,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb private String _id; }; - static private final class ThreadHelper extends MetricsHelper<ThreadMetrics> + static public final class ThreadHelper extends MetricsHelper<ThreadMetrics> { static private final AttributeResolver _attributes = new AttributeResolver() { @@ -513,12 +515,12 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb } } - final String _parent; - final String _id; + final public String _parent; + final public String _id; final private Ice.Instrumentation.ThreadState _state; }; - static private final class EndpointHelper extends MetricsHelper<Metrics> + static public final class EndpointHelper extends MetricsHelper<Metrics> { static private final AttributeResolver _attributes = new AttributeResolver() { @@ -551,7 +553,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb _endpoint = endpt; } - Ice.EndpointInfo + public Ice.EndpointInfo getEndpointInfo() { if(_endpointInfo == null) @@ -561,25 +563,25 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb return _endpointInfo; } - String + public String getEndpointEncodingVersion() { return Ice.Util.encodingVersionToString(getEndpointInfo().encoding); } - String + public String getEndpointProtocolVersion() { return Ice.Util.protocolVersionToString(getEndpointInfo().protocol); } - String + public String getParent() { return "Communicator"; } - String + public String getId() { if(_id == null) @@ -589,7 +591,7 @@ public class CommunicatorObserverI implements Ice.Instrumentation.CommunicatorOb return _id; } - String + public String getEndpoint() { return _endpoint.toString(); diff --git a/java/src/IceMX/ConnectionObserverI.java b/java/src/IceInternal/ConnectionObserverI.java index 6371c06c2ba..4cb0edad9aa 100644 --- a/java/src/IceMX/ConnectionObserverI.java +++ b/java/src/IceInternal/ConnectionObserverI.java @@ -7,9 +7,10 @@ // // ********************************************************************** -package IceMX; +package IceInternal; -public class ConnectionObserverI extends Observer<ConnectionMetrics> implements Ice.Instrumentation.ConnectionObserver +public class ConnectionObserverI extends IceMX.Observer<IceMX.ConnectionMetrics> + implements Ice.Instrumentation.ConnectionObserver { public void sentBytes(final int num) @@ -25,19 +26,19 @@ public class ConnectionObserverI extends Observer<ConnectionMetrics> implements forEach(_receivedBytesUpdate); } - private MetricsUpdate<ConnectionMetrics> _sentBytesUpdate = new MetricsUpdate<ConnectionMetrics>() + private MetricsUpdate<IceMX.ConnectionMetrics> _sentBytesUpdate = new MetricsUpdate<IceMX.ConnectionMetrics>() { public void - update(ConnectionMetrics v) + update(IceMX.ConnectionMetrics v) { v.sentBytes += _sentBytes; } }; - private MetricsUpdate<ConnectionMetrics> _receivedBytesUpdate = new MetricsUpdate<ConnectionMetrics>() + private MetricsUpdate<IceMX.ConnectionMetrics> _receivedBytesUpdate = new MetricsUpdate<IceMX.ConnectionMetrics>() { public void - update(ConnectionMetrics v) + update(IceMX.ConnectionMetrics v) { v.receivedBytes += _receivedBytes; } diff --git a/java/src/IceMX/DispatchObserverI.java b/java/src/IceInternal/DispatchObserverI.java index bb41ea3a102..40527387f19 100644 --- a/java/src/IceMX/DispatchObserverI.java +++ b/java/src/IceInternal/DispatchObserverI.java @@ -7,9 +7,10 @@ // // ********************************************************************** -package IceMX; +package IceInternal; -public class DispatchObserverI extends Observer<DispatchMetrics> implements Ice.Instrumentation.DispatchObserver +public class DispatchObserverI extends IceMX.Observer<IceMX.DispatchMetrics> + implements Ice.Instrumentation.DispatchObserver { public void userException() @@ -17,10 +18,10 @@ public class DispatchObserverI extends Observer<DispatchMetrics> implements Ice. forEach(_userException); } - final MetricsUpdate<DispatchMetrics> _userException = new MetricsUpdate<DispatchMetrics>() + final MetricsUpdate<IceMX.DispatchMetrics> _userException = new MetricsUpdate<IceMX.DispatchMetrics>() { public void - update(DispatchMetrics v) + update(IceMX.DispatchMetrics v) { ++v.userException; } diff --git a/java/src/IceInternal/Instance.java b/java/src/IceInternal/Instance.java index 55119014184..b285a643822 100644 --- a/java/src/IceInternal/Instance.java +++ b/java/src/IceInternal/Instance.java @@ -772,7 +772,7 @@ public final class Instance (_adminFacetFilter.isEmpty() || _adminFacetFilter.contains("MetricsAdmin")) && _initData.properties.getProperty("Ice.Admin.Endpoints").length() > 0) { - IceMX.CommunicatorObserverI observer = new IceMX.CommunicatorObserverI(admin); + CommunicatorObserverI observer = new CommunicatorObserverI(admin); _initData.observer = observer; // diff --git a/java/src/IceMX/InvocationObserverI.java b/java/src/IceInternal/InvocationObserverI.java index 8c2d6cf1d32..9069fd47d0d 100644 --- a/java/src/IceMX/InvocationObserverI.java +++ b/java/src/IceInternal/InvocationObserverI.java @@ -7,11 +7,14 @@ // // ********************************************************************** -package IceMX; +package IceInternal; -public class InvocationObserverI extends Observer<InvocationMetrics> implements Ice.Instrumentation.InvocationObserver +import IceMX.*; + +public class InvocationObserverI extends IceMX.Observer<IceMX.InvocationMetrics> + implements Ice.Instrumentation.InvocationObserver { - static private final class RemoteInvocationHelper extends MetricsHelper<Metrics> + static public final class RemoteInvocationHelper extends MetricsHelper<Metrics> { static private final AttributeResolver _attributes = new AttributeResolver() { @@ -39,7 +42,7 @@ public class InvocationObserverI extends Observer<InvocationMetrics> implements _endpoint = endpt; } - String + public String getId() { if(_id == null) @@ -53,7 +56,7 @@ public class InvocationObserverI extends Observer<InvocationMetrics> implements return _id; } - String + public String getParent() { if(_connectionInfo.adapterName != null && !_connectionInfo.adapterName.isEmpty()) @@ -66,19 +69,19 @@ public class InvocationObserverI extends Observer<InvocationMetrics> implements } } - Ice.ConnectionInfo + public Ice.ConnectionInfo getConnectionInfo() { return _connectionInfo; } - Ice.Endpoint + public Ice.Endpoint getEndpoint() { return _endpoint; } - Ice.EndpointInfo + public Ice.EndpointInfo getEndpointInfo() { if(_endpointInfo == null) @@ -88,13 +91,13 @@ public class InvocationObserverI extends Observer<InvocationMetrics> implements return _endpointInfo; } - String + public String getEndpointEncodingVersion() { return Ice.Util.encodingVersionToString(getEndpointInfo().encoding); } - String + public String getEndpointProtocolVersion() { return Ice.Util.protocolVersionToString(getEndpointInfo().protocol); diff --git a/java/src/IceMX/ThreadObserverI.java b/java/src/IceInternal/ThreadObserverI.java index 79209c879e2..b0a8248bbdc 100644 --- a/java/src/IceMX/ThreadObserverI.java +++ b/java/src/IceInternal/ThreadObserverI.java @@ -7,9 +7,9 @@ // // ********************************************************************** -package IceMX; +package IceInternal; -public class ThreadObserverI extends Observer<ThreadMetrics> implements Ice.Instrumentation.ThreadObserver +public class ThreadObserverI extends IceMX.Observer<IceMX.ThreadMetrics> implements Ice.Instrumentation.ThreadObserver { public void stateChanged(final Ice.Instrumentation.ThreadState oldState, final Ice.Instrumentation.ThreadState newState) @@ -19,10 +19,10 @@ public class ThreadObserverI extends Observer<ThreadMetrics> implements Ice.Inst forEach(_threadStateUpdate); } - private MetricsUpdate<ThreadMetrics> _threadStateUpdate = new MetricsUpdate<ThreadMetrics>() + private MetricsUpdate<IceMX.ThreadMetrics> _threadStateUpdate = new MetricsUpdate<IceMX.ThreadMetrics>() { public void - update(ThreadMetrics v) + update(IceMX.ThreadMetrics v) { switch(_oldState) { diff --git a/java/src/IceMX/MetricsHelper.java b/java/src/IceMX/MetricsHelper.java index 32f820ae4fb..2a2c567ac08 100644 --- a/java/src/IceMX/MetricsHelper.java +++ b/java/src/IceMX/MetricsHelper.java @@ -11,7 +11,7 @@ package IceMX; public class MetricsHelper<T> { - static class AttributeResolver + public static class AttributeResolver { private abstract class Resolver { diff --git a/java/src/IceMX/Observer.java b/java/src/IceMX/Observer.java index 4e29fdb255d..105b093cce0 100644 --- a/java/src/IceMX/Observer.java +++ b/java/src/IceMX/Observer.java @@ -65,8 +65,9 @@ public class Observer<T extends Metrics> extends IceUtilInternal.StopWatch imple } public void - update(MetricsHelper<T> helper, java.util.List<MetricsMap<T>.Entry> objects) + init(MetricsHelper<T> helper, java.util.List<MetricsMap<T>.Entry> objects, Observer<T> previous) { + _objects = new java.util.LinkedList<MetricsMap<T>.Entry>(previous._objects); java.util.Collections.sort(objects); java.util.ListIterator<MetricsMap<T>.Entry> p = objects.listIterator(); java.util.ListIterator<MetricsMap<T>.Entry> q = _objects.listIterator(); diff --git a/java/src/IceMX/ObserverFactory.java b/java/src/IceMX/ObserverFactory.java index c1bf521985d..1082e0e134f 100644 --- a/java/src/IceMX/ObserverFactory.java +++ b/java/src/IceMX/ObserverFactory.java @@ -46,14 +46,14 @@ public class ObserverFactory<T extends Metrics, O extends Observer<T>> } } - synchronized O + public synchronized O getObserver(MetricsHelper<T> helper, Class<O> cl) { return getObserver(helper, null, cl); } @SuppressWarnings("unchecked") - synchronized O + public synchronized O getObserver(MetricsHelper<T> helper, Object observer, Class<O> cl) { @@ -73,23 +73,22 @@ public class ObserverFactory<T extends Metrics, O extends Observer<T>> } O obsv; + try + { + obsv = cl.newInstance(); + } + catch(Exception ex) + { + assert(false); + return null; + } if(observer == null) { - try - { - obsv = cl.newInstance(); - } - catch(Exception ex) - { - assert(false); - return null; - } obsv.init(helper, metricsObjects); } else { - obsv = (O)observer; - obsv.update(helper, metricsObjects); + obsv.init(helper, metricsObjects, (O)observer); } return obsv; } @@ -127,7 +126,7 @@ public class ObserverFactory<T extends Metrics, O extends Observer<T>> } } - synchronized void + public synchronized void setUpdater(Runnable updater) { _updater = updater; diff --git a/java/test/Ice/metrics/AllTests.java b/java/test/Ice/metrics/AllTests.java index 13e63eca87d..4b086859b3f 100644 --- a/java/test/Ice/metrics/AllTests.java +++ b/java/test/Ice/metrics/AllTests.java @@ -622,10 +622,10 @@ public class AllTests test(m1.current == 0 && m1.total == 1 && m1.id.equals("127.0.0.1:12010")); metrics.ice_getConnection().close(false); - + controller.hold(); try { - communicator.stringToProxy("test:tcp -p 12010 -h 127.0.0.50").ice_timeout(10).ice_ping(); + communicator.stringToProxy("test:tcp -p 12010 -h 127.0.0.1").ice_timeout(10).ice_ping(); test(false); } catch(Ice.ConnectTimeoutException ex) @@ -635,9 +635,10 @@ public class AllTests { test(false); } - test(clientMetrics.getMetricsView("View", timestamp).get("ConnectionEstablishment").length == 2); + controller.resume(); + test(clientMetrics.getMetricsView("View", timestamp).get("ConnectionEstablishment").length == 1); m1 = clientMetrics.getMetricsView("View", timestamp).get("ConnectionEstablishment")[0]; - test(m1.id.equals("127.0.0.50:12010") && m1.total == 2 && m1.failures == 2); + test(m1.id.equals("127.0.0.1:12010") && m1.total == 3 && m1.failures == 2); checkFailure(clientMetrics, "ConnectionEstablishment", m1.id, "Ice::ConnectTimeoutException", 2, out); |