private void putInProperties(Telemetry telemetry, HttpServletRequest request, String... headers) { ConcurrentMap<String, String> properties = telemetry.getContext().getProperties(); for (String header : headers) { String headerValue = request.getHeader(header); if (headerValue != null) { properties.put(header, headerValue); } } } }
private void putInProperties(Telemetry telemetry, HttpServletRequest request, String... headers) { ConcurrentMap<String, String> properties = telemetry.getContext().getProperties(); for (String header : headers) { String headerValue = request.getHeader(header); if (headerValue != null) { properties.put(header, headerValue); } } } }
@Test public void testMethodsOnTelemetryAreCalledWhenTracking() { TelemetryChannel mockChannel = Mockito.mock(TelemetryChannel.class); configuration.setChannel(mockChannel); TelemetryContext mockContext = new TelemetryContext(); Telemetry mockTelemetry = Mockito.mock(Telemetry.class); Mockito.doReturn(mockContext).when(mockTelemetry).getContext(); TelemetryClient telemetryClient = new TelemetryClient(configuration); telemetryClient.track(mockTelemetry); Mockito.verify(mockChannel, Mockito.times(1)).send(mockTelemetry); Mockito.verify(mockTelemetry, Mockito.times(1)).setTimestamp(any(Date.class)); }
/** * Initializes the properties of the given telemetry. * * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} to initialize. */ @Override protected void onInitializeTelemetry(Telemetry telemetry) { RequestTelemetryContext telemetryContext = ThreadContext.getRequestTelemetryContext(); String operationName = telemetryContext.getHttpRequestTelemetry().getName(); updateRequestNameIfRequestTelemetry(telemetry, operationName); telemetry.getContext().getOperation().setName(operationName); }
/** * Initializes the properties of the given telemetry. * * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} to initialize. */ @Override protected void onInitializeTelemetry(Telemetry telemetry) { RequestTelemetryContext telemetryContext = ThreadContext.getRequestTelemetryContext(); String operationName = telemetryContext.getHttpRequestTelemetry().getName(); updateRequestNameIfRequestTelemetry(telemetry, operationName); telemetry.getContext().getOperation().setName(operationName); }
@Test public void noRequestTest() { WebSyntheticRequestTelemetryInitializer tested = new WebSyntheticRequestTelemetryInitializer(); RequestTelemetryContext context = new RequestTelemetryContext(DateTimeUtils.getDateTimeNow().getTime()); ThreadContext.setRequestTelemetryContext(context); Telemetry mockTelemetry = Mockito.mock(Telemetry.class); tested.initialize(mockTelemetry); Mockito.verify(mockTelemetry, Mockito.never()).getContext(); }
@Test public void testCustomParametersAddedByTelemetryClientProxy() { Telemetry telemetry = sendAIEventAndGetOutputTelemetry(false); // TODO: should custom parameters validated one-by-one for values? Map<String, String> customParameters = telemetry.getContext().getProperties(); Assert.assertTrue("Custom parameters list shouldn't be empty.", customParameters.size() > 0); }
@Test public void testCustomParametersAddedByTelemetryClientProxy() { Telemetry telemetry = sendAIEventAndGetOutputTelemetry(false); // TODO: should custom parameters validated one-by-one for values? Map<String, String> customParameters = telemetry.getContext().getProperties(); Assert.assertTrue("Custom parameters list shouldn't be empty.", customParameters.size() > 0); }
@Test public void testCustomParametersAddedByTelemetryClientProxy() { Telemetry telemetry = sendAIEventAndGetOutputTelemetry(false); // TODO: should custom parameters validated one-by-one for values? Map<String, String> customParameters = telemetry.getContext().getProperties(); Assert.assertTrue("Custom parameters list shouldn't be empty.", customParameters.size() > 0); }
/** * Initializes the properties of the given telemetry. * * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} to initialize. */ @Override protected void onInitializeTelemetry(Telemetry telemetry) { RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); String userAgent = requestTelemetry.getContext().getUser().getUserAgent(); telemetry.getContext().getUser().setUserAgent(userAgent); } }
@Test public void testTelemetryInitializedWhenContextAvailable() { initializerUnderTest.initialize(telemetry); Map<String, String> properties = telemetry.getProperties(); Assert.assertEquals(DEFAULT_CONTAINER_NAME, telemetry.getContext().getDevice().getId()); Assert.assertEquals(DEFAULT_IMAGE, properties.get(Constants.DOCKER_IMAGE_PROPERTY_KEY)); Assert.assertEquals(DEFAULT_CONTAINER_NAME, properties.get(Constants.DOCKER_CONTAINER_NAME_PROPERTY_KEY)); Assert.assertEquals(DEFAULT_CONTAINER_ID, properties.get(Constants.DOCKER_CONTAINER_ID_PROPERTY_KEY)); }
@Test public void testWhenTelemetryPropertiesAlreadyPopulatedDeviceIdStillSet() { final String host = "predefined_host"; telemetry.getProperties().put(Constants.DOCKER_HOST_PROPERTY_KEY, host); initializerUnderTest.initialize(telemetry); Assert.assertEquals(host, telemetry.getProperties().get(Constants.DOCKER_HOST_PROPERTY_KEY)); Assert.assertEquals(DEFAULT_CONTAINER_NAME, telemetry.getContext().getDevice().getId()); }
@Test public void testWith99PercentWithOpId() { FixedRateTelemetrySampler tested = new FixedRateTelemetrySampler(); tested.setSamplingPercentage(99.0); Telemetry telemetry = new EventTelemetry(); telemetry.getContext().getOperation().setId("a"); boolean result = tested.isSampledIn(telemetry); telemetry.getContext().getOperation().setId("aa"); result = tested.isSampledIn(telemetry); telemetry.getContext().getOperation().setId("aaasdfsadfasdfsadfsadfsdafasfsadfsdf"); result = tested.isSampledIn(telemetry); Assert.assertTrue(result); }
@Test public void samplingScoreGeneratedUsingOperationIdIfPresent() { String operationId = generateRandomOperationId(); Telemetry eventTelemetry = new EventTelemetry(); eventTelemetry.getContext().getOperation().setId(operationId); Telemetry requestTelemetry = new RequestTelemetry(); requestTelemetry.getContext().getOperation().setId(operationId); double eventTelemetrySamplingScore = SamplingScoreGeneratorV2.getSamplingScore(eventTelemetry); double requestTelemetrySamplingScore = SamplingScoreGeneratorV2.getSamplingScore(requestTelemetry); Assert.assertEquals(eventTelemetrySamplingScore, requestTelemetrySamplingScore, 0.0); }
@Test public void samplingScoreIsRandomIfUserIdIsPresentWithoutOperationId() { String userId = generateRandomUserId(); Telemetry eventTelemetry = new EventTelemetry(); eventTelemetry.getContext().getUser().setId(userId); Telemetry requestTelemetry = new RequestTelemetry(); requestTelemetry.getContext().getUser().setId(userId); double eventTelemetrySamplingScore = SamplingScoreGeneratorV2.getSamplingScore(eventTelemetry); double requestTelemetrySamplingScore = SamplingScoreGeneratorV2.getSamplingScore(requestTelemetry); Assert.assertNotEquals(eventTelemetrySamplingScore, requestTelemetrySamplingScore, 0.0); }
@Test public void testOneSourceThatIsFound() throws Throwable { SyntheticSourceFilter tested = new SyntheticSourceFilter(); Telemetry telemetry = new PageViewTelemetry(); telemetry.getContext().getOperation().setSyntheticSource("A"); boolean result = tested.process(telemetry); assertFalse(result); }
@Test public void testSourcesThatIsDeclaredAndFound() throws Throwable { SyntheticSourceFilter tested = new SyntheticSourceFilter(); tested.setNotNeededSources("A, B"); Telemetry telemetry = new PageViewTelemetry(); telemetry.getContext().getOperation().setSyntheticSource("A"); boolean result = tested.process(telemetry); assertFalse(result); }
@Test public void testWith90PercentWithOpId() { FixedRateTelemetrySampler tested = new FixedRateTelemetrySampler(); tested.setSamplingPercentage(10.0); Telemetry telemetry = new EventTelemetry(); telemetry.getContext().getOperation().setId("a"); boolean result = tested.isSampledIn(telemetry); Assert.assertFalse(result); }
@Test public void testWith0PercentWithUserId() { FixedRateTelemetrySampler tested = new FixedRateTelemetrySampler(); tested.setIncludeTypes("Event, PageView"); tested.setSamplingPercentage(0.0); Telemetry telemetry = new EventTelemetry(); telemetry.getContext().getUser().setId("B"); boolean result = tested.isSampledIn(telemetry); Assert.assertFalse(result); }
@Test public void testWith0PercentWithOpIdAndExclude() { FixedRateTelemetrySampler tested = new FixedRateTelemetrySampler(); tested.setSamplingPercentage(0.0); tested.setExcludeTypes("Event, PageView"); Telemetry telemetry = new EventTelemetry(); telemetry.getContext().getOperation().setId("a"); boolean result = tested.isSampledIn(telemetry); Assert.assertTrue(result); } }