@Override protected void doHandleRequestTagging( @NotNull Span span, @NotNull REQ request, @NotNull HttpTagAndSpanNamingAdapter<REQ, ?> adapter ) { putTagIfValueIsNotBlank(span, KnownOpenTracingTags.HTTP_METHOD, adapter.getRequestHttpMethod(request)); putTagIfValueIsNotBlank(span, KnownOpenTracingTags.HTTP_URL, adapter.getRequestUrl(request)); }
@Override protected void doHandleResponseAndErrorTagging( @NotNull Span span, @Nullable REQ request, @Nullable RES response, @Nullable Throwable error, @NotNull HttpTagAndSpanNamingAdapter<REQ, RES> adapter ) { putTagIfValueIsNotBlank(span, KnownOpenTracingTags.HTTP_STATUS, adapter.getResponseHttpStatus(response)); if (error != null || StringUtils.isNotBlank(adapter.getErrorResponseTagValue(response))) { // OpenTracing doesn't expect you to pass messages with the error tag, just error=true. // So we don't need to do anything with the given error Throwable or returned // getErrorResponseTagValue(), other than have them trigger adding the error=true tag. span.putTag(KnownOpenTracingTags.ERROR, "true"); } } }
@Test public void doHandleRequestTagging_puts_expected_tags_based_on_adapter_results() { // given String adapterHttpMethod = "httpmethod-" + UUID.randomUUID().toString(); String adapterHttpUrl = "url-" + UUID.randomUUID().toString(); doReturn(adapterHttpMethod).when(adapterMock).getRequestHttpMethod(anyObject()); doReturn(adapterHttpUrl).when(adapterMock).getRequestUrl(anyObject()); // when implSpy.doHandleRequestTagging(spanMock, requestMock, adapterMock); // then verify(adapterMock).getRequestHttpMethod(requestMock); verify(adapterMock).getRequestUrl(requestMock); verify(implSpy).putTagIfValueIsNotBlank(spanMock, KnownOpenTracingTags.HTTP_METHOD, adapterHttpMethod); verify(implSpy).putTagIfValueIsNotBlank(spanMock, KnownOpenTracingTags.HTTP_URL, adapterHttpUrl); }
verify(implSpy).putTagIfValueIsNotBlank(spanMock, KnownOpenTracingTags.HTTP_STATUS, adapterHttpStatus);