test_class.file: stagemonitor-tracing/src/test/java/org/stagemonitor/tracing/profiler/CallStackElementTest.java
test_class.identifier: CallStackElementTest
test_case.body: @Test
  	public void printPercentAsBar() throws Exception {
  		Assert.assertEquals("|||||-----", CallStackElement.printPercentAsBar(0.54d, 10, false));
  		// █████▓▒▒▒▒
  		char[] chars = {9608, 9608, 9608, 9608, 9608, 9619, 9617, 9617, 9617, 9617};
  		Assert.assertEquals(new String(chars), CallStackElement.printPercentAsBar(0.56d, 10, true));
  	}
test_case.class_method_signature: CallStackElementTest.printPercentAsBar()
test_case.full_signature: @Test public void printPercentAsBar()
test_case.identifier: printPercentAsBar
test_case.invocations: assertEquals printPercentAsBar assertEquals printPercentAsBar
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void printPercentAsBar()
focal_class.declarator: useObjectPooling = Stagemonitor.getPlugin(TracingPlugin.class).isProfilerObjectPoolingActive()
focal_class.modifier: private static final
focal_class.original_string: private static final boolean useObjectPooling = Stagemonitor.getPlugin(TracingPlugin.class).isProfilerObjectPoolingActive();
focal_class.type: boolean
focal_class.var_name: useObjectPooling
focal_class.declarator: objectPool
focal_class.modifier: private static
focal_class.original_string: private static Queue<CallStackElement> objectPool;
focal_class.type: Queue<CallStackElement>
focal_class.var_name: objectPool
focal_class.declarator: HORIZONTAL
focal_class.modifier: private static final
focal_class.original_string: private static final String HORIZONTAL;
focal_class.type: String
focal_class.var_name: HORIZONTAL
focal_class.declarator: HORIZONTAL_ANGLE
focal_class.modifier: private static final
focal_class.original_string: private static final String HORIZONTAL_ANGLE;
focal_class.type: String
focal_class.var_name: HORIZONTAL_ANGLE
focal_class.declarator: ANGLE
focal_class.modifier: private static final
focal_class.original_string: private static final String ANGLE;
focal_class.type: String
focal_class.var_name: ANGLE
focal_class.declarator: parent
focal_class.modifier: @JsonIgnore
  	private
focal_class.original_string: @JsonIgnore
  	private CallStackElement parent;
focal_class.type: CallStackElement
focal_class.var_name: parent
focal_class.declarator: signature
focal_class.modifier: private
focal_class.original_string: private String signature;
focal_class.type: String
focal_class.var_name: signature
focal_class.declarator: executionTime
focal_class.modifier: private
focal_class.original_string: private long executionTime;
focal_class.type: long
focal_class.var_name: executionTime
focal_class.declarator: children = new LinkedList<CallStackElement>()
focal_class.modifier: private
focal_class.original_string: private List<CallStackElement> children = new LinkedList<CallStackElement>();
focal_class.type: List<CallStackElement>
focal_class.var_name: children
focal_class.file: stagemonitor-tracing/src/main/java/org/stagemonitor/tracing/profiler/CallStackElement.java
focal_class.identifier: CallStackElement
focal_class.class_method_signature: CallStackElement.createRoot(String signature)
focal_class.full_signature: public static CallStackElement createRoot(String signature)
focal_class.identifier: createRoot
focal_class.modifiers: public static
focal_class.parameters: (String signature)
focal_class.return: CallStackElement
focal_class.signature: CallStackElement createRoot(String signature)
focal_class.class_method_signature: CallStackElement.create(CallStackElement parent, String signature)
focal_class.full_signature: public static CallStackElement create(CallStackElement parent, String signature)
focal_class.identifier: create
focal_class.modifiers: public static
focal_class.parameters: (CallStackElement parent, String signature)
focal_class.return: CallStackElement
focal_class.signature: CallStackElement create(CallStackElement parent, String signature)
focal_class.class_method_signature: CallStackElement.create(CallStackElement parent, String signature, long startTimestamp)
focal_class.full_signature: public static CallStackElement create(CallStackElement parent, String signature, long startTimestamp)
focal_class.identifier: create
focal_class.modifiers: public static
focal_class.parameters: (CallStackElement parent, String signature, long startTimestamp)
focal_class.return: CallStackElement
focal_class.signature: CallStackElement create(CallStackElement parent, String signature, long startTimestamp)
focal_class.class_method_signature: CallStackElement.recycle()
focal_class.full_signature: public void recycle()
focal_class.identifier: recycle
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void recycle()
focal_class.class_method_signature: CallStackElement.removeCallsFasterThan(long thresholdNs)
focal_class.full_signature: public void removeCallsFasterThan(long thresholdNs)
focal_class.identifier: removeCallsFasterThan
focal_class.modifiers: public
focal_class.parameters: (long thresholdNs)
focal_class.return: void
focal_class.signature: void removeCallsFasterThan(long thresholdNs)
focal_class.class_method_signature: CallStackElement.isIOQuery()
focal_class.full_signature: public boolean isIOQuery()
focal_class.identifier: isIOQuery
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isIOQuery()
focal_class.class_method_signature: CallStackElement.getExecutionTime()
focal_class.full_signature: public long getExecutionTime()
focal_class.identifier: getExecutionTime
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getExecutionTime()
focal_class.class_method_signature: CallStackElement.setExecutionTime(long executionTime)
focal_class.full_signature: public void setExecutionTime(long executionTime)
focal_class.identifier: setExecutionTime
focal_class.modifiers: public
focal_class.parameters: (long executionTime)
focal_class.return: void
focal_class.signature: void setExecutionTime(long executionTime)
focal_class.class_method_signature: CallStackElement.getNetExecutionTime()
focal_class.full_signature: public long getNetExecutionTime()
focal_class.identifier: getNetExecutionTime
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getNetExecutionTime()
focal_class.class_method_signature: CallStackElement.incrementExecutionTime(long additionalExecutionTime)
focal_class.full_signature: public void incrementExecutionTime(long additionalExecutionTime)
focal_class.identifier: incrementExecutionTime
focal_class.modifiers: public
focal_class.parameters: (long additionalExecutionTime)
focal_class.return: void
focal_class.signature: void incrementExecutionTime(long additionalExecutionTime)
focal_class.class_method_signature: CallStackElement.getChildren()
focal_class.full_signature: public List<CallStackElement> getChildren()
focal_class.identifier: getChildren
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<CallStackElement>
focal_class.signature: List<CallStackElement> getChildren()
focal_class.class_method_signature: CallStackElement.setChildren(List<CallStackElement> children)
focal_class.full_signature: public void setChildren(List<CallStackElement> children)
focal_class.identifier: setChildren
focal_class.modifiers: public
focal_class.parameters: (List<CallStackElement> children)
focal_class.return: void
focal_class.signature: void setChildren(List<CallStackElement> children)
focal_class.class_method_signature: CallStackElement.getSignature()
focal_class.full_signature: public String getSignature()
focal_class.identifier: getSignature
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getSignature()
focal_class.class_method_signature: CallStackElement.setSignature(String signature)
focal_class.full_signature: public void setSignature(String signature)
focal_class.identifier: setSignature
focal_class.modifiers: public
focal_class.parameters: (String signature)
focal_class.return: void
focal_class.signature: void setSignature(String signature)
focal_class.class_method_signature: CallStackElement.getShortSignature()
focal_class.full_signature: public String getShortSignature()
focal_class.identifier: getShortSignature
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getShortSignature()
focal_class.class_method_signature: CallStackElement.getParent()
focal_class.full_signature: public CallStackElement getParent()
focal_class.identifier: getParent
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: CallStackElement
focal_class.signature: CallStackElement getParent()
focal_class.class_method_signature: CallStackElement.setParent(CallStackElement parent)
focal_class.full_signature: public void setParent(CallStackElement parent)
focal_class.identifier: setParent
focal_class.modifiers: public
focal_class.parameters: (CallStackElement parent)
focal_class.return: void
focal_class.signature: void setParent(CallStackElement parent)
focal_class.class_method_signature: CallStackElement.removeLastChild()
focal_class.full_signature: private void removeLastChild()
focal_class.identifier: removeLastChild
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void removeLastChild()
focal_class.class_method_signature: CallStackElement.remove()
focal_class.full_signature: public void remove()
focal_class.identifier: remove
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void remove()
focal_class.class_method_signature: CallStackElement.executionStopped(long executionTime)
focal_class.full_signature: public void executionStopped(long executionTime)
focal_class.identifier: executionStopped
focal_class.modifiers: public
focal_class.parameters: (long executionTime)
focal_class.return: void
focal_class.signature: void executionStopped(long executionTime)
focal_class.class_method_signature: CallStackElement.executionStopped(long timestamp, long minExecutionTime)
focal_class.full_signature: public CallStackElement executionStopped(long timestamp, long minExecutionTime)
focal_class.identifier: executionStopped
focal_class.modifiers: public
focal_class.parameters: (long timestamp, long minExecutionTime)
focal_class.return: CallStackElement
focal_class.signature: CallStackElement executionStopped(long timestamp, long minExecutionTime)
focal_class.class_method_signature: CallStackElement.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: CallStackElement.toString(boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.full_signature: public String toString(boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.identifier: toString
focal_class.modifiers: public
focal_class.parameters: (boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.return: String
focal_class.signature: String toString(boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.class_method_signature: CallStackElement.logStats(long totalExecutionTimeNs, Deque<String> indentationStack, StringBuilder sb,
  						  final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.full_signature: private void logStats(long totalExecutionTimeNs, Deque<String> indentationStack, StringBuilder sb,
  						  final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.identifier: logStats
focal_class.modifiers: private
focal_class.parameters: (long totalExecutionTimeNs, Deque<String> indentationStack, StringBuilder sb,
  						  final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.return: void
focal_class.signature: void logStats(long totalExecutionTimeNs, Deque<String> indentationStack, StringBuilder sb,
  						  final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.class_method_signature: CallStackElement.appendTimesPercentTable(long totalExecutionTimeNs, StringBuilder sb, boolean asciiArt)
focal_class.full_signature: private void appendTimesPercentTable(long totalExecutionTimeNs, StringBuilder sb, boolean asciiArt)
focal_class.identifier: appendTimesPercentTable
focal_class.modifiers: private
focal_class.parameters: (long totalExecutionTimeNs, StringBuilder sb, boolean asciiArt)
focal_class.return: void
focal_class.signature: void appendTimesPercentTable(long totalExecutionTimeNs, StringBuilder sb, boolean asciiArt)
focal_class.class_method_signature: CallStackElement.appendNumber(StringBuilder sb, long time)
focal_class.full_signature: private void appendNumber(StringBuilder sb, long time)
focal_class.identifier: appendNumber
focal_class.modifiers: private
focal_class.parameters: (StringBuilder sb, long time)
focal_class.return: void
focal_class.signature: void appendNumber(StringBuilder sb, long time)
focal_class.class_method_signature: CallStackElement.appendPercent(StringBuilder sb, long time, long totalExecutionTimeNs, boolean asciiArt)
focal_class.full_signature: private void appendPercent(StringBuilder sb, long time, long totalExecutionTimeNs, boolean asciiArt)
focal_class.identifier: appendPercent
focal_class.modifiers: private
focal_class.parameters: (StringBuilder sb, long time, long totalExecutionTimeNs, boolean asciiArt)
focal_class.return: void
focal_class.signature: void appendPercent(StringBuilder sb, long time, long totalExecutionTimeNs, boolean asciiArt)
focal_class.class_method_signature: CallStackElement.printPercentAsBar(double percent, int totalBars, boolean asciiArt)
focal_class.full_signature: static String printPercentAsBar(double percent, int totalBars, boolean asciiArt)
focal_class.identifier: printPercentAsBar
focal_class.modifiers: static
focal_class.parameters: (double percent, int totalBars, boolean asciiArt)
focal_class.return: String
focal_class.signature: String printPercentAsBar(double percent, int totalBars, boolean asciiArt)
focal_class.class_method_signature: CallStackElement.appendCallTree(Deque<String> indentationStack, StringBuilder sb, final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.full_signature: private void appendCallTree(Deque<String> indentationStack, StringBuilder sb, final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.identifier: appendCallTree
focal_class.modifiers: private
focal_class.parameters: (Deque<String> indentationStack, StringBuilder sb, final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.return: void
focal_class.signature: void appendCallTree(Deque<String> indentationStack, StringBuilder sb, final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter)
focal_class.class_method_signature: CallStackElement.isLastChild()
focal_class.full_signature: private boolean isLastChild()
focal_class.identifier: isLastChild
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isLastChild()
focal_class.class_method_signature: CallStackElement.isRoot()
focal_class.full_signature: private boolean isRoot()
focal_class.identifier: isRoot
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isRoot()
focal_method.body: static String printPercentAsBar(double percent, int totalBars, boolean asciiArt) {
  		int actualBars = (int) (percent * totalBars);
  		boolean includeHalfBarAtEnd = actualBars * 2 != (int) (percent * totalBars * 2);
  		StringBuilder sb = new StringBuilder(totalBars);
  		for (int i = 0; i < totalBars; i++) {
  			if (i < actualBars) {
  				sb.append(asciiArt ? (char) 9608 : '|');
  			} else if (i == actualBars && includeHalfBarAtEnd) {
  				sb.append(asciiArt ? (char) 9619 : ':');
  			} else {
  				sb.append(asciiArt ? (char) 9617 : '-');
  			}
  		}
  		return sb.toString();
  	}
focal_method.class_method_signature: CallStackElement.printPercentAsBar(double percent, int totalBars, boolean asciiArt)
focal_method.full_signature: static String printPercentAsBar(double percent, int totalBars, boolean asciiArt)
focal_method.identifier: printPercentAsBar
focal_method.invocations: append append append toString
focal_method.modifiers: static
focal_method.parameters: (double percent, int totalBars, boolean asciiArt)
focal_method.return: String
focal_method.signature: String printPercentAsBar(double percent, int totalBars, boolean asciiArt)