Azure / durabletask

Durable Task Framework allows users to write long running persistent workflows in C# using the async/await capabilities.
Apache License 2.0
1.5k stars 289 forks source link

Add External Events to Distributed Tracing #563

Open bachuv opened 3 years ago

bachuv commented 3 years ago

We currently support correlated logs for calls to client, orchestrator, and activity functions. This issue tracks supporting external events from the Human Interaction pattern and having them show up in the Application Insights End-to-end transaction details page.

cgillum commented 2 years ago

@bachuv did you have an idea for how we want these to look in Application Insights? I'm actually not sure how we'd want to visualize this. Ideally, Application Insights would show us some kind of visualization where a trace has two parents: one for the orchestration's original start event and one for the operation that raised the event (which gets received by the orchestration). However, Application Insights (and the w3c standard) only supports one parent for any trace activity. That means we have to either choose the orchestration's original parent as the parent for the next replay or the external event as the parent, but we can't have both. I feel like it's the most intuitive to have the orchestration's original parent as the parent, but I'm happy to hear other thoughts as well (even better if you have proposal diagrams/sketches to share).