IceStorm Metrics

You can monitor IceStorm using the Administrative Facility and the Metrics Facet. IceStorm provides two metrics class to monitor topic and subscriber related metrics. These classes are defined in IceStorm/Metrics.ice and are shown below.
Slice
namespace IceMX {
class TopicMetrics extends Metrics {
    long published = 0;
    long forwarded = 0;
};
class SubscriberMetrics extends Metrics {
    int queued = 0;
    int outstanding = 0; 
    long delivered = 0;
};
};

IceStorm records metrics in the metrics map described below.

Metrics map nameSlice classDescriptionProperty prefix
TopicIceMX::TopicMetricsTopic metricsIceMX.Metrics.view-name.Map.Topic
SubscriberIceMX::SubscriberMetricsSubscriber metricsIceMX.Metrics.view-name.Map.Subscriber

To configure a metrics view to record IceStorm topic and subscriber you can use for example:

  • IceMX.Metrics.IceStormView.Map.Topic.GroupBy=id
  • IceMX.Metrics.IceStormView.Map.Subscriber.GroupBy=id

This will configure a view containing only the Topic and Subscriber maps. All the topics and subscribers from the IceStorm service will be monitored individually with separate metrics object.

You can use the following attributes when configuring the IceStorm Topic map:

NameDescription
idThe id is the topic name.
parentThe IceStorm service name.
noneThe empty string.
topicThe topic name.
serviceThe IceStorm service name.

The Subscriber map can be configured with the following attributes:

NameDescription
idThe id of the subscriber metrics is the stringified proxy of the subscriber.
parentThe name of the topic name to which this subscriber belongs.
noneThe empty string.
topicThe name of the topic name to which this subscriber belongs.
serviceThe IceStorm service name.
identityThe identity of the subscriber proxy.
facetThe facet of the subscriber proxy.
encodingThe encoding of the subscriber proxy.
modeThe mode of the subscriber proxy.
proxyThe subscriber proxy.
linkThe proxy of the topic linked to the the topic which owns this subscriber.
stateThe state of the subscriber. It can either be "online", "offline" or "error".

See Also