A customer asked me an interesting question - how to work out how many times an MSMQ Multicast message has to be retransmitted when the receiving client detects one is missing?

The Performance Monitor counters for Multicast are a bit slim:

  • "MSMQ Incoming Multicast Session" (normal throughput data - bytes/sec and cumulative total)
  • "MSMQ Outgoing Multicast Session" (normal throughput data - bytes/sec and cumulative total)
  • "MSMQ Server\Incoming Multicast Sessions" (current number of sessions)
  • "MSMQ Server\Outgoing Multicast Sessions" (current number of sessions)

 so no data on error rates.

The data can, in theory, be exposed by writing code to make use of the IPPROTO_RM Socket Options:

Option - RM_SENDER_STATISTICS 
Optval Type - RM_SENDER_STATS

Option - RM_RECEIVER_STATISTICS
Optval Type - RM_RECEIVER_STATS

but I expect this would have to be added to the MSMQ or RMCAST services - not something a customer can do.

I'll see if there is some other approach we can try or, failing that, if this can be added to the wishlist for MSMQ 6.0.