The c++ broker reports a queue depth in terms of total bytes, as well as the number of messages.

For 0-10 the bytes statistic is calculated by aggregating only the content size (i.e. the size of the body segment). For 1.0 it is the whole message including properties etc (i.e. the payload of the transfer 'performative').

So the size will be different depending on the protocol used in sending it and this difference can be quite marked. E.g. in an extreme case where there are many headers but no content, the bytes reported if sent over 0-10 would be 0 whereas if sent over 1.0 could easily be several hundred bytes.

The question is what to do about this. The options are (a) accept that they are inconsistent between versions, (b) modify the 1.0 path to only record the application-data or (c) modify the 0-10 path to include the size of the header segment.

While (c) seems to me to be logical the most 'correct', it would be a difference in behaviour. It would mean for example that any queue limits would be hit earlier. One could argue that would be an improvement, but it may cause issues for systems when upgrading.

The purpose of this mail is to solicit some feedback from users as to which of these options (or indeed other options that have not occurred to me) would be preferable.

--Gordon.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to