Tibco EMS Topics Test

Topics are a distribution mechanism for publishing messages that are delivered to multiple subscribers. A topic's properties are set when the destination is created. The publisher generally addresses messages to a topic. Many publishers can publish to the same topic, and a message from a single publisher can be received by many subscribers. Subscribers subcribe to topics and all messages published to the topic are received by all subscribers to the topic.

This test allows you to keep tabs on the number and size of pending messages to each topic, so that you can accurately identify topics to which too many messages are pending and investigate the reasons for the same. In addition, the test reports the topic type and the number of subscribers to a topic, so that you can easily determine how popular the topic is.

Target of the test : A Tibco EMS Server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each topic on the Tibco EMS server being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.


The IP address of the host for which this test is to be configured.


Refers to the port at which the specified host listens to.


Prior to monitoring the Tibco EMS server, you will have to build a .bat or .sh file (depending upon the operating system on which Tibco EMS is functioning) bundled with the commands that the eG agent needs to execute on the Tibco EMS server for collecting the required metrics. The commands to be invoked by the .bat or .sh file are provided in How does eG Enterprise Monitor Tibco EMS?.

The .bat/.sh file so created can be saved to any location on the Tibco EMS host. Then, while configuring this test, make sure you provide the full path to this .bat or .sh file in the CommandPath text box so that, the agent can execute the file, invoke the commands bundled into it, and extract the desired metrics from the server.

Ignore Topics

Specify a comma-separated list of topics to be excluded from monitoring in the Ignore Topics text box. A * can be used in the topic name to indicate leading or trailing spaces. For instance, to Ignore Topics with names that embed the string sys, your Ignore Topics specification can be: *sys*  

Measurements made by the test
Measurement Description Measurement Unit Interpretation


Indicates the number of current subscribers to this topic.


The value reported by this measure includes the number of durable subscribers as well. This measure therefore is a good indicator of how popular a particular topic is.


Indicates the number of durable subscribers to this topic.



Pending messages

Indicates the number of messages on this topic waiting to be delivered to subscribers.



If the value of this measure increases significantly over time, it could mean that more messages are still waiting to be delivered to subscribers. This could primarily be because, while the publishers are sending messages to the topic quickly, the subscriber is not receiving the messages quiet as quickly. One of the reasons for this slowdown could be a network connectivity issue between the subscriber and the EMS server - a poor network link could be delaying message delivery at one end, while on the other end, the topic may be experiencing a major influx of messages from the publisher. The pending message count can also increase, if a topic has durable subscribers, and one/more of these subscriber have been offline for a long time. During this period of inactivity, existing messages will remain undelivered on the server, and more messages may continue to be published to the topic by the publisher, thereby increasing the pending message count. However, regardless of the reason, the number of pending messages should be kept under control at all times, as they consume considerable server resources.

Messages size

Indicates the total size of pending messages.


If the size grows significantly over time, it could indicate that messages are getting published on the topic but are not being delivered to subscribers quiet as quickly. As already mentioned, the slowdown in delivery can be attributed to the durable subscriber being offline for a long time. Practical issues - such as bad network links - faced by subscribers while receiving messages from the topic can also delay/halt delivery. Regardless of the root cause, the message size should not be allowed to grow uncontrollably, as it may cause a serious resource contention on the server. To limit the growth of pending messages on a topic, use the maxBytes configuration for that topic. For topics, maxBytes limits the total size (in bytes) of all messages waiting for delivery to each durable subscriber on that topic. If this limit is violated, then messages will be go undelivered, thus causing the receivers to lose critical data.


Indicates whether the topic is static or not.


The value 0 for this measure indicates that the topic is in static state and the value 1 for this measure indicates that it is in a non-static (i.e., dynamic or temporary) state. A static topic is typically created statically in the server configuration files, and the dynamic topic is created on-the-fly by applications. The dynamic topics do not appear in the configuration files, and exist as long as there are messages or consumers on the destination. You can identify dynamic topics in the administration tool using the asterisk (*) that will pre-fix their names. Servers connected by routes exchange messages sent to temporary topics. As a result, temporary topics are ideal destinations for reply messages in request/reply interactions.