This link: https://azure.microsoft.com/en-us/documentation/articles/app-insights-api-custom-events-metrics/
It explicitly states:
TelemetryClient is thread safe.We recommend using a TelemetryClient instance for each module of your application.
TelemetryClient is thread safe.
We recommend using a TelemetryClient instance for each module of your application.
However, the MSDN documentation ( https://msdn.microsoft.com/en-us/library/azure/microsoft.applicationinsights.telemetryclient.aspx ) says:
All public static (Shared in Visual Basic) members of this type are thread safe. Any instance members do not guarantee thread safety.
So the problem is that most functions like TrackEvent and TrackMetric are not static. If I follow the first article, having a singleton instance for my web service, would I run into threading issues?
TelemetryClient is thread safe. Allowed use is to create a singleton and reuse it. You will not encounter problems reusing the instance.