/** * Gets the channel used by the client. */ TelemetryChannel getChannel() { if (this.channel == null) { this.channel = configuration.getChannel(); } return this.channel; }
final TelemetryChannel channel = TelemetryConfiguration.getActive().getChannel(); if (channel != null) { channel.setDeveloperMode(isDeveloperMode);
TelemetryConfiguration.getActive().getChannel().setDeveloperMode(true);
@Test public void shouldBeAbleToConfigureLocalForwarderTelemetryChannel() throws IllegalConfigurationException { EnvironmentTestUtils.addEnvironment(context, "azure.application-insights.instrumentation-key: 00000000-0000-0000-0000-000000000000", "azure.application-insights.channel.local-forwarder.endpoint-address=localhost:8080"); context.register(PropertyPlaceholderAutoConfiguration.class, ApplicationInsightsTelemetryAutoConfiguration.class); context.refresh(); TelemetryConfiguration telemetryConfiguration = context.getBean(TelemetryConfiguration.class); TelemetryChannel channel = telemetryConfiguration.getChannel(); assertThat(channel).isInstanceOf(LocalForwarderTelemetryChannel.class); }
TelemetryConfiguration.getActive().getChannel().setDeveloperMode(true);
private void ikeyTest(String configurationIkey, String expectedIkey) { // Make sure that there is no exception when fetching the i-key by having both // the i-key and channel in the configuration, otherwise the channel won't be instantiated AppInsightsConfigurationBuilder mockParser = createMockParser(true, false, false); ApplicationInsightsXmlConfiguration appConf = new ApplicationInsightsXmlConfiguration(); appConf.setInstrumentationKey(configurationIkey); Mockito.doReturn(appConf).when(mockParser).build(any(InputStream.class)); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertEquals(mockConfiguration.getInstrumentationKey(), expectedIkey); assertTrue(mockConfiguration.getChannel() instanceof InProcessTelemetryChannel); }
@Test public void shouldBeAbleToConfigureInprocessTelemetryChannel() throws IllegalConfigurationException { EnvironmentTestUtils.addEnvironment(context, "azure.application-insights.instrumentation-key: 00000000-0000-0000-0000-000000000000", "azure.application-insights.channel.in-process.developer-mode=false", "azure.application-insights.channel.in-process.flush-interval-in-seconds=123", "azure.application-insights.channel.in-process.max-telemetry-buffer-capacity=10"); context.register(PropertyPlaceholderAutoConfiguration.class, ApplicationInsightsTelemetryAutoConfiguration.class); context.refresh(); TelemetryConfiguration telemetryConfiguration = context.getBean(TelemetryConfiguration.class); TelemetryChannel channel = telemetryConfiguration.getChannel(); assertThat(channel).isInstanceOf(InProcessTelemetryChannel.class); assertThat(channel.isDeveloperMode()).isFalse(); assertThat(channel).extracting("telemetryBuffer").extracting("transmitBufferTimeoutInSeconds").contains(123); assertThat(channel).extracting("telemetryBuffer").extracting("maxTelemetriesInBatch").contains(10); }
@Test public void testInitializeWithFailingParse() throws Exception { AppInsightsConfigurationBuilder mockParser = createMockParserThatFailsToParse(); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertEquals(false, mockConfiguration.isTrackingDisabled()); assertThat(mockConfiguration.getChannel(), instanceOf(InProcessTelemetryChannel.class)); }
@Test public void testWithEmptySections() { AppInsightsConfigurationBuilder mockParser = Mockito.mock(AppInsightsConfigurationBuilder.class); ApplicationInsightsXmlConfiguration appConf = new ApplicationInsightsXmlConfiguration(); appConf.setInstrumentationKey(MOCK_IKEY); appConf.setTelemetryInitializers(null); appConf.setContextInitializers(null); appConf.setModules(null); appConf.setSdkLogger(null); Mockito.doReturn(appConf).when(mockParser).build(any(InputStream.class)); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertEquals(false, mockConfiguration.isTrackingDisabled()); assertEquals(MOCK_IKEY, mockConfiguration.getInstrumentationKey()); assertThat(mockConfiguration.getContextInitializers(), hasSize(3)); assertThat(mockConfiguration.getChannel(), instanceOf(InProcessTelemetryChannel.class)); }
@Test public void testEmptyConfiguration() { TelemetryConfiguration emptyConfig = TelemetryConfiguration.getActiveWithoutInitializingConfig(); Assert.assertNull(emptyConfig.getInstrumentationKey()); Assert.assertSame(NopTelemetryChannel.instance(), emptyConfig.getChannel()); Assert.assertEquals(0, emptyConfig.getTelemetryModules().size()); Assert.assertFalse(emptyConfig.isTrackingDisabled()); Assert.assertEquals(0, emptyConfig.getContextInitializers().size()); Assert.assertEquals(0, emptyConfig.getTelemetryProcessors().size()); }
@Test public void testInitializeWithNullGetInstrumentationKey() throws Exception { AppInsightsConfigurationBuilder mockParser = createMockParser(false, true, false); ApplicationInsightsXmlConfiguration appConf = mockParser.build(null); appConf.setInstrumentationKey(MOCK_IKEY); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertEquals(false, mockConfiguration.isTrackingDisabled()); assertThat(mockConfiguration.getChannel(), instanceOf(InProcessTelemetryChannel.class)); }
@Test public void testInitializeWithEmptyGetInstrumentationKey() throws Exception { AppInsightsConfigurationBuilder mockParser = createMockParser(false, true, false); ApplicationInsightsXmlConfiguration appConf = mockParser.build(null); appConf.setInstrumentationKey(""); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertEquals(false, mockConfiguration.isTrackingDisabled()); assertThat(mockConfiguration.getChannel(), instanceOf(InProcessTelemetryChannel.class)); }
@Test public void testInitializeAllDefaults() throws Exception { AppInsightsConfigurationBuilder mockParser = createMockParser(true, true, false); ApplicationInsightsXmlConfiguration appConf = mockParser.build(null); appConf.setInstrumentationKey(MOCK_IKEY); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertEquals(false, mockConfiguration.isTrackingDisabled()); assertEquals(MOCK_IKEY, mockConfiguration.getInstrumentationKey()); assertThat(mockConfiguration.getContextInitializers(), Matchers.<ContextInitializer>hasSize(3)); assertThat(mockConfiguration.getTelemetryInitializers(), Matchers.<TelemetryInitializer>empty()); assertThat(mockConfiguration.getTelemetryProcessors(), empty()); assertThat(mockConfiguration.getChannel(), instanceOf(StdOutChannel.class)); }
@Test public void testContextInitializers() { AppInsightsConfigurationBuilder mockParser = createMockParser(true, true, false); ApplicationInsightsXmlConfiguration appConf = mockParser.build(null); appConf.setInstrumentationKey(MOCK_IKEY); ContextInitializersXmlElement contextInitializersXmlElement = new ContextInitializersXmlElement(); ArrayList<AddTypeXmlElement> contexts = new ArrayList<AddTypeXmlElement>(); AddTypeXmlElement addXmlElement = new AddTypeXmlElement(); addXmlElement.setType("com.microsoft.applicationinsights.extensibility.initializer.DeviceInfoContextInitializer"); contexts.add(addXmlElement); contextInitializersXmlElement.setAdds(contexts); appConf.setContextInitializers(contextInitializersXmlElement); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertEquals(false, mockConfiguration.isTrackingDisabled()); assertEquals(MOCK_IKEY, mockConfiguration.getInstrumentationKey()); assertThat(mockConfiguration.getContextInitializers(), hasSize(4)); assertThat(mockConfiguration.getTelemetryInitializers(), empty()); assertThat(mockConfiguration.getTelemetryProcessors(), empty()); assertThat(mockConfiguration.getChannel(), instanceOf(StdOutChannel.class)); }
@Test public void testTelemetryContextInitializers() { AppInsightsConfigurationBuilder mockParser = createMockParser(true, true, false); ApplicationInsightsXmlConfiguration appConf = mockParser.build( null ); appConf.setInstrumentationKey(MOCK_IKEY); TelemetryInitializersXmlElement telemetryInitializersXmlElement = new TelemetryInitializersXmlElement(); ArrayList<AddTypeXmlElement> contexts = new ArrayList<AddTypeXmlElement>(); AddTypeXmlElement addXmlElement = new AddTypeXmlElement(); addXmlElement.setType("com.microsoft.applicationinsights.extensibility.initializer.TimestampPropertyInitializer"); contexts.add(addXmlElement); telemetryInitializersXmlElement.setAdds(contexts); appConf.setTelemetryInitializers(telemetryInitializersXmlElement); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertEquals(false, mockConfiguration.isTrackingDisabled()); assertEquals(MOCK_IKEY, mockConfiguration.getInstrumentationKey()); assertThat(mockConfiguration.getContextInitializers(), hasSize(3)); assertThat(mockConfiguration.getTelemetryInitializers(), hasSize(1)); assertThat(mockConfiguration.getTelemetryProcessors(), empty()); assertThat(mockConfiguration.getChannel(), instanceOf(StdOutChannel.class)); }
@Test public void testDefaultChannelWithData() { AppInsightsConfigurationBuilder mockParser = createMockParserWithDefaultChannel(true); ApplicationInsightsXmlConfiguration appConf = mockParser.build(null); appConf.setInstrumentationKey(MOCK_IKEY); appConf.getChannel().setDeveloperMode(true); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertTrue(mockConfiguration.getChannel().isDeveloperMode()); }
@Test public void testDefaultChannelWithBadData() { AppInsightsConfigurationBuilder mockParser = createMockParserWithDefaultChannel(true); ApplicationInsightsXmlConfiguration appConf = mockParser.build(null); appConf.setInstrumentationKey(MOCK_IKEY); ChannelXmlElement channelXmlElement = appConf.getChannel(); channelXmlElement.setEndpointAddress(NON_VALID_URL); channelXmlElement.setDeveloperMode(true); TelemetryConfiguration mockConfiguration = new TelemetryConfiguration(); initializeWithFactory(mockParser, mockConfiguration); assertFalse(mockConfiguration.getChannel().isDeveloperMode()); }
assertThat(mockConfiguration.getContextInitializers(), hasSize(3)); assertThat(mockConfiguration.getTelemetryInitializers(), empty()); assertThat(mockConfiguration.getChannel(), instanceOf(StdOutChannel.class));
setTelemetryProcessors(applicationInsightsConfig, configuration); TelemetryChannel channel = configuration.getChannel(); if (channel instanceof LocalForwarderTelemetryChannel) { if (isQuickPulseEnabledInConfiguration(applicationInsightsConfig)) {