in src/ApplicationInsights.Kubernetes/Extensions/ObsoletedExtensions.cs [23:52]
public static void AddApplicationInsightsKubernetesEnricher(
this TelemetryConfiguration telemetryConfiguration,
Action<AppInsightsForKubernetesOptions> applyOptions = null,
IKubernetesServiceCollectionBuilder kubernetesServiceCollectionBuilder = null,
Func<bool> detectKubernetes = null,
ILogger<IKubernetesServiceCollectionBuilder> logger = null)
{
IServiceCollection standaloneServiceCollection = new ServiceCollection();
standaloneServiceCollection = standaloneServiceCollection.AddApplicationInsightsKubernetesEnricher(
applyOptions,
kubernetesServiceCollectionBuilder,
detectKubernetes,
logger);
// Static class can't used as generic types.
IServiceProvider serviceProvider = standaloneServiceCollection.BuildServiceProvider();
ITelemetryInitializer k8sTelemetryInitializer = serviceProvider.GetServices<ITelemetryInitializer>()
.FirstOrDefault(ti => ti is KubernetesTelemetryInitializer);
if (k8sTelemetryInitializer != null)
{
telemetryConfiguration.TelemetryInitializers.Add(k8sTelemetryInitializer);
logger?.LogInformation($"{nameof(KubernetesTelemetryInitializer)} is injected.");
}
else
{
logger?.LogError($"Getting ${nameof(KubernetesTelemetryInitializer)} from the service provider failed.");
}
}