Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Abandoned
-
None
-
None
-
None
Description
Being able to tap into the flow of messages on a TransportConnection would greatly help with diagnosing problems such as complaints from clients that they are not receiving messages.
Think "tcpdump" for broker traffic.
A rough, working prototype will be attached.
The idea in the prototype is a new Connector on the BrokerService which does the following:
- accepts connections from a wire-tap tool (application)
- accepts a request to tap a specific TransportConnection
- adds a tap to the TransportConnection (requires change to TransportConnection)
- sends a copy of every command sent over the connection, via the oneway call, to the tap
After posting the prototype, I'll post wish-list items.
If someone with more knowledge and background working with connectors can pick this up, that would be great. Otherwise, I'll plan to implement it, looking for any advice. For example, one concern is that the tap should prefer to drop content rather than either (a) use large amounts of resources to buffer them, or (b) in any way impacting the normal flow on the TransportConnection.