/// <summary> /// Initializes the telemetry module. /// </summary> /// <param name="configuration">Telemetry configuration to use for initialization.</param> public void Initialize(TelemetryConfiguration configuration) { _telemetryClient = new TelemetryClient(configuration); if (configuration != null && configuration.TelemetryChannel != null) { _telemetryChannelEnpoint = configuration.TelemetryChannel.EndpointAddress; } _serviceRemotingServerEventListener = new ServiceRemotingServerEventListener( configuration, this.EffectiveProfileQueryEndpoint, this.SetComponentCorrelationHttpHeaders); }
/// <summary> /// Initializes the telemetry module. /// </summary> /// <param name="configuration">Telemetry configuration to use for initialization.</param> public void Initialize(TelemetryConfiguration configuration) { // Prevent the telemetry module from being initialized multiple times. // A serious side effect of multiple initialization is the Service Remoting events could be registered multiple times, which will break the correlation. if (_isInitialized) { return; } _isInitialized = true; _telemetryClient = new TelemetryClient(configuration); if (configuration != null && configuration.TelemetryChannel != null) { _telemetryChannelEnpoint = configuration.TelemetryChannel.EndpointAddress; } _serviceRemotingServerEventListener = new ServiceRemotingServerEventListener( configuration, this.EffectiveProfileQueryEndpoint, this.SetComponentCorrelationHttpHeaders); }