Visualization of concurrent applications
I love the charting functionality I LinqPad, it’s awesome!
What else I would like to be able to do Is to add Activities to my application,
perhaps it’s a multithreaded application and then be able to visualize how they are executed over time, like how a logic analyzer does it, like in this picture:
http://www.ece.utep.edu/courses/web3376/Logic_Analyzer_files/droppedImage.jpg
why? Because I want to visualize if my tasks/threads are running optimally ,or if I have some bad lock or threadpool issue somewhere.
Similar to the Concurrency Analyzer https://learn.microsoft.com/en-us/visualstudio/profiling/concurrency-visualizer?view=vs-2022
So, what want be able to do:
1. Add Activities in ny code, perhaps in different threads
using (Activity activity = source.StartActivity("SomeWork"))
{
// Do stuff
}
- Run my application, collect the information, and then be able to present it to the user, similar to what the Dump command does. But visualizing it over time.
Reusing the OpenTelememtry infrastructure in .NET to visualize how concurrent my application is, to help me debug race conditions or similar.
So, I want a built in https://www.jaegertracing.io/ like feature in LinqPad, not for request, but to track activities in my applications 😊