Just a second...

Statistics

Diffusion™ can provide statistics in three ways: via MBeans, via the Publisher API, and via Prometheus-compatible endpoints. Statistics provide information about the server, clients and topics.

Statistics exposed by MBeans

Diffusion provides a set of statistics as MBeans. For more information about these statistics, see MBeans.

These statistics can be accessed in the following ways:
Note: By default, JMX reporting and some detailed statistics are disabled for performance reasons. Use etc/Statistics.xml to configure this: see Configuring statistics.

You can configure Diffusion to report the top-level statistics through JMX. These statistics appear under com.pushtechnology.diffusion.metrics. Reporting statistics through JMX can have a significant performance impact. Ensure that you test how using MBeans for statistics affects your solution.

The following is a list of all the top level statistics and their attributes.

  • clients.concurrent
    • Count
  • clients.concurrent_max
    • Value
  • client.connections
    • Count
    • FifteenMinuteRate
    • FiveMinuteRate
    • MeanRate
    • OneMinuteRate
  • clients.disconnections
    • Count
    • FifteenMinuteRate
    • FiveMinuteRate
    • MeanRate
    • OneMinuteRate
  • eventpublishers.concurrent
    • Count
  • eventpublishers.connections
    • Count
    • FifteenMinuteRate
    • FiveMinuteRate
    • MeanRate
    • OneMinuteRate
  • eventpublishers.disconnections
    • Count
    • FifteenMinuteRate
    • FiveMinuteRate
    • MeanRate
    • OneMinuteRate
  • publishers.loaded
    • Count
  • publishers.started
    • Count
  • server.client_subscriptions
    • Count
  • server.inbound.messages
    • Count
  • server.inbound.bytes
    • Count
  • server.outbound.messages
    • Count
  • server.outbound.bytes
    • Count
  • topics.additions
    • Count
    • FifteenMinuteRate
    • FiveMinuteRate
    • MeanRate
    • OneMinuteRate
  • topics.count
    • Count
  • topics.deletions
    • Count
    • FifteenMinuteRate
    • FiveMinuteRate
    • MeanRate
    • OneMinuteRate
In all top-level statistics, attributes have the following values:
Count
The total number of items or events of this type over the lifetime of the metric.
MeanRate
The count divided by the lifetime of the metric.
OneMinuteRate, FiveMinuteRate, FifteenMinuteRate
A moving average across the given time period that is exponentially weighted towards new data.

Statistics via Prometheus endpoints

and provide statistics as endpoints compatible with the Prometheus monitoring tool.

You must have a license for or to use this feature.

Use http://localhost:8080/metrics to access Prometheus statistics. If not accessing from the same machine as the Diffusion server, replace localhost with the IP address or hostname.

Note: By default, some statistics are disabled for performance reasons. Use etc/Statistics.xml to configure the statistics that are available: see Configuring statistics.

You can access an individual metric with: localhost:8080/metrics?name[]=diffusion_publishers_diffusion_outbound_bytes.

Statistics in the Publisher API

You can get some statistics from the Publisher API. For more information, see the Java API documentation.

The following statistics are provided through the Publisher API:
  • PublisherStatistics
    • InboundClientMessageStatistics
      • AverageMessageSize
      • BytesOnWire
      • NumberOfMessages
    • OutboundMessageStatistics
      • AverageMessageSize
      • BytesOnWire
      • NumberOfMessages
  • ClientStatistics
    • InboundMessageStatistics
      • AverageMessageSize
      • BytesOnWire
      • NumberOfMessages
    • OutboundMessageStatistics
      • AverageMessageSize
      • BytesOnWire
      • NumberOfMessages
  • TopicStatistics
    • InboundMessageStatistics
      • AverageMessageSize
      • BytesOnWire
      • NumberOfMessages
    • OutboundMessageStatistics
      • AverageMessageSize
      • BytesOnWire
      • NumberOfMessages
    • TotalNumberOfSubscribers