Improve ConnectionStatistics to report per-protocol information
- Dominant language
- Java
- Stars
- 4.1k
- Forks
- 2k
- Avg merge
- 3d 56m
- Merged PRs (30d)
- 48
Description
Currently, `ConnectionStatistics` listens to the "connection closed" event, and when it happens it retrieves the connection information from the `Connection` object passed in the event.
Would be great if this information could be split per-protocol.
This would involve:
1. a new `Connection.getProtocol()` method so that it would be possible to know what protocol was that connection speaking
1. a different implementation of `ConnectionStatistics` to store per-protocol information (as well as the totals)
1. Possibly a `ConnectionStatisticsMBean` that displays the per-protocol data in a JMX friendly way. JMX's `CompositeType` represents a struct; in this case it can have these fields: `[protocol, bytesIn, bytesOut, messagesIn, messagesOut]`. JMX's `CompositeData` is an instance of the struct with the actual values for those fields. JMX's `TabularData` is a `Map` where you can map a `String` to a `CompositeData` (I think - this class is so obscure I completely forgotten it was so obscure). Point being that either via an array of `CompositeData`, or via `TabularData` we can return the connection information split by protocol.
Contributor guide
Assessment
This issue has not been assessed yet.