diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-09-11 13:02:32 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-09-11 13:02:32 +0200 |
commit | cedcb5c1047b94890c80a2d71afb808898233b9b (patch) | |
tree | 637b78cd06171738a3300043b0af43b43d17b0dc /cpp/src/IceStorm/Instance.cpp | |
parent | Merge remote-tracking branch 'origin/encoding11' into withoutsync (diff) | |
download | ice-cedcb5c1047b94890c80a2d71afb808898233b9b.tar.bz2 ice-cedcb5c1047b94890c80a2d71afb808898233b9b.tar.xz ice-cedcb5c1047b94890c80a2d71afb808898233b9b.zip |
Support for IceBox services MetricsAdmin and IceStorm metrics
Diffstat (limited to 'cpp/src/IceStorm/Instance.cpp')
-rw-r--r-- | cpp/src/IceStorm/Instance.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cpp/src/IceStorm/Instance.cpp b/cpp/src/IceStorm/Instance.cpp index db9446b93cc..1f6b07dd467 100644 --- a/cpp/src/IceStorm/Instance.cpp +++ b/cpp/src/IceStorm/Instance.cpp @@ -12,8 +12,10 @@ #include <IceStorm/DB.h> #include <IceStorm/Observers.h> #include <IceStorm/NodeI.h> +#include <IceStorm/InstrumentationI.h> #include <IceUtil/Timer.h> +#include <Ice/InstrumentationI.h> #include <Ice/Communicator.h> #include <Ice/Properties.h> @@ -67,6 +69,16 @@ Instance::Instance( _observers = new Observers(this); _batchFlusher = new IceUtil::Timer(); _timer = new IceUtil::Timer(); + + // + // If an Ice metrics are setup on the communicator, also + // enable metrics for IceStorm. + // + IceMX::CommunicatorObserverIPtr o = IceMX::CommunicatorObserverIPtr::dynamicCast(communicator->getObserver()); + if(o) + { + _observer = new IceMX::TopicManagerObserverI(o->getMetricsAdmin()); + } } catch(...) { @@ -186,6 +198,12 @@ Instance::connectionPool() const return _connectionPool; } +IceStorm::Instrumentation::TopicManagerObserverPtr +Instance::observer() const +{ + return _observer; +} + IceUtil::Time Instance::discardInterval() const { |