Each test bench has two services - ServiceOne and ServiceTwo. Each of them are an API with a REST endpoint. ServiceOne calls ServiceTwo which must show up in the Application Insigths Application Map like
And be able to show distributed traces like a span
The path compared are:
- Direct to Applicaiton Insights via native SDK (baseline)
- Open Tracing via PetaBrdige driver to Application Insights
- Serilog with Application insights SDK for captureing requests, exceptions and performance counters to Application Insights
To propragate the log/trace context over process boundraies for protocols not default supported, take a look at how it is implemented in DiagnosticsHandler for HttpClient does it. Also see the HttpClient Diagnostic Instrumentation Users Guide.
It makes use of the System.Diagnostics.Activity class to store the distributed tracing context.