After upgrading to 4.2, I am seeing a lot of SNIReadSync auto-sensor nodes in my purepaths. They seem to indicate that my actual stored procedure execution is pretty quick (199ms in example below), yet all the time is being spent somewhere in between.
Am I interpreting this correctly? Or does SNIReadSync stand for something else? Its not a method or anything under ADO.NET, yet it shows under the ADO.NET sensor.
Answer by Rob V. ·
Hi Pankaj,
I believe that SNIReadSync is part of the ADO.NET assembly. What happens with the shift to AutoSensors in dT 4 is that you start to have deep visibility into low levels of code. Frequently we'll see the most heavy method be "SocketRead" or something similar. In your case is "SNIReadSync", which is generally invoked through the SQLDataReader path. That makes sense in many cases as to why it takes the most time for a database query: it's moving the data that's been requested. That seems to be the case here as you "FillInternal" as the result of the database query.
Generally when I have one of these low-level I/O methods as the top consumer, I look back up the stack to see who is really to "blame". It's generally a database call.
Rob
JANUARY 15, 3:00 PM GMT / 10:00 AM ET