/** * Creates a new {@link InvocationTreeElement} without a parent. * * @param dataElement * the data element of the created {@link InvocationTreeElement} * @return the newly created {@link InvocationTreeElement} */ private InvocationTreeElement createTreeElement(Object dataElement) { return createTreeElement(dataElement, null); }
InvocationTreeElement element = createTreeElement(rootDataElement); element.setRoot(true); return element; InvocationTreeElement element = createTreeElement(rootSpan.get()); element.setRoot(true); return element; InvocationTreeElement element = createTreeElement(rootSequence.get()); element.setRoot(true); return element;
if (span.isCaller()) { child = createTreeElement(span, parent); } else { child = createTreeElement(span, parent); InvocationTreeElement newRoot = createTreeElement(currentData.getSpanIdent()); newRoot.addChild(parent); createTreeElement(currentData.getSpanIdent(), parent); InvocationTreeElement child = createTreeElement(data, parent); resolveInvocationSequence(child);
/** * Resolves a span element. * * @param parent * a {@link InvocationTreeElement} from type {@link TreeElementType#SPAN}. */ private void resolveSpan(InvocationTreeElement parent) { Span currentSpan = (Span) parent.getDataElement(); if (!currentSpan.isCaller()) { // server span - expect invocation sequence for (InvocationSequenceData data : invocationSequences) { if (InvocationSequenceDataHelper.hasSpanIdent(data) && data.getSpanIdent().equals(currentSpan.getSpanIdent())) { InvocationTreeElement child = createTreeElement(data, parent); resolveInvocationSequence(child); } } } for (Span span : spans) { // if span is already in the tree, skip it if (isSpanInTree(span.getSpanIdent())) { continue; } if (span.getParentSpanId() == currentSpan.getSpanIdent().getId()) { InvocationTreeElement child = createTreeElement(span, parent); resolveSpan(child); } } }