public Initialize ( Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration configuration ) : void | ||
configuration | Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration | Telemetry configuration to use for initialization. |
return | void |
private RequestTrackingTelemetryModule RequestTrackingTelemetryModuleFactory(TelemetryConfiguration config = null) { var module = new RequestTrackingTelemetryModule(); module.OverrideCorrelationIdLookupHelper(this.correlationIdLookupHelper); module.Initialize(config ?? this.CreateDefaultConfig(HttpModuleHelper.GetFakeHttpContext())); return(module); }
private RequestTrackingTelemetryModule RequestTrackingTelemetryModuleFactory(TelemetryConfiguration config = null) { var module = new RequestTrackingTelemetryModule() { EnableChildRequestTrackingSuppression = false }; module.Initialize(config ?? this.CreateDefaultConfig(HttpModuleHelper.GetFakeHttpContext())); return(module); }
public void OnEndCreatesRequestTelemetryIfBeginWasNotCalled() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnEndRequest(context); Assert.NotNull(context.GetRequestTelemetry()); }
public void OnEndSetsDurationToZeroIfBeginWasNotCalled() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnEndRequest(context); Assert.Equal(0, context.GetRequestTelemetry().Duration.Ticks); }
public void RequestIdIsAvailableAfterOnBegin() { var context = HttpModuleHelper.GetFakeHttpContext(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); Assert.True(!string.IsNullOrEmpty(requestTelemetry.Id)); }
public void OnEndSetsDurationToPositiveValue() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.True(context.GetRequestTelemetry().Duration.TotalMilliseconds >= 0); }
public void OnEndSetsUrl() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.Equal(context.Request.Url, context.GetRequestTelemetry().Url); }
public void OnEndSetsResponseCode() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 401; var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.Equal("401", context.GetRequestTelemetry().ResponseCode); }
public void SdkVersionHasCorrectFormat() { string expectedVersion = SdkVersionHelper.GetExpectedSdkVersion(typeof(RequestTrackingTelemetryModule), prefix: "web:"); var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.Equal(expectedVersion, context.GetRequestTelemetry().Context.GetInternalContext().SdkVersion); }
public void OnBeginRequestSetsTimeIfItWasNotAssignedBefore() { var context = HttpModuleHelper.GetFakeHttpContext(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Timestamp = default(DateTimeOffset); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); Assert.NotEqual(default(DateTimeOffset), requestTelemetry.Timestamp); }
public void NeedProcessRequestReturnsTrueForNon200() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 500; context.Handler = new System.Web.Handlers.AssemblyResourceLoader(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Start(); var module = new RequestTrackingTelemetryModule(); var configuration = TelemetryConfiguration.CreateDefault(); module.Initialize(configuration); Assert.True(module.NeedProcessRequest(context)); }
public void OnBeginRequestDoesNotSetTimeIfItWasAssignedBefore() { var startTime = DateTimeOffset.UtcNow; var context = HttpModuleHelper.GetFakeHttpContext(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Timestamp = startTime; var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); Assert.Equal(startTime, requestTelemetry.Timestamp); }
public void OnEndDoesNotOverrideUrl() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); var requestTelemetry = context.GetRequestTelemetry(); requestTelemetry.Url = new Uri("http://test/"); module.OnEndRequest(context); Assert.Equal("http://test/", requestTelemetry.Url.OriginalString); }
public void NeedProcessRequestReturnsFalseForCustomHandler() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 200; context.Handler = new FakeHttpHandler(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Start(); var module = new RequestTrackingTelemetryModule(); module.Handlers.Add("Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModuleTest+FakeHttpHandler"); var configuration = TelemetryConfiguration.CreateDefault(); module.Initialize(configuration); Assert.False(module.NeedProcessRequest(context)); }
public void NeedProcessRequestReturnsTrueForNon200() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 500; context.Handler = new System.Web.Handlers.AssemblyResourceLoader(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Start(); var module = new RequestTrackingTelemetryModule(); var configuration = TelemetryConfiguration.CreateDefault(); module.Initialize(configuration); Assert.True(module.NeedProcessRequest(context)); }
public void OnEndDoesNotOverrideResponseCode() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 300; var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); var requestTelemetry = context.GetRequestTelemetry(); requestTelemetry.ResponseCode = "Test"; module.OnEndRequest(context); Assert.Equal("Test", requestTelemetry.ResponseCode); }
public void NeedProcessRequestReturnsTrueForUnknownHandler() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 200; context.Handler = new FakeHttpHandler(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Start(); using (var module = new RequestTrackingTelemetryModule()) { var configuration = TelemetryConfiguration.CreateDefault(); module.Initialize(configuration); Assert.IsTrue(module.NeedProcessRequest(context)); } }
public void NeedProcessRequestReturnsFalseForCustomHandler() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 200; context.Handler = new FakeHttpHandler(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Start(); var module = new RequestTrackingTelemetryModule(); module.Handlers.Add("Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModuleTest+FakeHttpHandler"); var configuration = TelemetryConfiguration.CreateDefault(); module.Initialize(configuration); Assert.False(module.NeedProcessRequest(context)); }
public void OnEndAddsSourceFieldForRequestWithSourceIkey() { string hashedIkey = "vwuSMCFBLdIHSdeEXvFnmiXPO5ilQRqw9kO/SE5ino4="; Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add(RequestResponseHeaders.SourceInstrumentationKeyHeader, hashedIkey); var context = HttpModuleHelper.GetFakeHttpContext(headers); var module = new RequestTrackingTelemetryModule(); var config = TelemetryConfiguration.CreateDefault(); config.InstrumentationKey = Guid.NewGuid().ToString(); module.Initialize(config); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.Equal(hashedIkey, context.GetRequestTelemetry().Source); }
public void OnEndTracksRequest() { var sendItems = new List <ITelemetry>(); var stubTelemetryChannel = new StubTelemetryChannel { OnSend = item => sendItems.Add(item) }; var configuration = new TelemetryConfiguration { InstrumentationKey = Guid.NewGuid().ToString(), TelemetryChannel = stubTelemetryChannel }; var module = new RequestTrackingTelemetryModule(); module.Initialize(configuration); module.OnBeginRequest(null); module.OnEndRequest(null); Assert.Equal(1, sendItems.Count); }
private RequestTrackingTelemetryModule RequestTrackingTelemetryModuleFactory(TelemetryConfiguration config = null, bool enableW3CTracing = false) { var module = new RequestTrackingTelemetryModule() { EnableChildRequestTrackingSuppression = false, EnableW3CHeadersExtraction = enableW3CTracing }; if (config == null) { config = this.CreateDefaultConfig(HttpModuleHelper.GetFakeHttpContext()); } if (enableW3CTracing) { config.TelemetryInitializers.Add(new W3COperationCorrelationTelemetryInitializer()); } module.Initialize(config); return(module); }
public void OnEndDoesNotAddSourceFieldForRequestForSameComponent() { string instrumentationKey = "b3eb14d6-bb32-4542-9b93-473cd94aaedf"; // Here is the equivalent generated IKey Hash string hashedIkey = "o05HMrc4Og8W1Jyy60JPDPxxQy3bOKyuaj6HudZHTjE="; Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add(RequestResponseHeaders.SourceInstrumentationKeyHeader, hashedIkey); var context = HttpModuleHelper.GetFakeHttpContext(headers); var module = new RequestTrackingTelemetryModule(); var config = TelemetryConfiguration.CreateDefault(); config.InstrumentationKey = instrumentationKey; module.Initialize(config); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.True(string.IsNullOrEmpty(context.GetRequestTelemetry().Source)); }
public void RequestIdIsAvailableAfterOnBegin() { var context = HttpModuleHelper.GetFakeHttpContext(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); Assert.True(!string.IsNullOrEmpty(requestTelemetry.Id)); }
public void OnBeginRequestDoesNotSetTimeIfItWasAssignedBefore() { var startTime = DateTimeOffset.UtcNow; var context = HttpModuleHelper.GetFakeHttpContext(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Timestamp = startTime; var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); Assert.Equal(startTime, requestTelemetry.Timestamp); }
public void NeedProcessRequestReturnsTrueForUnknownHandler() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 200; context.Handler = new FakeHttpHandler(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Start(); using (var module = new RequestTrackingTelemetryModule()) { var configuration = TelemetryConfiguration.CreateDefault(); module.Initialize(configuration); Assert.IsTrue(module.NeedProcessRequest(context)); } }
public void OnEndAddsSourceFieldForRequestWithSourceIkey() { string hashedIkey = "vwuSMCFBLdIHSdeEXvFnmiXPO5ilQRqw9kO/SE5ino4="; Dictionary<string, string> headers = new Dictionary<string, string>(); headers.Add(RequestResponseHeaders.SourceInstrumentationKeyHeader, hashedIkey); var context = HttpModuleHelper.GetFakeHttpContext(headers); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.Equal(hashedIkey, context.GetRequestTelemetry().Source); }
public void OnBeginRequestSetsTimeIfItWasNotAssignedBefore() { var context = HttpModuleHelper.GetFakeHttpContext(); var requestTelemetry = context.CreateRequestTelemetryPrivate(); requestTelemetry.Timestamp = default(DateTimeOffset); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); Assert.NotEqual(default(DateTimeOffset), requestTelemetry.Timestamp); }
public void OnEndDoesNotOverrideResponseCode() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 300; var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); var requestTelemetry = context.GetRequestTelemetry(); requestTelemetry.ResponseCode = "Test"; module.OnEndRequest(context); Assert.Equal("Test", requestTelemetry.ResponseCode); }
public void OnEndCreatesRequestTelemetryIfBeginWasNotCalled() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnEndRequest(context); Assert.NotNull(context.GetRequestTelemetry()); }
public void OnEndSetsDurationToPositiveValue() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.True(context.GetRequestTelemetry().Duration.TotalMilliseconds >= 0); }
public void OnEndDoesNotOverrideUrl() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); var requestTelemetry = context.GetRequestTelemetry(); requestTelemetry.Url = new Uri("http://test/"); module.OnEndRequest(context); Assert.Equal("http://test/", requestTelemetry.Url.OriginalString); }
public void OnEndSetsDurationToZeroIfBeginWasNotCalled() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnEndRequest(context); Assert.Equal(0, context.GetRequestTelemetry().Duration.Ticks); }
public void OnEndSetsResponseCode() { var context = HttpModuleHelper.GetFakeHttpContext(); context.Response.StatusCode = 401; var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.Equal("401", context.GetRequestTelemetry().ResponseCode); }
public void OnEndSetsUrl() { var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.Equal(context.Request.Url, context.GetRequestTelemetry().Url); }
public void OnEndTracksRequest() { var sendItems = new List<ITelemetry>(); var stubTelemetryChannel = new StubTelemetryChannel { OnSend = item => sendItems.Add(item) }; var configuration = new TelemetryConfiguration { InstrumentationKey = Guid.NewGuid().ToString(), TelemetryChannel = stubTelemetryChannel }; var module = new RequestTrackingTelemetryModule(); module.Initialize(configuration); module.OnBeginRequest(null); module.OnEndRequest(null); Assert.Equal(1, sendItems.Count); }
public void SdkVersionHasCorrectFormat() { string expectedVersion = SdkVersionHelper.GetExpectedSdkVersion(typeof(RequestTrackingTelemetryModule), prefix: "web:"); var context = HttpModuleHelper.GetFakeHttpContext(); var module = new RequestTrackingTelemetryModule(); module.Initialize(TelemetryConfiguration.CreateDefault()); module.OnBeginRequest(context); module.OnEndRequest(context); Assert.Equal(expectedVersion, context.GetRequestTelemetry().Context.GetInternalContext().SdkVersion); }