@Override public void run() { context[0] = ThreadContext.getRequestTelemetryContext(); } });
/** * Initializes properties of the given telemetry. * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} to initialize. */ @Override public void initialize(Telemetry telemetry) { // Some threads may not have TLS initialized, such as performance counters mechanism threads. if (ThreadContext.getRequestTelemetryContext() == null) { return; } onInitializeTelemetry(telemetry); }
/** * Initializes properties of the given telemetry. * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} to initialize. */ @Override public void initialize(Telemetry telemetry) { // Some threads may not have TLS initialized, such as performance counters mechanism threads. if (ThreadContext.getRequestTelemetryContext() == null) { return; } onInitializeTelemetry(telemetry); }
/** * Helper method to retrieve Tracestate from ThreadLocal * @return */ public static String retriveTracestate() { //check if context is null - no correlation will happen if (ThreadContext.getRequestTelemetryContext() == null || ThreadContext.getRequestTelemetryContext(). getTracestate() == null) { InternalLogger.INSTANCE.warn("No correlation wil happen, Thread context is null"); return null; } Tracestate tracestate = ThreadContext.getRequestTelemetryContext().getTracestate(); return tracestate.toString(); }
/** * Retrieves the currently stored correlation context from the request context. * @return The correlation context as a string. */ public static String retrieveCorrelationContext() { //check if context is null - no correlation will happen if (ThreadContext.getRequestTelemetryContext() == null) { InternalLogger.INSTANCE.warn("No correlation wil happen, Thread context is null"); return ""; } CorrelationContext context = ThreadContext.getRequestTelemetryContext().getCorrelationContext(); return context.toString(); }
/** * Helper method to retrieve Tracestate from ThreadLocal * @return */ public static String retriveTracestate() { //check if context is null - no correlation will happen if (ThreadContext.getRequestTelemetryContext() == null || ThreadContext.getRequestTelemetryContext(). getTracestate() == null) { InternalLogger.INSTANCE.warn("No correlation wil happen, Thread context is null"); return null; } Tracestate tracestate = ThreadContext.getRequestTelemetryContext().getTracestate(); return tracestate.toString(); }
/** * Retrieves the currently stored correlation context from the request context. * @return The correlation context as a string. */ public static String retrieveCorrelationContext() { //check if context is null - no correlation will happen if (ThreadContext.getRequestTelemetryContext() == null) { InternalLogger.INSTANCE.warn("No correlation wil happen, Thread context is null"); return ""; } CorrelationContext context = ThreadContext.getRequestTelemetryContext().getCorrelationContext(); return context.toString(); }
private void validate() { long currentTicks = ThreadContext.getRequestTelemetryContext().getRequestStartTimeTicks(); Assert.assertEquals("Found a thread with unexpected value.", startTicks, currentTicks); } }
@Test public void testAdapterSetRequestNameCorrectly() throws Exception { HttpServletRequest request = mock(HttpServletRequest.class); when(request.getMethod()).thenReturn(HttpMethods.GET); interceptorAdapter.preHandle(request, null, handlerMethod); String requestName = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry().getName(); String expectedRequestName = String.format("%s %s/%s", HttpMethods.GET, DEFAULT_CONTROLLER_NAME, DEFAULT_ACTION_NAME); Assert.assertEquals(expectedRequestName, requestName); }
/** * 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); }
/** * 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); } }
/** * 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); } }
@Before public void testInitialize() { RequestTelemetryContext requestTelemetryContext = new RequestTelemetryContext(DateTimeUtils.getDateTimeNow().getTime()); ThreadContext.setRequestTelemetryContext(requestTelemetryContext); RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); requestTelemetry.setHttpMethod(HTTP_METHOD); // Setting mock for action context actionContext = mock(ActionContext.class); when(actionContext.getName()).thenReturn(ACTION_NAME); ActionContext.setContext(actionContext); }
@Test public void testInterceptorSetRequestNameCorrectly() throws Exception { interceptor.intercept(actionInvocation); RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); Assert.assertEquals(REQUEST_NAME, requestTelemetry.getName()); }
@Test public void testInterceptorSetRequestNameCorrectly() throws Exception { interceptor.invoke(invocationContext); RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); Assert.assertEquals(REQUEST_NAME, requestTelemetry.getName()); }
private void testRequestNameCalculationWithGivenQueryString(String queryString, String pathVariable) { RequestTelemetryContext context = new RequestTelemetryContext(DateTimeUtils.getDateTimeNow().getTime()); ThreadContext.setRequestTelemetryContext(context); ServletRequest servletRequest = createServletRequest(queryString, pathVariable); defaultModule.onBeginRequest(servletRequest, null); RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); Assert.assertEquals("Request name not valid.", DEFAULT_REQUEST_NAME, requestTelemetry.getName()); }
@Override public void initialize(Telemetry telemetry) { RequestTelemetry requestTelemetry = ThreadContext.getRequestTelemetryContext().getHttpRequestTelemetry(); UserContext requestUserContext = requestTelemetry.getContext().getUser(); if (expectedUserId == null) { //No longer testing for UUID //Assert.assertTrue(Sanitizer.isUUID(requestUserContext.getId())); Assert.assertNotEquals(requestUserContext.getId(), HttpHelper.getCookie()); } else { Assert.assertEquals(expectedUserId, requestUserContext.getId()); } Assert.assertNotNull(requestUserContext.getAcquisitionDate()); } }
private void testNoSessionCookie(Boolean isFirstValue) { RequestTelemetryContext requestTelemetryContext = ThreadContext.getRequestTelemetryContext(); requestTelemetryContext.getHttpRequestTelemetry().getContext().getSession().setIsFirst(isFirstValue); requestTelemetryContext.getHttpRequestTelemetry().getContext().getSession().setId(null); TraceTelemetry telemetry = new TraceTelemetry(); sessionTelemetryInitializer.onInitializeTelemetry(telemetry); Assert.assertNull(telemetry.getContext().getSession().getId()); Assert.assertFalse(telemetry.getContext().getSession().getIsFirst()); } }
@Test public void testNoUserCookie() { RequestTelemetryContext requestTelemetryContext = ThreadContext.getRequestTelemetryContext(); requestTelemetryContext.getHttpRequestTelemetry().getContext().getUser().setAcquisitionDate(null); requestTelemetryContext.getHttpRequestTelemetry().getContext().getUser().setId(null); TraceTelemetry telemetry = new TraceTelemetry(); userTelemetryInitializer.onInitializeTelemetry(telemetry); Assert.assertNull(telemetry.getContext().getUser().getId()); Assert.assertNull(telemetry.getContext().getUser().getAcquisitionDate()); }