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

How do I monitor a net.tcp protocol WCF service properly?

jmonsorno
Newcomer

I'm trying to get transactions and PurePaths from an agent that is attached to a Windows Service that hosts a WCF service; C# application. I have the agent showing up but the only transactions I see are the WCF service calling a web service. The only PurePath I get is that call, I don't get any of the core methods that ended up calling the web service call.

I also have a C# Console Application caller that calls the WCF Service and I don't get any transactions from that either.

4 REPLIES 4

andreas_grabner
Dynatrace Leader
Dynatrace Leader

Hi Jason. I am not sure I fully understand your scenario. Your Services hosts a list of WCF Services but you only get ONE PurePath for ONE particular service call and you miss all others?

Who is calling these Web Services? Are these applications that call the Web Service also instrumented and do you expect and End-to-End PurePath?

In order to start PurePaths for Web Service calls you need to make sure that the .NET Web Service Sensor Pack is configured with active and start PurePath. To verify that open your System Profile -> check our Sensor Configuration and make sure that the .NET Web Service Sensor Pack says "active and start PurePath". You may also want to set the .NET WCF Sensor Pack to active and start purepath as well as your WCF services might not be detected by our .NET Web Service Sensor Pack

jmonsorno
Newcomer

I have a C# application that starts as a Windows Service. That service Initializes and opens a single System.ServiceModel.ServiceHost with a single endpoint net.tcp://localhost:30000/ServiceA . There are two consumers of the service, one web app (not previously mentioned) and one console application (primary use). I had .NET WCF and .NET Web Service Sensor active and PurePath. The only PurePath I could see was the Windows Service making an call to a separate web service.

I went through and enabled all the sensor packs to active (w/ PurePath when available). I am now getting SyncMethodInvoker.Invoke as the Entry Point and get a PurePath of the call. It seems to be missing a significant percentage of the methods, I know it doesn't capture 100% but my Web App gets probably ~70% and this is around 3%; the level of granularity is extremely low.

jmonsorno
Newcomer

Got what I wanted. Ended up disabling the Senor Configurations' "start PurePaths", left as "active", and made manual instrumentations with start PurePaths.  

Good to hear you got it all working