Is it possible to track messages in each topic and queue level

Hi Team,
Can you please help us, is it possible to track messages in each topic and queue level (how many messages consume topic/queue level per day).


  • TomF
    TomF Member, Employee Posts: 405 Solace Employee
    edited December 2019 #2

    You can certainly track message consumption at the queue level. Queue level statistics tell you how many messages have been received and delivered - just select the GUI in Pubsub+ Manager, and go to the Statistics tab. You can also get current message rates there.

    Tracking at the Topic level is a bit more difficult. Solace topics are dynamic - each message can have a different topic. With a 250 character UTF-8 string topic, that's as close to an infinite number of possibilities as makes no difference. So storing "how many messages are sent to a topic" would mean an effectively infinite amount of storage. All is not lost, though: with the power of wildcard subscriptions, you could create an application that subscribes to ">" and create a way to store the data you're interested in.

    Also, keep an eye on the Solace Event Horizon initiative - this aims to address issues like this.

  • Muddam_Pullaiah
    Muddam_Pullaiah Member Posts: 20

    I know in Queue level it showing real time, so I want know total messages count per day.. ( like how many messages received in Solace queue per day,if yes, is there any script??)

  • Abhikesh
    Abhikesh Member Posts: 34 ✭✭
    edited December 2019 #4

    @Muddam_Pullaiah To add further, If your requirement is just to know how many messages pass from particular queue, You can use Solace SEMP and run it on specific time to gather Queue level statistics .
    You need to gather Queue level statistics for messages received and delivered via Solace SEMP and run the same on next day, now whatever difference in received and delivered under statistics , that will be your total messages received and sent for queue during those interval.
    You can use Crone Job to schedule this.

  • dreamoka
    dreamoka Member Posts: 36 ✭✭✭

    Does the message broker able to know what message send to client including the sent time if the client subscribe to queue?

  • TomF
    TomF Member, Employee Posts: 405 Solace Employee

    @dreamoka the broker itself doesn't store individual per message data like this.

    But fear not! Distributed Tracing gathers just this sort of information, including when the message was sent from the queue to the client and when the client acknowledged the message. For more details, see the DT docs.

  • dreamoka
    dreamoka Member Posts: 36 ✭✭✭

    @TomF does PubSub+ Event Broker has this feature?

  • TomF
    TomF Member, Employee Posts: 405 Solace Employee

    @dreamoka it sure does! Distributed Tracing is a broker feature where the broker emits OpenTelemetry information, tracking messages as they progress through the broker. You'll need tools, such as Jaeger, to process the OpenTelemtry data.

    See the feature description.