コード例 #1
0
        public void AddTheInitializerToGivenConfiguration()
        {
            Mock <ITelemetryChannel> channelMock = new Mock <ITelemetryChannel>();
            Mock <IKubernetesServiceCollectionBuilder> serviceCollectionBuilderMock = new Mock <IKubernetesServiceCollectionBuilder>();
            ServiceCollection sc = new ServiceCollection();

            sc.AddLogging();

            sc.AddSingleton <ITelemetryInitializer>(p => {
                var envMock = new Mock <IK8sEnvironment>();
                envMock.Setup(env => env.ContainerID).Returns("Cid");
                var envFactoryMock = new Mock <IK8sEnvironmentFactory>();
                envFactoryMock.Setup(f => f.CreateAsync(It.IsAny <DateTime>())).ReturnsAsync(envMock.Object, TimeSpan.FromMinutes(1));
                return(new KubernetesTelemetryInitializer(envFactoryMock.Object, TimeSpan.FromSeconds(5), SDKVersionUtils.Instance, p.GetService <ILogger <KubernetesTelemetryInitializer> >()));
            });
            serviceCollectionBuilderMock.Setup(b => b.InjectServices(It.IsAny <IServiceCollection>(), It.IsAny <TimeSpan>()))
            .Returns(sc);

            TelemetryConfiguration telemetryConfiguration = new TelemetryConfiguration("123", channelMock.Object);

            telemetryConfiguration.EnableKubernetes(null, serviceCollectionBuilderMock.Object);

            Assert.NotNull(telemetryConfiguration.TelemetryInitializers);
            Assert.True(telemetryConfiguration.TelemetryInitializers.Count == 1);
            Assert.True(telemetryConfiguration.TelemetryInitializers.First() is KubernetesTelemetryInitializer);
        }
コード例 #2
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            // uService_prototype
            TelemetryConfiguration aiConfig = new TelemetryConfiguration("8e9838a3-ad63-4d30-96f7-2f0a505bc0f6", app.ApplicationServices.GetService <ITelemetryChannel>());

            aiConfig.EnableKubernetes();
            TelemetryClient client = new TelemetryClient(aiConfig);

            // Invoking the constructor for the TelemetryInitializer
            client.TrackEvent("Hello");
            // saarsfun01
            TelemetryConfiguration aiConfig2 = new TelemetryConfiguration("5789ad10-8b39-4f8a-88dc-632d1342d5e0", app.ApplicationServices.GetService <ITelemetryChannel>());

            aiConfig2.EnableKubernetes();
            TelemetryClient client2 = new TelemetryClient(aiConfig2);

            var _forget = ThrowAnotherHelloAsync(client, client2);

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }