@Override protected void doHandleResponseAndErrorTagging( @NotNull Span span, @Nullable REQ request, @Nullable RES response, @Nullable Throwable error, @NotNull HttpTagAndSpanNamingAdapter<REQ, RES> adapter ) { // Now that we have both request and response, we'll re-try to get the route. putTagIfValueIsNotBlank(span, KnownZipkinTags.HTTP_ROUTE, adapter.getRequestUriPathTemplate(request, response)); putTagIfValueIsNotBlank(span, KnownZipkinTags.HTTP_STATUS_CODE, adapter.getResponseHttpStatus(response)); // For error tagging, we'll defer to the error Throwable if it's not null. if (error != null) { String message = error.getMessage(); if (message == null) { message = error.getClass().getSimpleName(); } addErrorTagToSpan(span, message); } else { // The error Throwable was null, so we'll see if the adapter thinks this is an error response. String errorTagValue = adapter.getErrorResponseTagValue(response); if (StringUtils.isNotBlank(errorTagValue)) { addErrorTagToSpan(span, errorTagValue); } } }
@Override protected void doHandleRequestTagging( @NotNull Span span, @NotNull REQ request, @NotNull HttpTagAndSpanNamingAdapter<REQ, ?> adapter ) { putTagIfValueIsNotBlank(span, KnownZipkinTags.HTTP_METHOD, adapter.getRequestHttpMethod(request)); putTagIfValueIsNotBlank(span, KnownZipkinTags.HTTP_PATH, adapter.getRequestPath(request)); putTagIfValueIsNotBlank(span, KnownZipkinTags.HTTP_URL, adapter.getRequestUrl(request)); putTagIfValueIsNotBlank(span, KnownZipkinTags.HTTP_ROUTE, adapter.getRequestUriPathTemplate(request, null)); }
) { String httpMethod = (adapter == null) ? null : adapter.getRequestHttpMethod(request); String pathTemplate = (adapter == null) ? null : adapter.getRequestUriPathTemplate(request, response); Integer responseStatusCode = (adapter == null) ? null : adapter.getResponseHttpStatus(response);
@Test public void doHandleRequestTagging_puts_expected_tags_based_on_adapter_results() { // given String adapterHttpMethod = "httpmethod-" + UUID.randomUUID().toString(); String adapterPath = "path-" + UUID.randomUUID().toString(); String adapterHttpUrl = "url-" + UUID.randomUUID().toString(); String adapterRoute = "route-" + UUID.randomUUID().toString(); doReturn(adapterHttpMethod).when(adapterMock).getRequestHttpMethod(anyObject()); doReturn(adapterPath).when(adapterMock).getRequestPath(anyObject()); doReturn(adapterHttpUrl).when(adapterMock).getRequestUrl(anyObject()); doReturn(adapterRoute).when(adapterMock).getRequestUriPathTemplate(anyObject(), anyObject()); // when implSpy.doHandleRequestTagging(spanMock, requestMock, adapterMock); // then verify(adapterMock).getRequestHttpMethod(requestMock); verify(adapterMock).getRequestPath(requestMock); verify(adapterMock).getRequestUrl(requestMock); verify(adapterMock).getRequestUriPathTemplate(requestMock, null); verify(implSpy).putTagIfValueIsNotBlank(spanMock, KnownZipkinTags.HTTP_METHOD, adapterHttpMethod); verify(implSpy).putTagIfValueIsNotBlank(spanMock, KnownZipkinTags.HTTP_PATH, adapterPath); verify(implSpy).putTagIfValueIsNotBlank(spanMock, KnownZipkinTags.HTTP_URL, adapterHttpUrl); verify(implSpy).putTagIfValueIsNotBlank(spanMock, KnownZipkinTags.HTTP_ROUTE, adapterRoute); }
doReturn(pathTemplate).when(adapterMock).getRequestUriPathTemplate(anyObject(), anyObject()); doReturn(statusCode).when(adapterMock).getResponseHttpStatus(anyObject()); verify(adapterMock).getRequestUriPathTemplate(requestMock, responseMock); verify(adapterMock).getResponseHttpStatus(responseMock); verifyNoMoreInteractions(adapterMock);
doReturn(adapterRoute).when(adapterMock).getRequestUriPathTemplate(anyObject(), anyObject()); verify(adapterMock).getRequestUriPathTemplate(requestMock, responseMock); verify(adapterMock).getResponseHttpStatus(responseMock);
doReturn(pathTemplate).when(implSpy).getRequestUriPathTemplate(anyObject(), anyObject()); doReturn(responseStatusCode).when(implSpy).getResponseHttpStatus(anyObject());