[CSHARP-985] Instrument hooks to enable tracing and performance capture of all network calls from the csharp driver Created: 03/Jun/14 Updated: 18/Aug/14 Resolved: 18/Aug/14 |
|
| Status: | Closed |
| Project: | C# Driver |
| Component/s: | Diagnostics |
| Affects Version/s: | 1.9.1 |
| Fix Version/s: | 2.0 |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Franklin Wise | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Epic Link: | Adopt Core Library | ||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Description |
|
To support implementing .Net version of a distributed tracing platform similar to Google Dapper (see link) or Twitter Zipkin, hooks need to be added to the CSharp drive before send and after receive to allow the tracing and measuring of all network calls. http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/36356.pdf Tried inheriting/overriding the various methods that end up calling the network calls, however, this is too fragile and is contingent on the internals of how the driver is implemented. The only resilient option is to modify the driver to support hooks that consumers can add to instrument all network requests. With the exception of a new public method to allow consumers to register a tracer no public interfaces will be affected. |
| Comments |
| Comment by Robert Stam [ 04/Jun/14 ] |
|
Thanks for the suggestion. We are planning on adding some kind of hooks in the 2.0 version of the driver that would allow you to do this. |