cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Instrumenting .NET entry points

jason_lau
Newcomer

We have an internal worker pool (prod/consumer) which breaks dynatrace purepath, but have added tagging to bridge the gap between when a work item is inserted into queue and when the work item is picked up by one of the worker threads

We can see that tagging is allowing purepath to follow when consumer picks up the work, but we are not able to see what's being processed unless we explicitly define the sensors for each of the methods invoked that we want view into

Is there a way to only configure sensor for the method entry points (in this case SimpleTestMethod) and have purepath show everything that's running underneath the entry point?

The 2 test methods involved are "SimpleTestMethod" and "ReadData", in our test we spin up a worker pool with 2 worker threads and insert 5 work items (5 times SimpleTestMethod), _file is a plain text file:

public void SimpleTestMethod()
{
Thread.Sleep(1000);
this.ReadData();
}

private void ReadData()
{
string data = string.Empty;

using (StreamReader reader = File.OpenText(_file))
{
while (!reader.EndOfStream)
{
data += reader.ReadLine();
}
}

data += "blah";
}

Test with ThreadPool and Tagging, but no sensor for method invoked:

Test with ThreadPool and Tagging, with sensor set for SimpleTestMethod:

Test with ThreadPool, tagging, and sensors configured for SimpleTestMethod and ReadData:

1 REPLY 1

andreas_grabner
Dynatrace Leader
Dynatrace Leader

Hi

If you just instrument SimpleTestMethod then the Auto Sensors will show you what else is executed underneath SimpleTestMEthod in case Dynatrace captures Auto Sensor information because execution takes long. In your case we see that SleepInternal is captured. But not only that. In the PurePath dashlet you can click on "Show All Nodes" - this will then show you the full stack trace of auto sensor information. In your example that might not be much more as you see right now becuase Sleep is called from SimpleTestMethod - but - in case time is spent in methods such as ReadData you would see ReadData there as well

andi