use of com.android.tools.perflib.vmtrace.Call in project android by JetBrains.
the class CpuTraceArt method convertCallsToNode.
private HNode<MethodModel> convertCallsToNode(VmTraceData data, Call call, int depth) {
HNode<MethodModel> node = new HNode<>();
// ART stores timestamp in a compressed fashion: All timestamp are 32 bits relative to a startTime.
// We need to reconstruct the full timestamp by adding each of them to startTime.
node.setStart((call.getEntryTime(ClockType.GLOBAL, TimeUnit.MICROSECONDS) + data.getStartTimeUs()));
node.setEnd((call.getExitTime(ClockType.GLOBAL, TimeUnit.MICROSECONDS) + data.getStartTimeUs()));
node.setDepth(depth);
MethodModel method = new MethodModel();
method.setName(data.getMethod(call.getMethodId()).methodName);
method.setNamespace(data.getMethod(call.getMethodId()).className);
node.setData(method);
for (Call callee : call.getCallees()) {
node.addHNode(convertCallsToNode(data, callee, depth + 1));
}
return node;
}