microsoft / ApplicationInsights-SDK-Labs

Application Insights experimental projects repository
MIT License
61 stars 48 forks source link

Operation name shows up as * for webHttpBinding service #15

Closed geoffhardy1 closed 8 years ago

geoffhardy1 commented 8 years ago

We are using the Application Insights WCF nuget package for two services in our application. One services is HTTP and the other is HTTPS. The telemetry for our HTTP service shows both the services name and the operation name, which is what we need. For example:

SafeService.GetWorksheetDto

However the HTTPS WCF service will not show the operation name - only "*". For example:

SafeMobileService.*

tomasr commented 8 years ago

@geoffhardy1 When this happens, it usually means that the component was unable to match the value of the Action header to the operation contract.

Is there anything special about the HTTPS service? For example, is it using the webHttpBinding, or maybe it has a catch-all operation in the contract? i.e. this:

[OperationContract(Action="*")]
...
geoffhardy1 commented 8 years ago

Yes, the service is using webHttpBinding.

The methods do not have an action parameter specified. Here is an example of how they are defined:

[OperationContract] [WebGet] public LoginLookupDto GetLoginLookupDto()

tomasr commented 8 years ago

That explains it; I haven't implemented explicit support for webHttpBinding, it does require some specific things in there, and so far no one had asked for it :smile:

Are you seeing anything else not working in that scenario, besides the operation names not matching up?

geoffhardy1 commented 8 years ago

It's just the operation names that do not show up. The rest of it looks OK and we have found this library to be very useful.

Do you have any suggested workarounds to get the operation name? Unfortunately for this service, the telemetry is not particularly useful without knowing the operation name.

abaranch commented 8 years ago

Published: Microsoft.ApplicationInsights.Wcf 0.25.0-build22021