应用洞见无需配置即可工作

时间:2018-07-12 14:20:09

标签: azure-application-insights

我正在构建一个使用Application Insights的小型库。

如果没有ApplicationInsights.config文件,是否有可能使用Application Insights?

我尝试在构造函数中手动删除和添加模块,但这没有用。

已编辑

我做了类似的事情:

dependencies = new DependencyTrackingTelemetryModule();
dependencies.Initialize(configuration);

exceptionTelemetryModule = new UnhandledExceptionTelemetryModule();
exceptionTelemetryModule.Initialize(configuration);

unobservedExceptionTelemetry = new UnobservedExceptionTelemetryModule();
unobservedExceptionTelemetry.Initialize(configuration);

serverTelemetryChannel = new ServerTelemetryChannel();
serverTelemetryChannel.DeveloperMode = true;
serverTelemetryChannel.Initialize(configuration);

azureInstanceMetadataTelemetry = new AzureInstanceMetadataTelemetryModule();
azureInstanceMetadataTelemetry.Initialize(configuration);

var developer = new DeveloperModeWithDebuggerAttachedTelemetryModule();
developer.Initialize(configuration);

configuration.TelemetryInitializers.Add(new OperationCorrelationTelemetryInitializer());

client = new TelemetryClient(configuration);

1 个答案:

答案 0 :(得分:2)

可以像这样进行简约设置。

using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.DependencyCollector;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel;

..    ..     ..

  private static void setupApplicationInsights()
    {
        // Setup Channel, Initializers, and Sampling
        // Nugets Required: "Microsoft.ApplicationInsights", "Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"

        var channel = new ServerTelemetryChannel();            
        var config = TelemetryConfiguration.Active;
        config.InstrumentationKey = "putikey"; 

        channel.Initialize(config);
        TelemetryConfiguration.Active.TelemetryChannel = channel;

        //Setup TelemetryInitializers...
        config.TelemetryInitializers.Add(new OperationCorrelationTelemetryInitializer());

        //Setup Sampling
        config.TelemetryProcessorChainBuilder.UseAdaptiveSampling();

        // Setup modules...
        // Nugets : Microsoft.ApplicationInsights.DependencyCollector
        DependencyTrackingTelemetryModule dep = new DependencyTrackingTelemetryModule();
        dep.Initialize(config);

    }