Skip to content

Instantly share code, notes, and snippets.

@inikolaev
Last active August 28, 2019 02:57
Show Gist options
  • Save inikolaev/acc3d34d64dd6da080851f4d93953d93 to your computer and use it in GitHub Desktop.
Save inikolaev/acc3d34d64dd6da080851f4d93953d93 to your computer and use it in GitHub Desktop.

Commands used to run profiler:

  • Event cpu

    java -agentpath:libasyncProfiler.so=start,svg,file=flamegraph-cpu.svg,interval=1ms,threads -cp target/classes ProfileIdle

  • Event wall

    java -agentpath:libasyncProfiler.so=start,svg,file=flamegraph-wall.svg,interval=1ms,event=wall,threads -cp target/classes ProfileIdle

Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="1200" height="294" onload="init(evt)" viewBox="0 0 1200 294" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<style type="text/css">
text { font-family:Verdana; font-size:12px; fill:black; }
.func_g:hover { stroke:black; stroke-width:0.5; cursor:pointer; }
</style>
<script type="text/ecmascript">
<![CDATA[
var details, searchbtn, matchedtxt, svg;
function init(evt) {
details = document.getElementById("details").firstChild;
searchbtn = document.getElementById("search");
matchedtxt = document.getElementById("matched");
svg = document.getElementsByTagName("svg")[0];
searching = 0;
}
// mouse-over for info
function s(node) { // show
info = g_to_text(node);
details.nodeValue = "Function: " + info;
}
function c() { // clear
details.nodeValue = ' ';
}
// ctrl-F for search
window.addEventListener("keydown",function (e) {
if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) {
e.preventDefault();
search_prompt();
}
})
// functions
function find_child(parent, name, attr) {
var children = parent.childNodes;
for (var i=0; i<children.length;i++) {
if (children[i].tagName == name)
return (attr != undefined) ? children[i].attributes[attr].value : children[i];
}
return;
}
function orig_save(e, attr, val) {
if (e.attributes["_orig_"+attr] != undefined) return;
if (e.attributes[attr] == undefined) return;
if (val == undefined) val = e.attributes[attr].value;
e.setAttribute("_orig_"+attr, val);
}
function orig_load(e, attr) {
if (e.attributes["_orig_"+attr] == undefined) return;
e.attributes[attr].value = e.attributes["_orig_"+attr].value;
e.removeAttribute("_orig_"+attr);
}
function g_to_text(e) {
var text = find_child(e, "title").firstChild.nodeValue;
return (text)
}
function g_to_func(e) {
var func = g_to_text(e);
// if there's any manipulation we want to do to the function
// name before it's searched, do it here before returning.
return (func);
}
function update_text(e) {
var r = find_child(e, "rect");
var t = find_child(e, "text");
var w = parseFloat(r.attributes["width"].value) -3;
var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,"");
t.attributes["x"].value = parseFloat(r.attributes["x"].value) +3;
// Smaller than this size won't fit anything
if (w < 2*12*0.59) {
t.textContent = "";
return;
}
t.textContent = txt;
// Fit in full text width
if (/^ *$/.test(txt) || t.getSubStringLength(0, txt.length) < w)
return;
for (var x=txt.length-2; x>0; x--) {
if (t.getSubStringLength(0, x+2) <= w) {
t.textContent = txt.substring(0,x) + "..";
return;
}
}
t.textContent = "";
}
// zoom
function zoom_reset(e) {
if (e.attributes != undefined) {
orig_load(e, "x");
orig_load(e, "width");
}
if (e.childNodes == undefined) return;
for(var i=0, c=e.childNodes; i<c.length; i++) {
zoom_reset(c[i]);
}
}
function zoom_child(e, x, ratio) {
if (e.attributes != undefined) {
if (e.attributes["x"] != undefined) {
orig_save(e, "x");
e.attributes["x"].value = (parseFloat(e.attributes["x"].value) - x - 10) * ratio + 10;
if(e.tagName == "text") e.attributes["x"].value = find_child(e.parentNode, "rect", "x") + 3;
}
if (e.attributes["width"] != undefined) {
orig_save(e, "width");
e.attributes["width"].value = parseFloat(e.attributes["width"].value) * ratio;
}
}
if (e.childNodes == undefined) return;
for(var i=0, c=e.childNodes; i<c.length; i++) {
zoom_child(c[i], x-10, ratio);
}
}
function zoom_parent(e) {
if (e.attributes) {
if (e.attributes["x"] != undefined) {
orig_save(e, "x");
e.attributes["x"].value = 10;
}
if (e.attributes["width"] != undefined) {
orig_save(e, "width");
e.attributes["width"].value = parseInt(svg.width.baseVal.value) - (10*2);
}
}
if (e.childNodes == undefined) return;
for(var i=0, c=e.childNodes; i<c.length; i++) {
zoom_parent(c[i]);
}
}
function zoom(node) {
var attr = find_child(node, "rect").attributes;
var width = parseFloat(attr["width"].value);
var xmin = parseFloat(attr["x"].value);
var xmax = parseFloat(xmin + width);
var ymin = parseFloat(attr["y"].value);
var ratio = (svg.width.baseVal.value - 2*10) / width;
// XXX: Workaround for JavaScript float issues (fix me)
var fudge = 0.0001;
var unzoombtn = document.getElementById("unzoom");
unzoombtn.style["opacity"] = "1.0";
var el = document.getElementsByTagName("g");
for(var i=0;i<el.length;i++){
var e = el[i];
var a = find_child(e, "rect").attributes;
var ex = parseFloat(a["x"].value);
var ew = parseFloat(a["width"].value);
// Is it an ancestor
if (0 == 0) {
var upstack = parseFloat(a["y"].value) > ymin;
} else {
var upstack = parseFloat(a["y"].value) < ymin;
}
if (upstack) {
// Direct ancestor
if (ex <= xmin && (ex+ew+fudge) >= xmax) {
e.style["opacity"] = "0.5";
zoom_parent(e);
e.onclick = function(e){unzoom(); zoom(this);};
update_text(e);
}
// not in current path
else
e.style["display"] = "none";
}
// Children maybe
else {
// no common path
if (ex < xmin || ex + fudge >= xmax) {
e.style["display"] = "none";
}
else {
zoom_child(e, xmin, ratio);
e.onclick = function(e){zoom(this);};
update_text(e);
}
}
}
}
function unzoom() {
var unzoombtn = document.getElementById("unzoom");
unzoombtn.style["opacity"] = "0.0";
var el = document.getElementsByTagName("g");
for(i=0;i<el.length;i++) {
el[i].style["display"] = "block";
el[i].style["opacity"] = "1";
zoom_reset(el[i]);
update_text(el[i]);
}
}
// search
function reset_search() {
var el = document.getElementsByTagName("rect");
for (var i=0; i < el.length; i++) {
orig_load(el[i], "fill")
}
}
function search_prompt() {
if (!searching) {
var term = prompt("Enter a search term (regexp " +
"allowed, eg: ^ext4_)", "");
if (term != null) {
search(term)
}
} else {
reset_search();
searching = 0;
searchbtn.style["opacity"] = "0.1";
searchbtn.firstChild.nodeValue = "Search"
matchedtxt.style["opacity"] = "0.0";
matchedtxt.firstChild.nodeValue = ""
}
}
function search(term) {
var re = new RegExp(term);
var el = document.getElementsByTagName("g");
var matches = new Object();
var maxwidth = 0;
for (var i = 0; i < el.length; i++) {
var e = el[i];
if (e.attributes["class"].value != "func_g")
continue;
var func = g_to_func(e);
var rect = find_child(e, "rect");
if (rect == null) {
// the rect might be wrapped in an anchor
// if nameattr href is being used
if (rect = find_child(e, "a")) {
rect = find_child(r, "rect");
}
}
if (func == null || rect == null)
continue;
// Save max width. Only works as we have a root frame
var w = parseFloat(rect.attributes["width"].value);
if (w > maxwidth)
maxwidth = w;
if (func.match(re)) {
// highlight
var x = parseFloat(rect.attributes["x"].value);
orig_save(rect, "fill");
rect.attributes["fill"].value =
"rgb(230,0,230)";
// remember matches
if (matches[x] == undefined) {
matches[x] = w;
} else {
if (w > matches[x]) {
// overwrite with parent
matches[x] = w;
}
}
searching = 1;
}
}
if (!searching)
return;
searchbtn.style["opacity"] = "1.0";
searchbtn.firstChild.nodeValue = "Reset Search"
// calculate percent matched, excluding vertical overlap
var count = 0;
var lastx = -1;
var lastw = 0;
var keys = Array();
for (k in matches) {
if (matches.hasOwnProperty(k))
keys.push(k);
}
// sort the matched frames by their x location
// ascending, then width descending
keys.sort(function(a, b){
return a - b;
});
// Step through frames saving only the biggest bottom-up frames
// thanks to the sort order. This relies on the tree property
// where children are always smaller than their parents.
var fudge = 0.0001; // JavaScript floating point
for (var k in keys) {
var x = parseFloat(keys[k]);
var w = matches[keys[k]];
if (x >= lastx + lastw - fudge) {
count += w;
lastx = x;
lastw = w;
}
}
// display matched percent
matchedtxt.style["opacity"] = "1.0";
pct = 100 * count / maxwidth;
if (pct == 100)
pct = "100"
else
pct = pct.toFixed(1)
matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%";
}
function searchover(e) {
searchbtn.style["opacity"] = "1.0";
}
function searchout(e) {
if (searching) {
searchbtn.style["opacity"] = "1.0";
} else {
searchbtn.style["opacity"] = "0.1";
}
}
]]>
</script>
<rect x="0" y="0" width="100%" height="100%" fill="rgb(240,240,220)"/>
<text x="600" y="24" text-anchor="middle" style="font-size:17px">Flame Graph</text>
<text x="10" y="277" id="details"> </text>
<text x="10" y="24" id="unzoom" onclick="unzoom()" style="opacity:0.0;cursor:pointer">Reset Zoom</text>
<text x="1090" y="24" id="search" onmouseover="searchover()" onmouseout="searchout()" onclick="search_prompt()" style="opacity:0.1;cursor:pointer">Search</text>
<text x="1090" y="277" id="matched"> </text>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>all (105,895 samples, 100.00%)</title><rect x="10.0" y="243.0" width="1180.0" height="15" fill="#c83232" rx="2" ry="2"/>
<text x="13.0" y="254.0">all</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[DestroyJavaVM tid=6147] (6,562 samples, 6.20%)</title><rect x="10.0" y="227.0" width="73.1" height="15" fill="#cf3c3c" rx="2" ry="2"/>
<text x="13.0" y="238.0">[Destroy..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ProfileIdle.main (6,543 samples, 6.18%)</title><rect x="10.0" y="211.0" width="72.9" height="15" fill="#5ff15f" rx="2" ry="2"/>
<text x="13.0" y="222.0">ProfileI..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ProfileIdle.work (4,000 samples, 3.78%)</title><rect x="10.0" y="195.0" width="44.6" height="15" fill="#4de14d" rx="2" ry="2"/>
<text x="13.0" y="206.0">Prof..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/Math.atan (3,883 samples, 3.67%)</title><rect x="10.7" y="179.0" width="43.2" height="15" fill="#51e551" rx="2" ry="2"/>
<text x="13.7" y="190.0">java..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/StrictMath.atan (3,870 samples, 3.65%)</title><rect x="10.8" y="163.0" width="43.1" height="15" fill="#3fd43f" rx="2" ry="2"/>
<text x="13.8" y="174.0">java..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>jatan (3,169 samples, 2.99%)</title><rect x="18.3" y="147.0" width="35.3" height="15" fill="#ca3535" rx="2" ry="2"/>
<text x="21.3" y="158.0">jatan</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>jfabs (790 samples, 0.75%)</title><rect x="44.8" y="131.0" width="8.8" height="15" fill="#ed6868" rx="2" ry="2"/>
<text x="47.8" y="142.0"></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/Thread.sleep (2,543 samples, 2.40%)</title><rect x="54.6" y="195.0" width="28.3" height="15" fill="#5aed5a" rx="2" ry="2"/>
<text x="57.6" y="206.0">ja..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JVM_Sleep (2,543 samples, 2.40%)</title><rect x="54.6" y="179.0" width="28.3" height="15" fill="#fb7c7c" rx="2" ry="2"/>
<text x="57.6" y="190.0">JV..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::sleep(Thread*, long, bool) (2,543 samples, 2.40%)</title><rect x="54.6" y="163.0" width="28.3" height="15" fill="#c4c439" rx="2" ry="2"/>
<text x="57.6" y="174.0">os..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park(long) (2,543 samples, 2.40%)</title><rect x="54.6" y="147.0" width="28.3" height="15" fill="#cbcb3c" rx="2" ry="2"/>
<text x="57.6" y="158.0">os..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (2,543 samples, 2.40%)</title><rect x="54.6" y="131.0" width="28.3" height="15" fill="#f57474" rx="2" ry="2"/>
<text x="57.6" y="142.0">__..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[Finalizer tid=20995] (6,624 samples, 6.26%)</title><rect x="83.1" y="227.0" width="73.8" height="15" fill="#c93434" rx="2" ry="2"/>
<text x="86.1" y="238.0">[Finaliz..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/ref/Finalizer$FinalizerThread.run (6,624 samples, 6.26%)</title><rect x="83.1" y="211.0" width="73.8" height="15" fill="#35ca35" rx="2" ry="2"/>
<text x="86.1" y="222.0">java/lan..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/ref/ReferenceQueue.remove (6,624 samples, 6.26%)</title><rect x="83.1" y="195.0" width="73.8" height="15" fill="#51e551" rx="2" ry="2"/>
<text x="86.1" y="206.0">java/lan..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/ref/ReferenceQueue.remove (6,624 samples, 6.26%)</title><rect x="83.1" y="179.0" width="73.8" height="15" fill="#5aec5a" rx="2" ry="2"/>
<text x="86.1" y="190.0">java/lan..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/Object.wait (6,624 samples, 6.26%)</title><rect x="83.1" y="163.0" width="73.8" height="15" fill="#32c832" rx="2" ry="2"/>
<text x="86.1" y="174.0">java/lan..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JVM_MonitorWait (6,624 samples, 6.26%)</title><rect x="83.1" y="147.0" width="73.8" height="15" fill="#dd5050" rx="2" ry="2"/>
<text x="86.1" y="158.0">JVM_Moni..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ObjectSynchronizer::wait(Handle, long, Thread*) (6,624 samples, 6.26%)</title><rect x="83.1" y="131.0" width="73.8" height="15" fill="#b2b233" rx="2" ry="2"/>
<text x="86.1" y="142.0">ObjectSy..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ObjectMonitor::wait(long, bool, Thread*) (6,624 samples, 6.26%)</title><rect x="83.1" y="115.0" width="73.8" height="15" fill="#c5c53a" rx="2" ry="2"/>
<text x="86.1" y="126.0">ObjectMo..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park() (6,624 samples, 6.26%)</title><rect x="83.1" y="99.0" width="73.8" height="15" fill="#d4d43f" rx="2" ry="2"/>
<text x="86.1" y="110.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,624 samples, 6.26%)</title><rect x="83.1" y="83.0" width="73.8" height="15" fill="#e86161" rx="2" ry="2"/>
<text x="86.1" y="94.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[Reference Handler tid=12547] (6,624 samples, 6.26%)</title><rect x="156.9" y="227.0" width="73.8" height="15" fill="#fb7c7c" rx="2" ry="2"/>
<text x="159.9" y="238.0">[Referen..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/ref/Reference$ReferenceHandler.run (6,624 samples, 6.26%)</title><rect x="156.9" y="211.0" width="73.8" height="15" fill="#64f664" rx="2" ry="2"/>
<text x="159.9" y="222.0">java/lan..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/ref/Reference.tryHandlePending (6,624 samples, 6.26%)</title><rect x="156.9" y="195.0" width="73.8" height="15" fill="#51e451" rx="2" ry="2"/>
<text x="159.9" y="206.0">java/lan..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/Object.wait (6,624 samples, 6.26%)</title><rect x="156.9" y="179.0" width="73.8" height="15" fill="#37cd37" rx="2" ry="2"/>
<text x="159.9" y="190.0">java/lan..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java/lang/Object.wait (6,624 samples, 6.26%)</title><rect x="156.9" y="163.0" width="73.8" height="15" fill="#59eb59" rx="2" ry="2"/>
<text x="159.9" y="174.0">java/lan..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JVM_MonitorWait (6,624 samples, 6.26%)</title><rect x="156.9" y="147.0" width="73.8" height="15" fill="#de5353" rx="2" ry="2"/>
<text x="159.9" y="158.0">JVM_Moni..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ObjectSynchronizer::wait(Handle, long, Thread*) (6,624 samples, 6.26%)</title><rect x="156.9" y="131.0" width="73.8" height="15" fill="#d5d540" rx="2" ry="2"/>
<text x="159.9" y="142.0">ObjectSy..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ObjectMonitor::wait(long, bool, Thread*) (6,624 samples, 6.26%)</title><rect x="156.9" y="115.0" width="73.8" height="15" fill="#e1e144" rx="2" ry="2"/>
<text x="159.9" y="126.0">ObjectMo..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park() (6,624 samples, 6.26%)</title><rect x="156.9" y="99.0" width="73.8" height="15" fill="#d8d841" rx="2" ry="2"/>
<text x="159.9" y="110.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,624 samples, 6.26%)</title><rect x="156.9" y="83.0" width="73.8" height="15" fill="#d64646" rx="2" ry="2"/>
<text x="159.9" y="94.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[Signal Dispatcher tid=19203] (6,624 samples, 6.26%)</title><rect x="230.7" y="227.0" width="73.9" height="15" fill="#ca3535" rx="2" ry="2"/>
<text x="233.7" y="238.0">[Signal ..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,624 samples, 6.26%)</title><rect x="230.7" y="211.0" width="73.9" height="15" fill="#f06c6c" rx="2" ry="2"/>
<text x="233.7" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,624 samples, 6.26%)</title><rect x="230.7" y="195.0" width="73.9" height="15" fill="#da4c4c" rx="2" ry="2"/>
<text x="233.7" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,624 samples, 6.26%)</title><rect x="230.7" y="179.0" width="73.9" height="15" fill="#ea6464" rx="2" ry="2"/>
<text x="233.7" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,624 samples, 6.26%)</title><rect x="230.7" y="163.0" width="73.9" height="15" fill="#f16e6e" rx="2" ry="2"/>
<text x="233.7" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::run() (6,624 samples, 6.26%)</title><rect x="230.7" y="147.0" width="73.9" height="15" fill="#e5e545" rx="2" ry="2"/>
<text x="233.7" y="158.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::thread_main_inner() (6,624 samples, 6.26%)</title><rect x="230.7" y="131.0" width="73.9" height="15" fill="#c3c339" rx="2" ry="2"/>
<text x="233.7" y="142.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>signal_thread_entry(JavaThread*, Thread*) (6,624 samples, 6.26%)</title><rect x="230.7" y="115.0" width="73.9" height="15" fill="#d54545" rx="2" ry="2"/>
<text x="233.7" y="126.0">signal_t..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__block_descriptor_tmp (6,624 samples, 6.26%)</title><rect x="230.7" y="99.0" width="73.9" height="15" fill="#fe8080" rx="2" ry="2"/>
<text x="233.7" y="110.0">__block_..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=10755] (6,619 samples, 6.25%)</title><rect x="304.6" y="227.0" width="73.7" height="15" fill="#ef6b6b" rx="2" ry="2"/>
<text x="307.6" y="238.0">[tid=107..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,619 samples, 6.25%)</title><rect x="304.6" y="211.0" width="73.7" height="15" fill="#f16e6e" rx="2" ry="2"/>
<text x="307.6" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,619 samples, 6.25%)</title><rect x="304.6" y="195.0" width="73.7" height="15" fill="#eb6666" rx="2" ry="2"/>
<text x="307.6" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,619 samples, 6.25%)</title><rect x="304.6" y="179.0" width="73.7" height="15" fill="#cb3737" rx="2" ry="2"/>
<text x="307.6" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,619 samples, 6.25%)</title><rect x="304.6" y="163.0" width="73.7" height="15" fill="#ea6464" rx="2" ry="2"/>
<text x="307.6" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>GCTaskThread::run() (6,619 samples, 6.25%)</title><rect x="304.6" y="147.0" width="73.7" height="15" fill="#dfdf43" rx="2" ry="2"/>
<text x="307.6" y="158.0">GCTaskTh..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>GCTaskManager::get_task(unsigned int) (6,619 samples, 6.25%)</title><rect x="304.6" y="131.0" width="73.7" height="15" fill="#bdbd37" rx="2" ry="2"/>
<text x="307.6" y="142.0">GCTaskMa..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,619 samples, 6.25%)</title><rect x="304.6" y="115.0" width="73.7" height="15" fill="#c7c73a" rx="2" ry="2"/>
<text x="307.6" y="126.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,619 samples, 6.25%)</title><rect x="304.6" y="99.0" width="73.7" height="15" fill="#d9d941" rx="2" ry="2"/>
<text x="307.6" y="110.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ParkCommon(ParkEvent*, long) (6,619 samples, 6.25%)</title><rect x="304.6" y="83.0" width="73.7" height="15" fill="#e25858" rx="2" ry="2"/>
<text x="307.6" y="94.0">ParkComm..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park() (6,619 samples, 6.25%)</title><rect x="304.6" y="67.0" width="73.7" height="15" fill="#bcbc36" rx="2" ry="2"/>
<text x="307.6" y="78.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,619 samples, 6.25%)</title><rect x="304.6" y="51.0" width="73.7" height="15" fill="#d74747" rx="2" ry="2"/>
<text x="307.6" y="62.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=11267] (6,623 samples, 6.25%)</title><rect x="378.3" y="227.0" width="73.8" height="15" fill="#db4e4e" rx="2" ry="2"/>
<text x="381.3" y="238.0">[tid=112..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,623 samples, 6.25%)</title><rect x="378.3" y="211.0" width="73.8" height="15" fill="#d13f3f" rx="2" ry="2"/>
<text x="381.3" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,623 samples, 6.25%)</title><rect x="378.3" y="195.0" width="73.8" height="15" fill="#e25858" rx="2" ry="2"/>
<text x="381.3" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,623 samples, 6.25%)</title><rect x="378.3" y="179.0" width="73.8" height="15" fill="#f97979" rx="2" ry="2"/>
<text x="381.3" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,623 samples, 6.25%)</title><rect x="378.3" y="163.0" width="73.8" height="15" fill="#fa7a7a" rx="2" ry="2"/>
<text x="381.3" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>GCTaskThread::run() (6,623 samples, 6.25%)</title><rect x="378.3" y="147.0" width="73.8" height="15" fill="#b2b233" rx="2" ry="2"/>
<text x="381.3" y="158.0">GCTaskTh..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>GCTaskManager::get_task(unsigned int) (6,623 samples, 6.25%)</title><rect x="378.3" y="131.0" width="73.8" height="15" fill="#e0e044" rx="2" ry="2"/>
<text x="381.3" y="142.0">GCTaskMa..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,623 samples, 6.25%)</title><rect x="378.3" y="115.0" width="73.8" height="15" fill="#caca3c" rx="2" ry="2"/>
<text x="381.3" y="126.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,623 samples, 6.25%)</title><rect x="378.3" y="99.0" width="73.8" height="15" fill="#cbcb3c" rx="2" ry="2"/>
<text x="381.3" y="110.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ParkCommon(ParkEvent*, long) (6,623 samples, 6.25%)</title><rect x="378.3" y="83.0" width="73.8" height="15" fill="#d94b4b" rx="2" ry="2"/>
<text x="381.3" y="94.0">ParkComm..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park() (6,623 samples, 6.25%)</title><rect x="378.3" y="67.0" width="73.8" height="15" fill="#e5e545" rx="2" ry="2"/>
<text x="381.3" y="78.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,623 samples, 6.25%)</title><rect x="378.3" y="51.0" width="73.8" height="15" fill="#e35959" rx="2" ry="2"/>
<text x="381.3" y="62.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=11779] (6,624 samples, 6.26%)</title><rect x="452.1" y="227.0" width="73.8" height="15" fill="#d64747" rx="2" ry="2"/>
<text x="455.1" y="238.0">[tid=117..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,624 samples, 6.26%)</title><rect x="452.1" y="211.0" width="73.8" height="15" fill="#cc3939" rx="2" ry="2"/>
<text x="455.1" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,624 samples, 6.26%)</title><rect x="452.1" y="195.0" width="73.8" height="15" fill="#fc7d7d" rx="2" ry="2"/>
<text x="455.1" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,624 samples, 6.26%)</title><rect x="452.1" y="179.0" width="73.8" height="15" fill="#cc3737" rx="2" ry="2"/>
<text x="455.1" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,624 samples, 6.26%)</title><rect x="452.1" y="163.0" width="73.8" height="15" fill="#e35a5a" rx="2" ry="2"/>
<text x="455.1" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>GCTaskThread::run() (6,624 samples, 6.26%)</title><rect x="452.1" y="147.0" width="73.8" height="15" fill="#c4c439" rx="2" ry="2"/>
<text x="455.1" y="158.0">GCTaskTh..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>GCTaskManager::get_task(unsigned int) (6,624 samples, 6.26%)</title><rect x="452.1" y="131.0" width="73.8" height="15" fill="#bebe37" rx="2" ry="2"/>
<text x="455.1" y="142.0">GCTaskMa..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,624 samples, 6.26%)</title><rect x="452.1" y="115.0" width="73.8" height="15" fill="#e1e144" rx="2" ry="2"/>
<text x="455.1" y="126.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,624 samples, 6.26%)</title><rect x="452.1" y="99.0" width="73.8" height="15" fill="#cccc3c" rx="2" ry="2"/>
<text x="455.1" y="110.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ParkCommon(ParkEvent*, long) (6,624 samples, 6.26%)</title><rect x="452.1" y="83.0" width="73.8" height="15" fill="#e15757" rx="2" ry="2"/>
<text x="455.1" y="94.0">ParkComm..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park() (6,624 samples, 6.26%)</title><rect x="452.1" y="67.0" width="73.8" height="15" fill="#e2e244" rx="2" ry="2"/>
<text x="455.1" y="78.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,624 samples, 6.26%)</title><rect x="452.1" y="51.0" width="73.8" height="15" fill="#ca3636" rx="2" ry="2"/>
<text x="455.1" y="62.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=14083] (6,624 samples, 6.26%)</title><rect x="525.9" y="227.0" width="73.8" height="15" fill="#f16e6e" rx="2" ry="2"/>
<text x="528.9" y="238.0">[tid=140..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,624 samples, 6.26%)</title><rect x="525.9" y="211.0" width="73.8" height="15" fill="#f26f6f" rx="2" ry="2"/>
<text x="528.9" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,624 samples, 6.26%)</title><rect x="525.9" y="195.0" width="73.8" height="15" fill="#f57474" rx="2" ry="2"/>
<text x="528.9" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,624 samples, 6.26%)</title><rect x="525.9" y="179.0" width="73.8" height="15" fill="#ce3c3c" rx="2" ry="2"/>
<text x="528.9" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,624 samples, 6.26%)</title><rect x="525.9" y="163.0" width="73.8" height="15" fill="#c83333" rx="2" ry="2"/>
<text x="528.9" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::run() (6,624 samples, 6.26%)</title><rect x="525.9" y="147.0" width="73.8" height="15" fill="#d4d43f" rx="2" ry="2"/>
<text x="528.9" y="158.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::thread_main_inner() (6,624 samples, 6.26%)</title><rect x="525.9" y="131.0" width="73.8" height="15" fill="#dede43" rx="2" ry="2"/>
<text x="528.9" y="142.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>CompileBroker::compiler_thread_loop() (6,624 samples, 6.26%)</title><rect x="525.9" y="115.0" width="73.8" height="15" fill="#d1d13e" rx="2" ry="2"/>
<text x="528.9" y="126.0">CompileB..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>CompileQueue::get() (6,621 samples, 6.25%)</title><rect x="526.0" y="99.0" width="73.7" height="15" fill="#d7d740" rx="2" ry="2"/>
<text x="529.0" y="110.0">CompileQ..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,621 samples, 6.25%)</title><rect x="526.0" y="83.0" width="73.7" height="15" fill="#d6d640" rx="2" ry="2"/>
<text x="529.0" y="94.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,621 samples, 6.25%)</title><rect x="526.0" y="67.0" width="73.7" height="15" fill="#e5e545" rx="2" ry="2"/>
<text x="529.0" y="78.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park(long) (6,621 samples, 6.25%)</title><rect x="526.0" y="51.0" width="73.7" height="15" fill="#dfdf43" rx="2" ry="2"/>
<text x="529.0" y="62.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,621 samples, 6.25%)</title><rect x="526.0" y="35.0" width="73.7" height="15" fill="#d44444" rx="2" ry="2"/>
<text x="529.0" y="46.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=14851] (6,623 samples, 6.25%)</title><rect x="599.7" y="227.0" width="73.8" height="15" fill="#d84a4a" rx="2" ry="2"/>
<text x="602.7" y="238.0">[tid=148..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,623 samples, 6.25%)</title><rect x="599.7" y="211.0" width="73.8" height="15" fill="#db4e4e" rx="2" ry="2"/>
<text x="602.7" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,623 samples, 6.25%)</title><rect x="599.7" y="195.0" width="73.8" height="15" fill="#e45b5b" rx="2" ry="2"/>
<text x="602.7" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,623 samples, 6.25%)</title><rect x="599.7" y="179.0" width="73.8" height="15" fill="#e86161" rx="2" ry="2"/>
<text x="602.7" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,623 samples, 6.25%)</title><rect x="599.7" y="163.0" width="73.8" height="15" fill="#f67575" rx="2" ry="2"/>
<text x="602.7" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::run() (6,623 samples, 6.25%)</title><rect x="599.7" y="147.0" width="73.8" height="15" fill="#c5c53a" rx="2" ry="2"/>
<text x="602.7" y="158.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::thread_main_inner() (6,623 samples, 6.25%)</title><rect x="599.7" y="131.0" width="73.8" height="15" fill="#dddd42" rx="2" ry="2"/>
<text x="602.7" y="142.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>CompileBroker::compiler_thread_loop() (6,623 samples, 6.25%)</title><rect x="599.7" y="115.0" width="73.8" height="15" fill="#bdbd37" rx="2" ry="2"/>
<text x="602.7" y="126.0">CompileB..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>CompileQueue::get() (6,621 samples, 6.25%)</title><rect x="599.8" y="99.0" width="73.7" height="15" fill="#c5c53a" rx="2" ry="2"/>
<text x="602.8" y="110.0">CompileQ..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,621 samples, 6.25%)</title><rect x="599.8" y="83.0" width="73.7" height="15" fill="#cccc3c" rx="2" ry="2"/>
<text x="602.8" y="94.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,621 samples, 6.25%)</title><rect x="599.8" y="67.0" width="73.7" height="15" fill="#c8c83b" rx="2" ry="2"/>
<text x="602.8" y="78.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park(long) (6,621 samples, 6.25%)</title><rect x="599.8" y="51.0" width="73.7" height="15" fill="#bebe37" rx="2" ry="2"/>
<text x="602.8" y="62.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,621 samples, 6.25%)</title><rect x="599.8" y="35.0" width="73.7" height="15" fill="#d14040" rx="2" ry="2"/>
<text x="602.8" y="46.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=15363] (6,621 samples, 6.25%)</title><rect x="673.5" y="227.0" width="73.8" height="15" fill="#d03e3e" rx="2" ry="2"/>
<text x="676.5" y="238.0">[tid=153..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,621 samples, 6.25%)</title><rect x="673.5" y="211.0" width="73.8" height="15" fill="#e75f5f" rx="2" ry="2"/>
<text x="676.5" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,621 samples, 6.25%)</title><rect x="673.5" y="195.0" width="73.8" height="15" fill="#f47272" rx="2" ry="2"/>
<text x="676.5" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,621 samples, 6.25%)</title><rect x="673.5" y="179.0" width="73.8" height="15" fill="#c93434" rx="2" ry="2"/>
<text x="676.5" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,621 samples, 6.25%)</title><rect x="673.5" y="163.0" width="73.8" height="15" fill="#e55c5c" rx="2" ry="2"/>
<text x="676.5" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::run() (6,621 samples, 6.25%)</title><rect x="673.5" y="147.0" width="73.8" height="15" fill="#caca3b" rx="2" ry="2"/>
<text x="676.5" y="158.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::thread_main_inner() (6,621 samples, 6.25%)</title><rect x="673.5" y="131.0" width="73.8" height="15" fill="#e3e345" rx="2" ry="2"/>
<text x="676.5" y="142.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ServiceThread::service_thread_entry(JavaThread*, Thread*) (6,621 samples, 6.25%)</title><rect x="673.5" y="115.0" width="73.8" height="15" fill="#d8d840" rx="2" ry="2"/>
<text x="676.5" y="126.0">ServiceT..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,621 samples, 6.25%)</title><rect x="673.5" y="99.0" width="73.8" height="15" fill="#cdcd3d" rx="2" ry="2"/>
<text x="676.5" y="110.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,621 samples, 6.25%)</title><rect x="673.5" y="83.0" width="73.8" height="15" fill="#dfdf43" rx="2" ry="2"/>
<text x="676.5" y="94.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ParkCommon(ParkEvent*, long) (6,621 samples, 6.25%)</title><rect x="673.5" y="67.0" width="73.8" height="15" fill="#ea6363" rx="2" ry="2"/>
<text x="676.5" y="78.0">ParkComm..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park() (6,621 samples, 6.25%)</title><rect x="673.5" y="51.0" width="73.8" height="15" fill="#dddd42" rx="2" ry="2"/>
<text x="676.5" y="62.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,621 samples, 6.25%)</title><rect x="673.5" y="35.0" width="73.8" height="15" fill="#d03e3e" rx="2" ry="2"/>
<text x="676.5" y="46.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=18179] (6,616 samples, 6.25%)</title><rect x="747.3" y="227.0" width="73.7" height="15" fill="#d34343" rx="2" ry="2"/>
<text x="750.3" y="238.0">[tid=181..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,616 samples, 6.25%)</title><rect x="747.3" y="211.0" width="73.7" height="15" fill="#ef6b6b" rx="2" ry="2"/>
<text x="750.3" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,616 samples, 6.25%)</title><rect x="747.3" y="195.0" width="73.7" height="15" fill="#cf3c3c" rx="2" ry="2"/>
<text x="750.3" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,616 samples, 6.25%)</title><rect x="747.3" y="179.0" width="73.7" height="15" fill="#cd3939" rx="2" ry="2"/>
<text x="750.3" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,616 samples, 6.25%)</title><rect x="747.3" y="163.0" width="73.7" height="15" fill="#d74747" rx="2" ry="2"/>
<text x="750.3" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>WatcherThread::run() (6,616 samples, 6.25%)</title><rect x="747.3" y="147.0" width="73.7" height="15" fill="#afaf32" rx="2" ry="2"/>
<text x="750.3" y="158.0">WatcherT..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>WatcherThread::sleep() const (6,601 samples, 6.23%)</title><rect x="747.5" y="131.0" width="73.5" height="15" fill="#c5c53a" rx="2" ry="2"/>
<text x="750.5" y="142.0">WatcherT..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,598 samples, 6.23%)</title><rect x="747.5" y="115.0" width="73.5" height="15" fill="#b0b032" rx="2" ry="2"/>
<text x="750.5" y="126.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,596 samples, 6.23%)</title><rect x="747.5" y="99.0" width="73.5" height="15" fill="#d6d640" rx="2" ry="2"/>
<text x="750.5" y="110.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park(long) (6,593 samples, 6.23%)</title><rect x="747.5" y="83.0" width="73.5" height="15" fill="#e2e244" rx="2" ry="2"/>
<text x="750.5" y="94.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,579 samples, 6.21%)</title><rect x="747.6" y="67.0" width="73.3" height="15" fill="#d54545" rx="2" ry="2"/>
<text x="750.6" y="78.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=18435] (6,623 samples, 6.25%)</title><rect x="821.0" y="227.0" width="73.8" height="15" fill="#d14040" rx="2" ry="2"/>
<text x="824.0" y="238.0">[tid=184..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,623 samples, 6.25%)</title><rect x="821.0" y="211.0" width="73.8" height="15" fill="#d94b4b" rx="2" ry="2"/>
<text x="824.0" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,623 samples, 6.25%)</title><rect x="821.0" y="195.0" width="73.8" height="15" fill="#f87878" rx="2" ry="2"/>
<text x="824.0" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,623 samples, 6.25%)</title><rect x="821.0" y="179.0" width="73.8" height="15" fill="#eb6666" rx="2" ry="2"/>
<text x="824.0" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,623 samples, 6.25%)</title><rect x="821.0" y="163.0" width="73.8" height="15" fill="#d03e3e" rx="2" ry="2"/>
<text x="824.0" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::run() (6,623 samples, 6.25%)</title><rect x="821.0" y="147.0" width="73.8" height="15" fill="#d4d43f" rx="2" ry="2"/>
<text x="824.0" y="158.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JavaThread::thread_main_inner() (6,623 samples, 6.25%)</title><rect x="821.0" y="131.0" width="73.8" height="15" fill="#c4c439" rx="2" ry="2"/>
<text x="824.0" y="142.0">JavaThre..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>CompileBroker::compiler_thread_loop() (6,623 samples, 6.25%)</title><rect x="821.0" y="115.0" width="73.8" height="15" fill="#c4c439" rx="2" ry="2"/>
<text x="824.0" y="126.0">CompileB..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>CompileQueue::get() (6,621 samples, 6.25%)</title><rect x="821.1" y="99.0" width="73.7" height="15" fill="#caca3b" rx="2" ry="2"/>
<text x="824.1" y="110.0">CompileQ..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,621 samples, 6.25%)</title><rect x="821.1" y="83.0" width="73.7" height="15" fill="#b7b734" rx="2" ry="2"/>
<text x="824.1" y="94.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,621 samples, 6.25%)</title><rect x="821.1" y="67.0" width="73.7" height="15" fill="#cfcf3d" rx="2" ry="2"/>
<text x="824.1" y="78.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park(long) (6,621 samples, 6.25%)</title><rect x="821.1" y="51.0" width="73.7" height="15" fill="#dddd42" rx="2" ry="2"/>
<text x="824.1" y="62.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,621 samples, 6.25%)</title><rect x="821.1" y="35.0" width="73.7" height="15" fill="#e86161" rx="2" ry="2"/>
<text x="824.1" y="46.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=21507] (6,624 samples, 6.26%)</title><rect x="894.8" y="227.0" width="73.9" height="15" fill="#fc7e7e" rx="2" ry="2"/>
<text x="897.8" y="238.0">[tid=215..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,624 samples, 6.26%)</title><rect x="894.8" y="211.0" width="73.9" height="15" fill="#e65e5e" rx="2" ry="2"/>
<text x="897.8" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,624 samples, 6.26%)</title><rect x="894.8" y="195.0" width="73.9" height="15" fill="#d03d3d" rx="2" ry="2"/>
<text x="897.8" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,624 samples, 6.26%)</title><rect x="894.8" y="179.0" width="73.9" height="15" fill="#fe8080" rx="2" ry="2"/>
<text x="897.8" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,624 samples, 6.26%)</title><rect x="894.8" y="163.0" width="73.9" height="15" fill="#de5252" rx="2" ry="2"/>
<text x="897.8" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>VMThread::run() (6,624 samples, 6.26%)</title><rect x="894.8" y="147.0" width="73.9" height="15" fill="#b6b634" rx="2" ry="2"/>
<text x="897.8" y="158.0">VMThread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>VMThread::loop() (6,624 samples, 6.26%)</title><rect x="894.8" y="131.0" width="73.9" height="15" fill="#cece3d" rx="2" ry="2"/>
<text x="897.8" y="142.0">VMThread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,624 samples, 6.26%)</title><rect x="894.8" y="115.0" width="73.9" height="15" fill="#bcbc37" rx="2" ry="2"/>
<text x="897.8" y="126.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,624 samples, 6.26%)</title><rect x="894.8" y="99.0" width="73.9" height="15" fill="#c9c93b" rx="2" ry="2"/>
<text x="897.8" y="110.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park(long) (6,623 samples, 6.25%)</title><rect x="894.9" y="83.0" width="73.8" height="15" fill="#c8c83b" rx="2" ry="2"/>
<text x="897.9" y="94.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,623 samples, 6.25%)</title><rect x="894.9" y="67.0" width="73.8" height="15" fill="#fc7e7e" rx="2" ry="2"/>
<text x="897.9" y="78.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=4867] (6,623 samples, 6.25%)</title><rect x="968.7" y="227.0" width="73.8" height="15" fill="#ce3c3c" rx="2" ry="2"/>
<text x="971.7" y="238.0">[tid=4867]</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,623 samples, 6.25%)</title><rect x="968.7" y="211.0" width="73.8" height="15" fill="#d24141" rx="2" ry="2"/>
<text x="971.7" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,623 samples, 6.25%)</title><rect x="968.7" y="195.0" width="73.8" height="15" fill="#d94b4b" rx="2" ry="2"/>
<text x="971.7" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,623 samples, 6.25%)</title><rect x="968.7" y="179.0" width="73.8" height="15" fill="#ea6464" rx="2" ry="2"/>
<text x="971.7" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>apple_main (6,623 samples, 6.25%)</title><rect x="968.7" y="163.0" width="73.8" height="15" fill="#ce3c3c" rx="2" ry="2"/>
<text x="971.7" y="174.0">apple_main</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>main (6,623 samples, 6.25%)</title><rect x="968.7" y="147.0" width="73.8" height="15" fill="#eb6666" rx="2" ry="2"/>
<text x="971.7" y="158.0">main</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JLI_Launch (6,623 samples, 6.25%)</title><rect x="968.7" y="131.0" width="73.8" height="15" fill="#ea6363" rx="2" ry="2"/>
<text x="971.7" y="142.0">JLI_Launch</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JVMInit (6,623 samples, 6.25%)</title><rect x="968.7" y="115.0" width="73.8" height="15" fill="#f47272" rx="2" ry="2"/>
<text x="971.7" y="126.0">JVMInit</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ContinueInNewThread (6,623 samples, 6.25%)</title><rect x="968.7" y="99.0" width="73.8" height="15" fill="#d54545" rx="2" ry="2"/>
<text x="971.7" y="110.0">Continue..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ContinueInNewThread0 (6,623 samples, 6.25%)</title><rect x="968.7" y="83.0" width="73.8" height="15" fill="#e25858" rx="2" ry="2"/>
<text x="971.7" y="94.0">Continue..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__ulock_wait (6,623 samples, 6.25%)</title><rect x="968.7" y="67.0" width="73.8" height="15" fill="#dd5151" rx="2" ry="2"/>
<text x="971.7" y="78.0">__ulock_..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=7431] (6,616 samples, 6.25%)</title><rect x="1042.5" y="227.0" width="73.7" height="15" fill="#d34242" rx="2" ry="2"/>
<text x="1045.5" y="238.0">[tid=7431]</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>thread_start (6,616 samples, 6.25%)</title><rect x="1042.5" y="211.0" width="73.7" height="15" fill="#c93434" rx="2" ry="2"/>
<text x="1045.5" y="222.0">thread_s..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_start (6,616 samples, 6.25%)</title><rect x="1042.5" y="195.0" width="73.7" height="15" fill="#f97a7a" rx="2" ry="2"/>
<text x="1045.5" y="206.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_pthread_body (6,616 samples, 6.25%)</title><rect x="1042.5" y="179.0" width="73.7" height="15" fill="#df5454" rx="2" ry="2"/>
<text x="1045.5" y="190.0">_pthread..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>java_start(Thread*) (6,616 samples, 6.25%)</title><rect x="1042.5" y="163.0" width="73.7" height="15" fill="#cf3d3d" rx="2" ry="2"/>
<text x="1045.5" y="174.0">java_sta..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>GCTaskThread::run() (6,616 samples, 6.25%)</title><rect x="1042.5" y="147.0" width="73.7" height="15" fill="#e3e344" rx="2" ry="2"/>
<text x="1045.5" y="158.0">GCTaskTh..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>GCTaskManager::get_task(unsigned int) (6,616 samples, 6.25%)</title><rect x="1042.5" y="131.0" width="73.7" height="15" fill="#c5c53a" rx="2" ry="2"/>
<text x="1045.5" y="142.0">GCTaskMa..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::wait(bool, long, bool) (6,616 samples, 6.25%)</title><rect x="1042.5" y="115.0" width="73.7" height="15" fill="#b6b634" rx="2" ry="2"/>
<text x="1045.5" y="126.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>Monitor::IWait(Thread*, long) (6,616 samples, 6.25%)</title><rect x="1042.5" y="99.0" width="73.7" height="15" fill="#dfdf43" rx="2" ry="2"/>
<text x="1045.5" y="110.0">Monitor:..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>ParkCommon(ParkEvent*, long) (6,616 samples, 6.25%)</title><rect x="1042.5" y="83.0" width="73.7" height="15" fill="#cd3939" rx="2" ry="2"/>
<text x="1045.5" y="94.0">ParkComm..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>os::PlatformEvent::park() (6,616 samples, 6.25%)</title><rect x="1042.5" y="67.0" width="73.7" height="15" fill="#b7b735" rx="2" ry="2"/>
<text x="1045.5" y="78.0">os::Plat..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__psynch_cvwait (6,616 samples, 6.25%)</title><rect x="1042.5" y="51.0" width="73.7" height="15" fill="#cb3737" rx="2" ry="2"/>
<text x="1045.5" y="62.0">__psynch..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[tid=775] (6,624 samples, 6.26%)</title><rect x="1116.2" y="227.0" width="73.8" height="15" fill="#dc4f4f" rx="2" ry="2"/>
<text x="1119.2" y="238.0">[tid=775]</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>start (6,624 samples, 6.26%)</title><rect x="1116.2" y="211.0" width="73.8" height="15" fill="#d54646" rx="2" ry="2"/>
<text x="1119.2" y="222.0">start</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>main (6,624 samples, 6.26%)</title><rect x="1116.2" y="195.0" width="73.8" height="15" fill="#cf3c3c" rx="2" ry="2"/>
<text x="1119.2" y="206.0">main</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>JLI_Launch (6,624 samples, 6.26%)</title><rect x="1116.2" y="179.0" width="73.8" height="15" fill="#f37070" rx="2" ry="2"/>
<text x="1119.2" y="190.0">JLI_Launch</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>CreateExecutionEnvironment (6,624 samples, 6.26%)</title><rect x="1116.2" y="163.0" width="73.8" height="15" fill="#e15656" rx="2" ry="2"/>
<text x="1119.2" y="174.0">CreateEx..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>CFRunLoopRunSpecific (6,624 samples, 6.26%)</title><rect x="1116.2" y="147.0" width="73.8" height="15" fill="#db4d4d" rx="2" ry="2"/>
<text x="1119.2" y="158.0">CFRunLoo..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__CFRunLoopRun (6,624 samples, 6.26%)</title><rect x="1116.2" y="131.0" width="73.8" height="15" fill="#e05656" rx="2" ry="2"/>
<text x="1119.2" y="142.0">__CFRunL..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>__CFRunLoopServiceMachPort (6,624 samples, 6.26%)</title><rect x="1116.2" y="115.0" width="73.8" height="15" fill="#f47272" rx="2" ry="2"/>
<text x="1119.2" y="126.0">__CFRunL..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>_block_invoke.modules (6,624 samples, 6.26%)</title><rect x="1116.2" y="99.0" width="73.8" height="15" fill="#fb7c7c" rx="2" ry="2"/>
<text x="1119.2" y="110.0">_block_i..</text>
</g>
</svg>
public class ProfileIdle {
static void work() {
double sum = 0;
for (int i = 0; i < 200000000; i++) {
sum += Math.atan(i);
}
System.out.println(sum);
}
public static void main(String[] args) throws InterruptedException {
work();
Thread.sleep(10000);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment