@Test public void testSetServerSendInCaseOfThreadDuration() throws UnsupportedEncodingException { when(mockServerSpan.getSpan()).thenReturn(mockSpan); when(mockServerSpanState.getCurrentServerSpan()).thenReturn(mockServerSpan); when(mockServerSpanState.getServerSpanThreadDuration()).thenReturn(DURATION_MS); when(mockServerSpanState.getServerEndPoint()).thenReturn(mockEndPoint); serverTracer.setServerSend(); verify(mockServerSpanState, times(3)).getCurrentServerSpan(); verify(mockServerSpanState, times(2)).getServerEndPoint(); final Annotation expectedServerSendAnnotation = new Annotation(); expectedServerSendAnnotation.setHost(mockEndPoint); expectedServerSendAnnotation.setValue(zipkinCoreConstants.SERVER_SEND); expectedServerSendAnnotation.setTimestamp(CURRENT_TIME_MICROSECONDS); final BinaryAnnotation expectedThreadDurationAnnotation = new BinaryAnnotation(); expectedThreadDurationAnnotation.setAnnotation_type(AnnotationType.STRING); expectedThreadDurationAnnotation.setHost(mockEndPoint); expectedThreadDurationAnnotation.setKey(BraveAnnotations.THREAD_DURATION); final ByteBuffer bb = ByteBuffer.wrap(String.valueOf(DURATION_MS).getBytes("UTF-8")); expectedThreadDurationAnnotation.setValue(bb); verify(mockSpan).addToAnnotations(expectedServerSendAnnotation); verify(mockSpan).addToBinary_annotations(expectedThreadDurationAnnotation); verify(mockServerSpanState).getServerSpanThreadDuration(); verify(mockSpanCollector).collect(mockSpan); verify(mockServerSpanState).setCurrentServerSpan(null); verifyNoMoreInteractions(mockServerSpanState, mockSpanCollector, mockSpan); }
/** * Set start time of Span in milliseconds * * @param start Start of Span in milliseconds * @return this */ public ZipkinSpanBuilder startTimeMs(long start) { Annotation annotation = new Annotation(); // Zipkin uses microseconds annotation.setTimestamp(start * 1000); annotation.setValue(zipkinCoreConstants.CLIENT_SEND); annotation.setHost(endPoint); zipkinSpan.addToAnnotations(annotation); return this; }
@Test public void testSetServerReceived() { when(mockServerSpan.getSpan()).thenReturn(mockSpan); when(mockServerSpanState.getCurrentServerSpan()).thenReturn(mockServerSpan); when(mockServerSpanState.getServerEndPoint()).thenReturn(mockEndPoint); serverTracer.setServerReceived(); final Annotation expectedAnnotation = new Annotation(); expectedAnnotation.setHost(mockEndPoint); expectedAnnotation.setValue(zipkinCoreConstants.SERVER_RECV); expectedAnnotation.setTimestamp(CURRENT_TIME_MICROSECONDS); verify(mockServerSpanState).getCurrentServerSpan(); verify(mockServerSpanState).getServerEndPoint(); verify(mockSpan).addToAnnotations(expectedAnnotation); verifyNoMoreInteractions(mockServerSpanState, mockSpan, mockSpanCollector); }