summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ObserverI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ObserverI.cpp')
-rw-r--r--cpp/src/Ice/ObserverI.cpp94
1 files changed, 40 insertions, 54 deletions
diff --git a/cpp/src/Ice/ObserverI.cpp b/cpp/src/Ice/ObserverI.cpp
index f9e87eeed1a..7b6fb727d6e 100644
--- a/cpp/src/Ice/ObserverI.cpp
+++ b/cpp/src/Ice/ObserverI.cpp
@@ -274,36 +274,31 @@ private:
DispatchRequestHelper::Attributes DispatchRequestHelper::attributes;
-class InvocationRequestHelper : public MetricsHelperT<Metrics>
+class InvocationHelper : public MetricsHelperT<Metrics>
{
public:
- class Attributes : public AttributeResolverT<InvocationRequestHelper>
+ class Attributes : public AttributeResolverT<InvocationHelper>
{
public:
Attributes()
{
- add("parent", &InvocationRequestHelper::getParent);
- add("id", &InvocationRequestHelper::getId);
-
- addConnectionAttributes<InvocationRequestHelper>(*this);
-
- add("operation", &InvocationRequestHelper::_operation);
- add("identityCategory", &InvocationRequestHelper::getIdentity, &Identity::category);
- add("identityName", &InvocationRequestHelper::getIdentity, &Identity::name);
- add("facet", &InvocationRequestHelper::getProxy, &IceProxy::Ice::Object::ice_getFacet);
- add("encoding", &InvocationRequestHelper::getProxy, &IceProxy::Ice::Object::ice_getEncodingVersion);
- add("mode", &InvocationRequestHelper::getMode);
+ add("parent", &InvocationHelper::getParent);
+ add("id", &InvocationHelper::getId);
+
+ add("operation", &InvocationHelper::_operation);
+ add("identityCategory", &InvocationHelper::getIdentity, &Identity::category);
+ add("identityName", &InvocationHelper::getIdentity, &Identity::name);
+ add("facet", &InvocationHelper::getProxy, &IceProxy::Ice::Object::ice_getFacet);
+ add("encoding", &InvocationHelper::getProxy, &IceProxy::Ice::Object::ice_getEncodingVersion);
+ add("mode", &InvocationHelper::getMode);
}
};
static Attributes attributes;
- InvocationRequestHelper(const Ice::ObjectPrx& proxy,
- const string& op,
- const Ice::Context& ctx,
- const Ice::ConnectionPtr& con) :
- _proxy(proxy), _operation(op), _context(ctx), _connection(con)
+ InvocationHelper(const Ice::ObjectPrx& proxy, const string& op, const Ice::Context& ctx = Ice::Context()) :
+ _proxy(proxy), _operation(op), _context(ctx)
{
}
@@ -378,25 +373,6 @@ public:
return _proxy;
}
- ::Ice::ConnectionInfoPtr
- getConnectionInfo() const
- {
- if(!_connection)
- {
- return 0;
- }
- return _connection->getInfo();
- }
-
- ::Ice::EndpointInfoPtr
- getEndpointInfo() const
- {
- if(!_connection)
- {
- return 0;
- }
- return _connection->getEndpoint()->getInfo();
- }
Identity
getIdentity() const
@@ -409,10 +385,9 @@ private:
const ObjectPrx& _proxy;
string _operation;
const Ice::Context& _context;
- const Ice::ConnectionPtr& _connection;
};
-InvocationRequestHelper::Attributes InvocationRequestHelper::attributes;
+InvocationHelper::Attributes InvocationHelper::attributes;
class ThreadHelper : public MetricsHelperT<ThreadMetrics>
{
@@ -575,12 +550,24 @@ ThreadObserverI::stateChanged(ThreadState oldState, ThreadState newState)
forEach(StateChanged(oldState, newState));
}
+void
+InvocationObserverI::retried()
+{
+ forEach(inc(&InvocationMetrics::retry));
+}
+
+ObserverPtr
+InvocationObserverI::getRemoteInvocationObserver(const Ice::ConnectionPtr&)
+{
+ return 0;
+}
+
ObserverResolverI::ObserverResolverI(const MetricsAdminIPtr& metrics) :
_metrics(metrics),
_connections("Connection", metrics),
- _requests("Request", metrics),
+ _dispatch("Dispatch", metrics),
+ _invocations("Invocation", metrics),
_threads("Thread", metrics),
- _locatorQueries("LocatorQuery", metrics),
_connects("Connect", metrics),
_endpointResolves("EndpointResolve", metrics)
{
@@ -594,12 +581,6 @@ ObserverResolverI::setObserverUpdater(const ObserverUpdaterPtr& updater)
}
Ice::Instrumentation::ObserverPtr
-ObserverResolverI::getLocatorQueryObserver(const string& adapterId)
-{
- return 0;
-}
-
-Ice::Instrumentation::ObserverPtr
ObserverResolverI::getConnectObserver(const Ice::EndpointInfoPtr& endpt, const string& connector)
{
return _connects.getObserver(ConnectHelper(endpt, connector));
@@ -629,17 +610,22 @@ ObserverResolverI::getThreadObserver(const string& parent,
return _threads.getObserver(ThreadHelper(parent, id, state), observer);
}
-ObserverPtr
-ObserverResolverI::getInvocationObserver(const ObjectPrx& proxy,
- const string& op,
- const Context& ctx,
- const ConnectionPtr& con)
+InvocationObserverPtr
+ObserverResolverI::getInvocationObserver(const ObjectPrx& proxy, const string& op)
+{
+ return _invocations.getObserver(InvocationHelper(proxy, op));
+}
+
+InvocationObserverPtr
+ObserverResolverI::getInvocationObserverWithContext(const ObjectPrx& proxy,
+ const string& op,
+ const Context& ctx)
{
- return _requests.getObserver(InvocationRequestHelper(proxy, op, ctx, con));
+ return _invocations.getObserver(InvocationHelper(proxy, op, ctx));
}
ObserverPtr
ObserverResolverI::getDispatchObserver(const Current& current)
{
- return _requests.getObserver(DispatchRequestHelper(current));
+ return _dispatch.getObserver(DispatchRequestHelper(current));
}