/** * Add a trace parent span for this packet. * <p> * Trace parent spans for a packet are the trace spans responsible for * adding data to that packet. We store them as an array of longs for * efficiency. * <p> * Protected by the DFSOutputStream dataQueue lock. */ public void addTraceParent(Span span) { if (span == null) { return; } addTraceParent(span.getSpanId()); }
/** * Add a trace parent span for this packet.<p/> * * Trace parent spans for a packet are the trace spans responsible for * adding data to that packet. We store them as an array of longs for * efficiency.<p/> * * Protected by the DFSOutputStream dataQueue lock. */ public void addTraceParent(Span span) { if (span == null) { return; } addTraceParent(span.getSpanId()); }
/** * Add a trace parent span for this packet.<p/> * * Trace parent spans for a packet are the trace spans responsible for * adding data to that packet. We store them as an array of longs for * efficiency.<p/> * * Protected by the DFSOutputStream dataQueue lock. */ public void addTraceParent(Span span) { if (span == null) { return; } addTraceParent(span.getSpanId()); }
/** * Put a packet to the data queue * * @param packet the packet to be put into the data queued */ void queuePacket(DFSPacket packet) { synchronized (dataQueue) { if (packet == null) return; packet.addTraceParent(Tracer.getCurrentSpanId()); dataQueue.addLast(packet); lastQueuedSeqno = packet.getSeqno(); LOG.debug("Queued {}, {}", packet, this); dataQueue.notifyAll(); } }
private void queueCurrentPacket() { synchronized (dataQueue) { if (currentPacket == null) return; currentPacket.addTraceParent(Trace.currentSpan()); dataQueue.addLast(currentPacket); lastQueuedSeqno = currentPacket.getSeqno(); if (DFSClient.LOG.isDebugEnabled()) { DFSClient.LOG.debug("Queued packet " + currentPacket.getSeqno()); } currentPacket = null; dataQueue.notifyAll(); } }
private void queueCurrentPacket() { synchronized (dataQueue) { if (currentPacket == null) return; currentPacket.addTraceParent(Trace.currentSpan()); dataQueue.addLast(currentPacket); lastQueuedSeqno = currentPacket.getSeqno(); if (DFSClient.LOG.isDebugEnabled()) { DFSClient.LOG.debug("Queued packet " + currentPacket.getSeqno()); } currentPacket = null; dataQueue.notifyAll(); } }
@Test public void testAddParentsGetParents() throws Exception { DFSPacket p = new DFSPacket(null, maxChunksPerPacket, 0, 0, checksumSize, false); long parents[] = p.getTraceParents(); Assert.assertEquals(0, parents.length); p.addTraceParent(123); p.addTraceParent(123); parents = p.getTraceParents(); Assert.assertEquals(1, parents.length); Assert.assertEquals(123, parents[0]); parents = p.getTraceParents(); // test calling 'get' again. Assert.assertEquals(1, parents.length); Assert.assertEquals(123, parents[0]); p.addTraceParent(1); p.addTraceParent(456); p.addTraceParent(789); parents = p.getTraceParents(); Assert.assertEquals(4, parents.length); Assert.assertEquals(1, parents[0]); Assert.assertEquals(123, parents[1]); Assert.assertEquals(456, parents[2]); Assert.assertEquals(789, parents[3]); } }
@Test public void testAddParentsGetParents() throws Exception { DFSPacket p = new DFSPacket(null, maxChunksPerPacket, 0, 0, checksumSize, false); SpanId parents[] = p.getTraceParents(); Assert.assertEquals(0, parents.length); p.addTraceParent(new SpanId(0, 123)); p.addTraceParent(new SpanId(0, 123)); parents = p.getTraceParents(); Assert.assertEquals(1, parents.length); Assert.assertEquals(new SpanId(0, 123), parents[0]); parents = p.getTraceParents(); // test calling 'get' again. Assert.assertEquals(1, parents.length); Assert.assertEquals(new SpanId(0, 123), parents[0]); p.addTraceParent(new SpanId(0, 1)); p.addTraceParent(new SpanId(0, 456)); p.addTraceParent(new SpanId(0, 789)); parents = p.getTraceParents(); Assert.assertEquals(4, parents.length); Assert.assertEquals(new SpanId(0, 1), parents[0]); Assert.assertEquals(new SpanId(0, 123), parents[1]); Assert.assertEquals(new SpanId(0, 456), parents[2]); Assert.assertEquals(new SpanId(0, 789), parents[3]); } }