16#ifndef __IceStorm_Metrics_h__
17#define __IceStorm_Metrics_h__
40#ifndef ICE_IGNORE_VERSION
41# if ICE_INT_VERSION / 100 != 307
42# error Ice version mismatch!
44# if ICE_INT_VERSION % 100 >= 50
45# error Beta header file detected
47# if ICE_INT_VERSION % 100 < 11
48# error Ice patch level mismatch!
53# if defined(ICE_STATIC_LIBS)
55# elif defined(ICESTORM_API_EXPORTS)
56# define ICESTORM_API ICE_DECLSPEC_EXPORT
58# define ICESTORM_API ICE_DECLSPEC_IMPORT
62#ifdef ICE_CPP11_MAPPING
68class SubscriberMetrics;
79class ICE_CLASS(ICESTORM_API) TopicMetrics :
public ::Ice::ValueHelper<TopicMetrics, Metrics>
85 TopicMetrics() =
default;
87 TopicMetrics(
const TopicMetrics&) =
default;
88 TopicMetrics(TopicMetrics&&) =
default;
89 TopicMetrics& operator=(
const TopicMetrics&) =
default;
90 TopicMetrics& operator=(TopicMetrics&&) =
default;
102 TopicMetrics(const ::std::string&
id,
long long int total,
int current,
long long int totalLifetime,
int failures,
long long int published,
long long int forwarded) :
103 Ice::ValueHelper<TopicMetrics, Metrics>(id, total, current, totalLifetime, failures),
104 published(published),
113 std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const long long int&, const long long int&> ice_tuple()
const
115 return std::tie(
id, total, current, totalLifetime, failures, published, forwarded);
127 long long int published = 0LL;
131 long long int forwarded = 0LL;
135static TopicMetrics _iceS_TopicMetrics_init;
142class ICE_CLASS(ICESTORM_API) SubscriberMetrics :
public ::Ice::ValueHelper<SubscriberMetrics, Metrics>
148 SubscriberMetrics() =
default;
150 SubscriberMetrics(
const SubscriberMetrics&) =
default;
151 SubscriberMetrics(SubscriberMetrics&&) =
default;
152 SubscriberMetrics& operator=(
const SubscriberMetrics&) =
default;
153 SubscriberMetrics& operator=(SubscriberMetrics&&) =
default;
166 SubscriberMetrics(const ::std::string&
id,
long long int total,
int current,
long long int totalLifetime,
int failures,
int queued,
int outstanding,
long long int delivered) :
167 Ice::ValueHelper<SubscriberMetrics, Metrics>(id, total, current, totalLifetime, failures),
169 outstanding(outstanding),
178 std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const int&, const int&, const long long int&> ice_tuple()
const
180 return std::tie(
id, total, current, totalLifetime, failures, queued, outstanding, delivered);
200 long long int delivered = 0LL;
215struct StreamWriter<::IceMX::TopicMetrics, S>
217 static void write(S* ostr, const ::IceMX::TopicMetrics& v)
219 ostr->writeAll(v.published, v.forwarded);
224struct StreamReader<::IceMX::TopicMetrics, S>
226 static void read(S* istr, ::IceMX::TopicMetrics& v)
233struct StreamWriter<::IceMX::SubscriberMetrics, S>
235 static void write(S* ostr, const ::IceMX::SubscriberMetrics& v)
237 ostr->writeAll(v.queued, v.outstanding, v.delivered);
242struct StreamReader<::IceMX::SubscriberMetrics, S>
244 static void read(S* istr, ::IceMX::SubscriberMetrics& v)
274ICESTORM_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< TopicMetrics>&);
275ICESTORM_API ::IceProxy::Ice::Object*
upCast(TopicMetrics*);
278class SubscriberMetrics;
280ICESTORM_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< SubscriberMetrics>&);
281ICESTORM_API ::IceProxy::Ice::Object*
upCast(SubscriberMetrics*);
293ICESTORM_API ::Ice::Object*
upCast(TopicMetrics*);
404#ifdef ICE_CPP11_COMPILER
477inline bool operator<(
const TopicMetrics& lhs,
const TopicMetrics& rhs)
523#ifdef ICE_CPP11_COMPILER
600inline bool operator<(
const SubscriberMetrics& lhs,
const SubscriberMetrics& rhs)
613struct StreamWriter< ::IceMX::TopicMetrics, S>
615 static void write(S* ostr, const ::IceMX::TopicMetrics& v)
617 ostr->write(v.published);
618 ostr->write(v.forwarded);
623struct StreamReader< ::IceMX::TopicMetrics, S>
625 static void read(S* istr, ::IceMX::TopicMetrics& v)
633struct StreamWriter< ::IceMX::SubscriberMetrics, S>
635 static void write(S* ostr, const ::IceMX::SubscriberMetrics& v)
637 ostr->write(v.queued);
638 ostr->write(v.outstanding);
639 ostr->write(v.delivered);
644struct StreamReader< ::IceMX::SubscriberMetrics, S>
646 static void read(S* istr, ::IceMX::SubscriberMetrics& v)
#define ICESTORM_API
Definition Metrics.h:58
#define ICE_INT64(n)
Definition Config.h:343
#define ICE_MEMBER(API)
Definition Config.h:177
::Ice::Int current
The number of objects currently observed by this metrics.
Definition Metrics.h:2550
::Ice::Long totalLifetime
The sum of the lifetime of each observed objects.
Definition Metrics.h:2556
::std::string id
The metrics identifier.
Definition Metrics.h:2540
Metrics()
Default constructor that assigns default values to members as specified in the Slice definition.
Definition Metrics.h:2458
::Ice::Int failures
The number of failures observed.
Definition Metrics.h:2560
::Ice::Long total
The total number of objects observed by this metrics.
Definition Metrics.h:2546
Provides information on IceStorm subscribers.
Definition Metrics.h:488
SubscriberMetrics(const ::std::string &id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Int queued, ::Ice::Int outstanding, ::Ice::Long delivered)
One-shot constructor to initialize all data members.
Definition Metrics.h:515
virtual ~SubscriberMetrics()
SubscriberMetrics()
Default constructor that assigns default values to members as specified in the Slice definition.
Definition Metrics.h:497
virtual::Ice::ObjectPtr ice_clone() const
Polymorphically clones this object.
::Ice::ValueFactoryPtr ice_factory()
Obtains a value factory that instantiates this class.
virtual const ::std::string & ice_id(const ::Ice::Current ¤t=::Ice::emptyCurrent) const
Obtains a Slice type ID representing the most-derived interface supported by this object.
::Ice::Int outstanding
Number of outstanding events.
Definition Metrics.h:584
virtual ::std::vector< ::std::string > ice_ids(const ::Ice::Current ¤t=::Ice::emptyCurrent) const
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
SubscriberMetricsPtr PointerType
Definition Metrics.h:492
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
::Ice::Long delivered
Number of forwarded events.
Definition Metrics.h:588
SubscriberMetricsPrx ProxyType
Definition Metrics.h:491
virtual bool ice_isA(const ::std::string &id, const ::Ice::Current ¤t=::Ice::emptyCurrent) const
Determines whether this object supports an interface with the given Slice type ID.
::Ice::Int queued
Number of queued events.
Definition Metrics.h:580
Provides information on IceStorm topics.
Definition Metrics.h:372
TopicMetrics(const ::std::string &id, ::Ice::Long total, ::Ice::Int current, ::Ice::Long totalLifetime, ::Ice::Int failures, ::Ice::Long published, ::Ice::Long forwarded)
One-shot constructor to initialize all data members.
Definition Metrics.h:397
::Ice::Long forwarded
Number of events forwarded on the topic by IceStorm topic links.
Definition Metrics.h:465
TopicMetrics()
Default constructor that assigns default values to members as specified in the Slice definition.
Definition Metrics.h:381
virtual ::std::vector< ::std::string > ice_ids(const ::Ice::Current ¤t=::Ice::emptyCurrent) const
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
TopicMetricsPrx ProxyType
Definition Metrics.h:375
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
virtual const ::std::string & ice_id(const ::Ice::Current ¤t=::Ice::emptyCurrent) const
Obtains a Slice type ID representing the most-derived interface supported by this object.
::Ice::Long published
Number of events published on the topic by publishers.
Definition Metrics.h:461
virtual::Ice::ObjectPtr ice_clone() const
Polymorphically clones this object.
virtual bool ice_isA(const ::std::string &id, const ::Ice::Current ¤t=::Ice::emptyCurrent) const
Determines whether this object supports an interface with the given Slice type ID.
::Ice::ValueFactoryPtr ice_factory()
Obtains a value factory that instantiates this class.
TopicMetricsPtr PointerType
Definition Metrics.h:376
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
The base class for servants.
Definition Object.h:193
Interface for output streams used to create a sequence of bytes from Slice types.
Definition OutputStream.h:28
Helper template that supplies proxy factory functions.
Definition Proxy.h:2904
SubscriberMetricsPrx SubscriberMetricsPrxPtr
Definition Metrics.h:308
TopicMetricsPrx TopicMetricsPrxPtr
Definition Metrics.h:297
::IceInternal::ProxyHandle< ::IceProxy::IceMX::TopicMetrics > TopicMetricsPrx
Definition Metrics.h:296
::IceInternal::ProxyHandle< ::IceProxy::IceMX::SubscriberMetrics > SubscriberMetricsPrx
Definition Metrics.h:307
::IceInternal::Handle< TopicMetrics > TopicMetricsPtr
Definition Metrics.h:295
::IceInternal::Handle< SubscriberMetrics > SubscriberMetricsPtr
Definition Metrics.h:306
int Int
The mapping for the Slice int type.
Definition Config.h:54
IceUtil::Int64 Long
The mapping for the Slice long type.
Definition Config.h:60
const Current emptyCurrent
A default-initialized Current instance.
IceUtil::Shared * upCast(::Ice::AsyncResult *)