You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The System.Diagnostics.Activity class (reference) is used to support distributed tracing, for example in ASP.NET Core. It flows with the call context, including across async calls. This works well with F#'s native async and task CEs, but when using Hopac, it often does not work correctly, resulting in incorrect telemetry correlation. Specifically, in my experience, telemetry for a lot of requests (or parts of requests) may end up being correlated with a single early request.
This is a hard show-stopper for my use of Hopac in Felicity (an F# JSON:API framework based on ASP.NET Core and Giraffe). But before I rewrite the framework to use native tasks instead of Hopac (which also impacts performance negatively), I figured I should mention this here and ask if there is anything that can be done to alleviate this, whether internally in Hopac or in the usage of Hopac.
Unfortunately Felicity is very complex and I have been unable to produce a minimal repro. I simply don't know what parts of the Hopac API makes the Activity not flow correctly with call context. It's also somewhat non-deterministic.
The text was updated successfully, but these errors were encountered:
The
System.Diagnostics.Activity
class (reference) is used to support distributed tracing, for example in ASP.NET Core. It flows with the call context, including across async calls. This works well with F#'s nativeasync
andtask
CEs, but when using Hopac, it often does not work correctly, resulting in incorrect telemetry correlation. Specifically, in my experience, telemetry for a lot of requests (or parts of requests) may end up being correlated with a single early request.This is a hard show-stopper for my use of Hopac in Felicity (an F# JSON:API framework based on ASP.NET Core and Giraffe). But before I rewrite the framework to use native tasks instead of Hopac (which also impacts performance negatively), I figured I should mention this here and ask if there is anything that can be done to alleviate this, whether internally in Hopac or in the usage of Hopac.
Unfortunately Felicity is very complex and I have been unable to produce a minimal repro. I simply don't know what parts of the Hopac API makes the
Activity
not flow correctly with call context. It's also somewhat non-deterministic.The text was updated successfully, but these errors were encountered: