diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime/Extensions/ServiceCollectionExtensions.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime/Extensions/ServiceCollectionExtensions.cs index b0ec9fab9b..34446c5420 100644 --- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime/Extensions/ServiceCollectionExtensions.cs +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime/Extensions/ServiceCollectionExtensions.cs @@ -209,6 +209,7 @@ internal static void AddBotRuntimeTelemetry(this IServiceCollection services, IC } else { + telemetrySettings.Options.EnableAdaptiveSampling = false; services.AddApplicationInsightsTelemetry(telemetrySettings.Options); services.TryAddSingleton(); diff --git a/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/ServiceCollectionExtensions.cs b/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/ServiceCollectionExtensions.cs index 0c208542df..64ec5d19a9 100644 --- a/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/ServiceCollectionExtensions.cs +++ b/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/ServiceCollectionExtensions.cs @@ -5,6 +5,7 @@ using System; using System.Linq; using Microsoft.ApplicationInsights; +using Microsoft.ApplicationInsights.AspNetCore.Extensions; using Microsoft.ApplicationInsights.Extensibility; using Microsoft.Bot.Builder.ApplicationInsights; using Microsoft.Bot.Configuration; @@ -57,7 +58,14 @@ public static IServiceCollection AddBotApplicationInsights(this IServiceCollecti IBotTelemetryClient telemetryClient = null; if (appInsightService != null) { - services.AddApplicationInsightsTelemetry(appInsightService.InstrumentationKey); + // Create Application Insights options and disable adaptive sampling + var aiOptions = new ApplicationInsightsServiceOptions + { + EnableAdaptiveSampling = false, + InstrumentationKey = appInsightService.InstrumentationKey + }; + + services.AddApplicationInsightsTelemetry(aiOptions); telemetryClient = new BotTelemetryClient(new TelemetryClient()); } else @@ -88,9 +96,19 @@ public static IServiceCollection AddBotApplicationInsights(this IServiceCollecti CreateBotTelemetry(services); IBotTelemetryClient telemetryClient = null; + if (!string.IsNullOrWhiteSpace(instrumentationKey)) { - services.AddApplicationInsightsTelemetry(instrumentationKey); + // Create Application Insights options and disable adaptive sampling + var aiOptions = new ApplicationInsightsServiceOptions + { + EnableAdaptiveSampling = false, + InstrumentationKey = instrumentationKey + }; + + // Add Application Insights telemetry with custom options + services.AddApplicationInsightsTelemetry(aiOptions); + telemetryClient = new BotTelemetryClient(new TelemetryClient()); } else @@ -122,7 +140,14 @@ public static IServiceCollection AddBotApplicationInsights(this IServiceCollecti // Start Application Insights if (instrumentationKey != null) { - services.AddApplicationInsightsTelemetry(instrumentationKey); + // Create Application Insights options and disable adaptive sampling + var aiOptions = new ApplicationInsightsServiceOptions + { + EnableAdaptiveSampling = false, + InstrumentationKey = instrumentationKey + }; + + services.AddApplicationInsightsTelemetry(aiOptions); } // Register the BotTelemetryClient