github.com/phuslu/fastdns@v0.8.3-0.20240310041952-69506fc67dd1/torch.svg (about) 1 <?xml version="1.0" standalone="no"?> 2 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 3 <svg version="1.1" width="1200" height="486" onload="init(evt)" viewBox="0 0 1200 486" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 4 <!-- Flame graph stack visualization. See https://github.com/brendangregg/FlameGraph for latest version, and http://www.brendangregg.com/flamegraphs.html for examples. --> 5 <!-- NOTES: --> 6 <defs> 7 <linearGradient id="background" y1="0" y2="1" x1="0" x2="0" > 8 <stop stop-color="#eeeeee" offset="5%" /> 9 <stop stop-color="#eeeeb0" offset="95%" /> 10 </linearGradient> 11 </defs> 12 <style type="text/css"> 13 text { font-family:Verdana; font-size:12px; fill:rgb(0,0,0); } 14 #search, #ignorecase { opacity:0.1; cursor:pointer; } 15 #search:hover, #search.show, #ignorecase:hover, #ignorecase.show { opacity:1; } 16 #subtitle { text-anchor:middle; font-color:rgb(160,160,160); } 17 #title { text-anchor:middle; font-size:17px} 18 #unzoom { cursor:pointer; } 19 #frames > *:hover { stroke:black; stroke-width:0.5; cursor:pointer; } 20 .hide { display:none; } 21 .parent { opacity:0.5; } 22 </style> 23 <script type="text/ecmascript"> 24 <![CDATA[ 25 "use strict"; 26 var details, searchbtn, unzoombtn, matchedtxt, svg, searching, currentSearchTerm, ignorecase, ignorecaseBtn; 27 function init(evt) { 28 details = document.getElementById("details").firstChild; 29 searchbtn = document.getElementById("search"); 30 ignorecaseBtn = document.getElementById("ignorecase"); 31 unzoombtn = document.getElementById("unzoom"); 32 matchedtxt = document.getElementById("matched"); 33 svg = document.getElementsByTagName("svg")[0]; 34 searching = 0; 35 currentSearchTerm = null; 36 } 37 38 window.addEventListener("click", function(e) { 39 var target = find_group(e.target); 40 if (target) { 41 if (target.nodeName == "a") { 42 if (e.ctrlKey === false) return; 43 e.preventDefault(); 44 } 45 if (target.classList.contains("parent")) unzoom(); 46 zoom(target); 47 } 48 else if (e.target.id == "unzoom") unzoom(); 49 else if (e.target.id == "search") search_prompt(); 50 else if (e.target.id == "ignorecase") toggle_ignorecase(); 51 }, false) 52 53 // mouse-over for info 54 // show 55 window.addEventListener("mouseover", function(e) { 56 var target = find_group(e.target); 57 if (target) details.nodeValue = "Function: " + g_to_text(target); 58 }, false) 59 60 // clear 61 window.addEventListener("mouseout", function(e) { 62 var target = find_group(e.target); 63 if (target) details.nodeValue = ' '; 64 }, false) 65 66 // ctrl-F for search 67 window.addEventListener("keydown",function (e) { 68 if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) { 69 e.preventDefault(); 70 search_prompt(); 71 } 72 }, false) 73 74 // ctrl-I to toggle case-sensitive search 75 window.addEventListener("keydown",function (e) { 76 if (e.ctrlKey && e.keyCode === 73) { 77 e.preventDefault(); 78 toggle_ignorecase(); 79 } 80 }, false) 81 82 // functions 83 function find_child(node, selector) { 84 var children = node.querySelectorAll(selector); 85 if (children.length) return children[0]; 86 return; 87 } 88 function find_group(node) { 89 var parent = node.parentElement; 90 if (!parent) return; 91 if (parent.id == "frames") return node; 92 return find_group(parent); 93 } 94 function orig_save(e, attr, val) { 95 if (e.attributes["_orig_" + attr] != undefined) return; 96 if (e.attributes[attr] == undefined) return; 97 if (val == undefined) val = e.attributes[attr].value; 98 e.setAttribute("_orig_" + attr, val); 99 } 100 function orig_load(e, attr) { 101 if (e.attributes["_orig_"+attr] == undefined) return; 102 e.attributes[attr].value = e.attributes["_orig_" + attr].value; 103 e.removeAttribute("_orig_"+attr); 104 } 105 function g_to_text(e) { 106 var text = find_child(e, "title").firstChild.nodeValue; 107 return (text) 108 } 109 function g_to_func(e) { 110 var func = g_to_text(e); 111 // if there's any manipulation we want to do to the function 112 // name before it's searched, do it here before returning. 113 return (func); 114 } 115 function update_text(e) { 116 var r = find_child(e, "rect"); 117 var t = find_child(e, "text"); 118 var w = parseFloat(r.attributes.width.value) -3; 119 var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,""); 120 t.attributes.x.value = parseFloat(r.attributes.x.value) + 3; 121 122 // Smaller than this size won't fit anything 123 if (w < 2 * 12 * 0.59) { 124 t.textContent = ""; 125 return; 126 } 127 128 t.textContent = txt; 129 // Fit in full text width 130 if (/^ *$/.test(txt) || t.getSubStringLength(0, txt.length) < w) 131 return; 132 133 for (var x = txt.length - 2; x > 0; x--) { 134 if (t.getSubStringLength(0, x + 2) <= w) { 135 t.textContent = txt.substring(0, x) + ".."; 136 return; 137 } 138 } 139 t.textContent = ""; 140 } 141 142 // zoom 143 function zoom_reset(e) { 144 if (e.attributes != undefined) { 145 orig_load(e, "x"); 146 orig_load(e, "width"); 147 } 148 if (e.childNodes == undefined) return; 149 for (var i = 0, c = e.childNodes; i < c.length; i++) { 150 zoom_reset(c[i]); 151 } 152 } 153 function zoom_child(e, x, ratio) { 154 if (e.attributes != undefined) { 155 if (e.attributes.x != undefined) { 156 orig_save(e, "x"); 157 e.attributes.x.value = (parseFloat(e.attributes.x.value) - x - 10) * ratio + 10; 158 if (e.tagName == "text") 159 e.attributes.x.value = find_child(e.parentNode, "rect[x]").attributes.x.value + 3; 160 } 161 if (e.attributes.width != undefined) { 162 orig_save(e, "width"); 163 e.attributes.width.value = parseFloat(e.attributes.width.value) * ratio; 164 } 165 } 166 167 if (e.childNodes == undefined) return; 168 for (var i = 0, c = e.childNodes; i < c.length; i++) { 169 zoom_child(c[i], x - 10, ratio); 170 } 171 } 172 function zoom_parent(e) { 173 if (e.attributes) { 174 if (e.attributes.x != undefined) { 175 orig_save(e, "x"); 176 e.attributes.x.value = 10; 177 } 178 if (e.attributes.width != undefined) { 179 orig_save(e, "width"); 180 e.attributes.width.value = parseInt(svg.width.baseVal.value) - (10 * 2); 181 } 182 } 183 if (e.childNodes == undefined) return; 184 for (var i = 0, c = e.childNodes; i < c.length; i++) { 185 zoom_parent(c[i]); 186 } 187 } 188 function zoom(node) { 189 var attr = find_child(node, "rect").attributes; 190 var width = parseFloat(attr.width.value); 191 var xmin = parseFloat(attr.x.value); 192 var xmax = parseFloat(xmin + width); 193 var ymin = parseFloat(attr.y.value); 194 var ratio = (svg.width.baseVal.value - 2 * 10) / width; 195 196 // XXX: Workaround for JavaScript float issues (fix me) 197 var fudge = 0.0001; 198 199 unzoombtn.classList.remove("hide"); 200 201 var el = document.getElementById("frames").children; 202 for (var i = 0; i < el.length; i++) { 203 var e = el[i]; 204 var a = find_child(e, "rect").attributes; 205 var ex = parseFloat(a.x.value); 206 var ew = parseFloat(a.width.value); 207 var upstack; 208 // Is it an ancestor 209 if (0 == 0) { 210 upstack = parseFloat(a.y.value) > ymin; 211 } else { 212 upstack = parseFloat(a.y.value) < ymin; 213 } 214 if (upstack) { 215 // Direct ancestor 216 if (ex <= xmin && (ex+ew+fudge) >= xmax) { 217 e.classList.add("parent"); 218 zoom_parent(e); 219 update_text(e); 220 } 221 // not in current path 222 else 223 e.classList.add("hide"); 224 } 225 // Children maybe 226 else { 227 // no common path 228 if (ex < xmin || ex + fudge >= xmax) { 229 e.classList.add("hide"); 230 } 231 else { 232 zoom_child(e, xmin, ratio); 233 update_text(e); 234 } 235 } 236 } 237 search(); 238 } 239 function unzoom() { 240 unzoombtn.classList.add("hide"); 241 var el = document.getElementById("frames").children; 242 for(var i = 0; i < el.length; i++) { 243 el[i].classList.remove("parent"); 244 el[i].classList.remove("hide"); 245 zoom_reset(el[i]); 246 update_text(el[i]); 247 } 248 search(); 249 } 250 251 // search 252 function toggle_ignorecase() { 253 ignorecase = !ignorecase; 254 if (ignorecase) { 255 ignorecaseBtn.classList.add("show"); 256 } else { 257 ignorecaseBtn.classList.remove("show"); 258 } 259 reset_search(); 260 search(); 261 } 262 function reset_search() { 263 var el = document.querySelectorAll("#frames rect"); 264 for (var i = 0; i < el.length; i++) { 265 orig_load(el[i], "fill") 266 } 267 } 268 function search_prompt() { 269 if (!searching) { 270 var term = prompt("Enter a search term (regexp " + 271 "allowed, eg: ^ext4_)" 272 + (ignorecase ? ", ignoring case" : "") 273 + "\nPress Ctrl-i to toggle case sensitivity", ""); 274 if (term != null) { 275 currentSearchTerm = term; 276 search(); 277 } 278 } else { 279 reset_search(); 280 searching = 0; 281 currentSearchTerm = null; 282 searchbtn.classList.remove("show"); 283 searchbtn.firstChild.nodeValue = "Search" 284 matchedtxt.classList.add("hide"); 285 matchedtxt.firstChild.nodeValue = "" 286 } 287 } 288 function search(term) { 289 if (currentSearchTerm === null) return; 290 var term = currentSearchTerm; 291 292 var re = new RegExp(term, ignorecase ? 'i' : ''); 293 var el = document.getElementById("frames").children; 294 var matches = new Object(); 295 var maxwidth = 0; 296 for (var i = 0; i < el.length; i++) { 297 var e = el[i]; 298 var func = g_to_func(e); 299 var rect = find_child(e, "rect"); 300 if (func == null || rect == null) 301 continue; 302 303 // Save max width. Only works as we have a root frame 304 var w = parseFloat(rect.attributes.width.value); 305 if (w > maxwidth) 306 maxwidth = w; 307 308 if (func.match(re)) { 309 // highlight 310 var x = parseFloat(rect.attributes.x.value); 311 orig_save(rect, "fill"); 312 rect.attributes.fill.value = "rgb(230,0,230)"; 313 314 // remember matches 315 if (matches[x] == undefined) { 316 matches[x] = w; 317 } else { 318 if (w > matches[x]) { 319 // overwrite with parent 320 matches[x] = w; 321 } 322 } 323 searching = 1; 324 } 325 } 326 if (!searching) 327 return; 328 329 searchbtn.classList.add("show"); 330 searchbtn.firstChild.nodeValue = "Reset Search"; 331 332 // calculate percent matched, excluding vertical overlap 333 var count = 0; 334 var lastx = -1; 335 var lastw = 0; 336 var keys = Array(); 337 for (k in matches) { 338 if (matches.hasOwnProperty(k)) 339 keys.push(k); 340 } 341 // sort the matched frames by their x location 342 // ascending, then width descending 343 keys.sort(function(a, b){ 344 return a - b; 345 }); 346 // Step through frames saving only the biggest bottom-up frames 347 // thanks to the sort order. This relies on the tree property 348 // where children are always smaller than their parents. 349 var fudge = 0.0001; // JavaScript floating point 350 for (var k in keys) { 351 var x = parseFloat(keys[k]); 352 var w = matches[keys[k]]; 353 if (x >= lastx + lastw - fudge) { 354 count += w; 355 lastx = x; 356 lastw = w; 357 } 358 } 359 // display matched percent 360 matchedtxt.classList.remove("hide"); 361 var pct = 100 * count / maxwidth; 362 if (pct != 100) pct = pct.toFixed(1) 363 matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%"; 364 } 365 ]]> 366 </script> 367 <rect x="0.0" y="0" width="1200.0" height="486.0" fill="url(#background)" /> 368 <text id="title" x="600.00" y="24" >Flame Graph</text> 369 <text id="details" x="10.00" y="469" > </text> 370 <text id="unzoom" x="10.00" y="24" class="hide">Reset Zoom</text> 371 <text id="search" x="1090.00" y="24" >Search</text> 372 <text id="ignorecase" x="1174.00" y="24" >ic</text> 373 <text id="matched" x="1090.00" y="469" > </text> 374 <g id="frames"> 375 <g > 376 <title>runtime.gcMarkTermination (1 samples, 0.04%)</title><rect x="747.8" y="389" width="0.5" height="15.0" fill="rgb(213,188,51)" rx="2" ry="2" /> 377 <text x="750.84" y="399.5" ></text> 378 </g> 379 <g > 380 <title>runtime.walltime1 (4 samples, 0.15%)</title><rect x="1187.7" y="421" width="1.8" height="15.0" fill="rgb(223,225,29)" rx="2" ry="2" /> 381 <text x="1190.73" y="431.5" ></text> 382 </g> 383 <g > 384 <title>runtime.(*mheap).freeMSpanLocked (1 samples, 0.04%)</title><rect x="746.9" y="325" width="0.5" height="15.0" fill="rgb(216,201,44)" rx="2" ry="2" /> 385 <text x="749.93" y="335.5" ></text> 386 </g> 387 <g > 388 <title>runtime.lockWithRank (1 samples, 0.04%)</title><rect x="91.0" y="197" width="0.4" height="15.0" fill="rgb(237,47,37)" rx="2" ry="2" /> 389 <text x="93.97" y="207.5" ></text> 390 </g> 391 <g > 392 <title>runtime.wbBufFlush (1 samples, 0.04%)</title><rect x="1022.1" y="293" width="0.5" height="15.0" fill="rgb(230,90,48)" rx="2" ry="2" /> 393 <text x="1025.14" y="303.5" ></text> 394 </g> 395 <g > 396 <title>runtime.gcDrainN (2 samples, 0.08%)</title><rect x="866.1" y="165" width="0.9" height="15.0" fill="rgb(229,220,46)" rx="2" ry="2" /> 397 <text x="869.11" y="175.5" ></text> 398 </g> 399 <g > 400 <title>runtime.exitsyscall (14 samples, 0.54%)</title><rect x="698.3" y="197" width="6.3" height="15.0" fill="rgb(223,224,51)" rx="2" ry="2" /> 401 <text x="701.26" y="207.5" ></text> 402 </g> 403 <g > 404 <title>runtime.(*mcache).prepareForSweep (1 samples, 0.04%)</title><rect x="1159.1" y="325" width="0.4" height="15.0" fill="rgb(225,174,42)" rx="2" ry="2" /> 405 <text x="1162.07" y="335.5" ></text> 406 </g> 407 <g > 408 <title>runtime.arenaIndex (1 samples, 0.04%)</title><rect x="762.4" y="357" width="0.5" height="15.0" fill="rgb(223,180,9)" rx="2" ry="2" /> 409 <text x="765.40" y="367.5" ></text> 410 </g> 411 <g > 412 <title>runtime.nextFreeFast (5 samples, 0.19%)</title><rect x="77.8" y="229" width="2.3" height="15.0" fill="rgb(210,44,16)" rx="2" ry="2" /> 413 <text x="80.78" y="239.5" ></text> 414 </g> 415 <g > 416 <title>sync.(*poolChain).pushHead (5 samples, 0.19%)</title><rect x="726.9" y="357" width="2.3" height="15.0" fill="rgb(205,52,34)" rx="2" ry="2" /> 417 <text x="729.92" y="367.5" ></text> 418 </g> 419 <g > 420 <title>runtime.mallocgc (22 samples, 0.85%)</title><rect x="67.8" y="229" width="10.0" height="15.0" fill="rgb(234,61,15)" rx="2" ry="2" /> 421 <text x="70.77" y="239.5" ></text> 422 </g> 423 <g > 424 <title>github.com/phuslu/fastdns.(*Message).SetResponseHeader (4 samples, 0.15%)</title><rect x="52.8" y="325" width="1.8" height="15.0" fill="rgb(234,116,24)" rx="2" ry="2" /> 425 <text x="55.76" y="335.5" ></text> 426 </g> 427 <g > 428 <title>runtime.exitsyscallfast (5 samples, 0.19%)</title><rect x="1015.3" y="229" width="2.3" height="15.0" fill="rgb(220,128,45)" rx="2" ry="2" /> 429 <text x="1018.32" y="239.5" ></text> 430 </g> 431 <g > 432 <title>runtime.(*mheap).alloc (1 samples, 0.04%)</title><rect x="68.7" y="149" width="0.4" height="15.0" fill="rgb(220,143,30)" rx="2" ry="2" /> 433 <text x="71.68" y="159.5" ></text> 434 </g> 435 <g > 436 <title>runtime.(*mheap).alloc (3 samples, 0.12%)</title><rect x="863.4" y="165" width="1.3" height="15.0" fill="rgb(223,24,16)" rx="2" ry="2" /> 437 <text x="866.38" y="175.5" ></text> 438 </g> 439 <g > 440 <title>sync.(*Pool).pin (6 samples, 0.23%)</title><rect x="724.2" y="357" width="2.7" height="15.0" fill="rgb(228,13,49)" rx="2" ry="2" /> 441 <text x="727.19" y="367.5" ></text> 442 </g> 443 <g > 444 <title>runtime.heapBits.next (1 samples, 0.04%)</title><rect x="762.9" y="357" width="0.4" height="15.0" fill="rgb(205,183,12)" rx="2" ry="2" /> 445 <text x="765.85" y="367.5" ></text> 446 </g> 447 <g > 448 <title>runtime.notewakeup (6 samples, 0.23%)</title><rect x="1177.7" y="325" width="2.7" height="15.0" fill="rgb(249,164,13)" rx="2" ry="2" /> 449 <text x="1180.72" y="335.5" ></text> 450 </g> 451 <g > 452 <title>runtime.gcAssistAlloc (18 samples, 0.69%)</title><rect x="69.6" y="213" width="8.2" height="15.0" fill="rgb(208,210,43)" rx="2" ry="2" /> 453 <text x="72.59" y="223.5" ></text> 454 </g> 455 <g > 456 <title>runtime.schedule (315 samples, 12.14%)</title><rect x="1039.0" y="389" width="143.3" height="15.0" fill="rgb(218,216,19)" rx="2" ry="2" /> 457 <text x="1041.97" y="399.5" >runtime.schedule</text> 458 </g> 459 <g > 460 <title>runtime.unlockWithRank (7 samples, 0.27%)</title><rect x="823.4" y="309" width="3.1" height="15.0" fill="rgb(247,115,27)" rx="2" ry="2" /> 461 <text x="826.35" y="319.5" ></text> 462 </g> 463 <g > 464 <title>runtime.casgstatus (5 samples, 0.19%)</title><rect x="1067.2" y="357" width="2.3" height="15.0" fill="rgb(237,99,6)" rx="2" ry="2" /> 465 <text x="1070.18" y="367.5" ></text> 466 </g> 467 <g > 468 <title>runtime.scanstack.func1 (3 samples, 0.12%)</title><rect x="763.3" y="293" width="1.4" height="15.0" fill="rgb(250,84,10)" rx="2" ry="2" /> 469 <text x="766.31" y="303.5" ></text> 470 </g> 471 <g > 472 <title>runtime.bulkBarrierPreWrite (1 samples, 0.04%)</title><rect x="1022.1" y="309" width="0.5" height="15.0" fill="rgb(225,227,11)" rx="2" ry="2" /> 473 <text x="1025.14" y="319.5" ></text> 474 </g> 475 <g > 476 <title>runtime.netpollcheckerr (1 samples, 0.04%)</title><rect x="1019.0" y="277" width="0.4" height="15.0" fill="rgb(210,170,48)" rx="2" ry="2" /> 477 <text x="1021.96" y="287.5" ></text> 478 </g> 479 <g > 480 <title>runtime.gcAssistAlloc.func1 (18 samples, 0.69%)</title><rect x="69.6" y="181" width="8.2" height="15.0" fill="rgb(207,182,53)" rx="2" ry="2" /> 481 <text x="72.59" y="191.5" ></text> 482 </g> 483 <g > 484 <title>net.(*UDPConn).ReadFromUDP (423 samples, 16.31%)</title><rect x="839.3" y="373" width="192.4" height="15.0" fill="rgb(248,4,0)" rx="2" ry="2" /> 485 <text x="842.28" y="383.5" >net.(*UDPConn).ReadFromUDP</text> 486 </g> 487 <g > 488 <title>runtime.pMask.read (2 samples, 0.08%)</title><rect x="1147.7" y="357" width="0.9" height="15.0" fill="rgb(207,29,8)" rx="2" ry="2" /> 489 <text x="1150.69" y="367.5" ></text> 490 </g> 491 <g > 492 <title>runtime.systemstack (1 samples, 0.04%)</title><rect x="1022.1" y="277" width="0.5" height="15.0" fill="rgb(240,201,51)" rx="2" ry="2" /> 493 <text x="1025.14" y="287.5" ></text> 494 </g> 495 <g > 496 <title>runtime.getStackMap (1 samples, 0.04%)</title><rect x="763.8" y="261" width="0.4" height="15.0" fill="rgb(223,35,14)" rx="2" ry="2" /> 497 <text x="766.76" y="271.5" ></text> 498 </g> 499 <g > 500 <title>runtime.unlockWithRank (1 samples, 0.04%)</title><rect x="1033.5" y="389" width="0.5" height="15.0" fill="rgb(238,100,15)" rx="2" ry="2" /> 501 <text x="1036.52" y="399.5" ></text> 502 </g> 503 <g > 504 <title>runtime.resetspinning (7 samples, 0.27%)</title><rect x="1177.3" y="373" width="3.1" height="15.0" fill="rgb(226,227,15)" rx="2" ry="2" /> 505 <text x="1180.26" y="383.5" ></text> 506 </g> 507 <g > 508 <title>runtime.(*mcache).releaseAll (1 samples, 0.04%)</title><rect x="747.8" y="293" width="0.5" height="15.0" fill="rgb(226,11,15)" rx="2" ry="2" /> 509 <text x="750.84" y="303.5" ></text> 510 </g> 511 <g > 512 <title>runtime.mallocgc (16 samples, 0.62%)</title><rect x="1023.5" y="341" width="7.3" height="15.0" fill="rgb(250,9,24)" rx="2" ry="2" /> 513 <text x="1026.51" y="351.5" ></text> 514 </g> 515 <g > 516 <title>runtime.casgstatus (3 samples, 0.12%)</title><rect x="1014.0" y="229" width="1.3" height="15.0" fill="rgb(247,8,37)" rx="2" ry="2" /> 517 <text x="1016.96" y="239.5" ></text> 518 </g> 519 <g > 520 <title>runtime.findrunnable (1 samples, 0.04%)</title><rect x="1033.1" y="357" width="0.4" height="15.0" fill="rgb(229,108,7)" rx="2" ry="2" /> 521 <text x="1036.06" y="367.5" ></text> 522 </g> 523 <g > 524 <title>runtime.goready (19 samples, 0.73%)</title><rect x="813.8" y="309" width="8.6" height="15.0" fill="rgb(253,14,43)" rx="2" ry="2" /> 525 <text x="816.80" y="319.5" ></text> 526 </g> 527 <g > 528 <title>runtime.pMask.set (1 samples, 0.04%)</title><rect x="1148.6" y="357" width="0.5" height="15.0" fill="rgb(242,211,2)" rx="2" ry="2" /> 529 <text x="1151.60" y="367.5" ></text> 530 </g> 531 <g > 532 <title>runtime.nextFreeFast (2 samples, 0.08%)</title><rect x="1030.8" y="341" width="0.9" height="15.0" fill="rgb(206,51,33)" rx="2" ry="2" /> 533 <text x="1033.79" y="351.5" ></text> 534 </g> 535 <g > 536 <title>runtime.semacquire1 (5 samples, 0.19%)</title><rect x="708.3" y="213" width="2.2" height="15.0" fill="rgb(213,74,32)" rx="2" ry="2" /> 537 <text x="711.27" y="223.5" ></text> 538 </g> 539 <g > 540 <title>runtime.mProf_Malloc (1 samples, 0.04%)</title><rect x="867.0" y="213" width="0.5" height="15.0" fill="rgb(236,64,50)" rx="2" ry="2" /> 541 <text x="870.02" y="223.5" ></text> 542 </g> 543 <g > 544 <title>runtime.(*lfstack).push (1 samples, 0.04%)</title><rect x="866.1" y="101" width="0.5" height="15.0" fill="rgb(211,87,25)" rx="2" ry="2" /> 545 <text x="869.11" y="111.5" ></text> 546 </g> 547 <g > 548 <title>runtime.save (1 samples, 0.04%)</title><rect x="1010.8" y="213" width="0.4" height="15.0" fill="rgb(253,200,26)" rx="2" ry="2" /> 549 <text x="1013.77" y="223.5" ></text> 550 </g> 551 <g > 552 <title>runtime.(*lfstack).pop (2 samples, 0.08%)</title><rect x="73.2" y="117" width="0.9" height="15.0" fill="rgb(214,142,51)" rx="2" ry="2" /> 553 <text x="76.23" y="127.5" ></text> 554 </g> 555 <g > 556 <title>runtime.mget (1 samples, 0.04%)</title><rect x="1177.3" y="341" width="0.4" height="15.0" fill="rgb(219,168,43)" rx="2" ry="2" /> 557 <text x="1180.26" y="351.5" ></text> 558 </g> 559 <g > 560 <title>runtime.parkunlock_c (1 samples, 0.04%)</title><rect x="1038.5" y="389" width="0.5" height="15.0" fill="rgb(227,216,37)" rx="2" ry="2" /> 561 <text x="1041.52" y="399.5" ></text> 562 </g> 563 <g > 564 <title>runtime.(*mcentral).uncacheSpan (1 samples, 0.04%)</title><rect x="1027.6" y="293" width="0.5" height="15.0" fill="rgb(206,165,2)" rx="2" ry="2" /> 565 <text x="1030.60" y="303.5" ></text> 566 </g> 567 <g > 568 <title>runtime.readyWithTime (4 samples, 0.15%)</title><rect x="94.2" y="181" width="1.8" height="15.0" fill="rgb(239,62,22)" rx="2" ry="2" /> 569 <text x="97.16" y="191.5" ></text> 570 </g> 571 <g > 572 <title>github.com/phuslu/fastdns.(*ForkServer).ListenAndServe (495 samples, 19.08%)</title><rect x="806.5" y="389" width="225.2" height="15.0" fill="rgb(240,51,20)" rx="2" ry="2" /> 573 <text x="809.52" y="399.5" >github.com/phuslu/fastdns.(*F..</text> 574 </g> 575 <g > 576 <title>runtime.gcWriteBarrierCX (2 samples, 0.08%)</title><rect x="709.6" y="181" width="0.9" height="15.0" fill="rgb(247,183,40)" rx="2" ry="2" /> 577 <text x="712.63" y="191.5" ></text> 578 </g> 579 <g > 580 <title>runtime.systemstack (1 samples, 0.04%)</title><rect x="867.0" y="181" width="0.5" height="15.0" fill="rgb(224,122,53)" rx="2" ry="2" /> 581 <text x="870.02" y="191.5" ></text> 582 </g> 583 <g > 584 <title>aeshashbody (2 samples, 0.08%)</title><rect x="718.3" y="309" width="0.9" height="15.0" fill="rgb(223,162,31)" rx="2" ry="2" /> 585 <text x="721.27" y="319.5" ></text> 586 </g> 587 <g > 588 <title>runtime.stopm (14 samples, 0.54%)</title><rect x="1158.6" y="357" width="6.4" height="15.0" fill="rgb(241,33,28)" rx="2" ry="2" /> 589 <text x="1161.61" y="367.5" ></text> 590 </g> 591 <g > 592 <title>runtime.(*lfstack).push (2 samples, 0.08%)</title><rect x="761.5" y="325" width="0.9" height="15.0" fill="rgb(247,147,31)" rx="2" ry="2" /> 593 <text x="764.49" y="335.5" ></text> 594 </g> 595 <g > 596 <title>runtime.lockWithRank (5 samples, 0.19%)</title><rect x="706.0" y="213" width="2.3" height="15.0" fill="rgb(205,137,52)" rx="2" ry="2" /> 597 <text x="708.99" y="223.5" ></text> 598 </g> 599 <g > 600 <title>runtime.heapBitsSetType (5 samples, 0.19%)</title><rect x="1028.5" y="325" width="2.3" height="15.0" fill="rgb(242,95,7)" rx="2" ry="2" /> 601 <text x="1031.51" y="335.5" ></text> 602 </g> 603 <g > 604 <title>main.(*DNSHandler).handleHost (1,482 samples, 57.13%)</title><rect x="47.8" y="357" width="674.1" height="15.0" fill="rgb(238,149,52)" rx="2" ry="2" /> 605 <text x="50.76" y="367.5" >main.(*DNSHandler).handleHost</text> 606 </g> 607 <g > 608 <title>runtime.systemstack (3 samples, 0.12%)</title><rect x="863.4" y="149" width="1.3" height="15.0" fill="rgb(206,177,41)" rx="2" ry="2" /> 609 <text x="866.38" y="159.5" ></text> 610 </g> 611 <g > 612 <title>runtime.scanobject (7 samples, 0.27%)</title><rect x="74.6" y="133" width="3.2" height="15.0" fill="rgb(245,22,36)" rx="2" ry="2" /> 613 <text x="77.60" y="143.5" ></text> 614 </g> 615 <g > 616 <title>github.com/phuslu/fastdns.AppendHOSTRecord (4 samples, 0.15%)</title><rect x="711.0" y="325" width="1.8" height="15.0" fill="rgb(209,50,38)" rx="2" ry="2" /> 617 <text x="713.99" y="335.5" ></text> 618 </g> 619 <g > 620 <title>runtime.chanrecv (27 samples, 1.04%)</title><rect x="730.6" y="373" width="12.2" height="15.0" fill="rgb(236,88,34)" rx="2" ry="2" /> 621 <text x="733.56" y="383.5" ></text> 622 </g> 623 <g > 624 <title>runtime.systemstack (3 samples, 0.12%)</title><rect x="865.7" y="213" width="1.3" height="15.0" fill="rgb(229,195,46)" rx="2" ry="2" /> 625 <text x="868.66" y="223.5" ></text> 626 </g> 627 <g > 628 <title>runtime.goready.func1 (4 samples, 0.15%)</title><rect x="94.2" y="133" width="1.8" height="15.0" fill="rgb(244,112,21)" rx="2" ry="2" /> 629 <text x="97.16" y="143.5" ></text> 630 </g> 631 <g > 632 <title>runtime.(*mheap).alloc (2 samples, 0.08%)</title><rect x="1026.7" y="261" width="0.9" height="15.0" fill="rgb(219,90,45)" rx="2" ry="2" /> 633 <text x="1029.69" y="271.5" ></text> 634 </g> 635 <g > 636 <title>runtime.unlockWithRank (5 samples, 0.19%)</title><rect x="1182.3" y="389" width="2.2" height="15.0" fill="rgb(245,202,20)" rx="2" ry="2" /> 637 <text x="1185.27" y="399.5" ></text> 638 </g> 639 <g > 640 <title>runtime.checkTimers (2 samples, 0.08%)</title><rect x="1064.0" y="373" width="0.9" height="15.0" fill="rgb(206,13,49)" rx="2" ry="2" /> 641 <text x="1066.99" y="383.5" ></text> 642 </g> 643 <g > 644 <title>runtime.(*mcentral).uncacheSpan (1 samples, 0.04%)</title><rect x="865.2" y="197" width="0.5" height="15.0" fill="rgb(248,133,27)" rx="2" ry="2" /> 645 <text x="868.20" y="207.5" ></text> 646 </g> 647 <g > 648 <title>runtime.(*guintptr).cas (3 samples, 0.12%)</title><rect x="1043.1" y="373" width="1.3" height="15.0" fill="rgb(217,76,51)" rx="2" ry="2" /> 649 <text x="1046.07" y="383.5" ></text> 650 </g> 651 <g > 652 <title>runtime.(*lfstack).push (2 samples, 0.08%)</title><rect x="72.3" y="85" width="0.9" height="15.0" fill="rgb(230,0,35)" rx="2" ry="2" /> 653 <text x="75.32" y="95.5" ></text> 654 </g> 655 <g > 656 <title>runtime.gcMarkTermination.func4.1 (1 samples, 0.04%)</title><rect x="747.8" y="325" width="0.5" height="15.0" fill="rgb(208,167,48)" rx="2" ry="2" /> 657 <text x="750.84" y="335.5" ></text> 658 </g> 659 <g > 660 <title>gosave_systemstack_switch (1 samples, 0.04%)</title><rect x="1187.3" y="405" width="0.4" height="15.0" fill="rgb(206,80,27)" rx="2" ry="2" /> 661 <text x="1190.27" y="415.5" ></text> 662 </g> 663 <g > 664 <title>runtime.runqempty (1 samples, 0.04%)</title><rect x="1033.1" y="341" width="0.4" height="15.0" fill="rgb(234,148,23)" rx="2" ry="2" /> 665 <text x="1036.06" y="351.5" ></text> 666 </g> 667 <g > 668 <title>runtime.gosched_m (2 samples, 0.08%)</title><rect x="1033.1" y="405" width="0.9" height="15.0" fill="rgb(205,156,23)" rx="2" ry="2" /> 669 <text x="1036.06" y="415.5" ></text> 670 </g> 671 <g > 672 <title>runtime/pprof.profileWriter (1 samples, 0.04%)</title><rect x="1189.5" y="421" width="0.5" height="15.0" fill="rgb(234,71,20)" rx="2" ry="2" /> 673 <text x="1192.55" y="431.5" ></text> 674 </g> 675 <g > 676 <title>runtime.procyield (1 samples, 0.04%)</title><rect x="1184.5" y="341" width="0.5" height="15.0" fill="rgb(228,96,41)" rx="2" ry="2" /> 677 <text x="1187.54" y="351.5" ></text> 678 </g> 679 <g > 680 <title>runtime.mallocgc (12 samples, 0.46%)</title><rect x="862.0" y="245" width="5.5" height="15.0" fill="rgb(251,126,17)" rx="2" ry="2" /> 681 <text x="865.02" y="255.5" ></text> 682 </g> 683 <g > 684 <title>net.(*ipv6ZoneCache).name (2 samples, 0.08%)</title><rect x="849.3" y="325" width="0.9" height="15.0" fill="rgb(214,66,9)" rx="2" ry="2" /> 685 <text x="852.28" y="335.5" ></text> 686 </g> 687 <g > 688 <title>runtime.runqget (2 samples, 0.08%)</title><rect x="1180.4" y="373" width="1.0" height="15.0" fill="rgb(247,27,51)" rx="2" ry="2" /> 689 <text x="1183.45" y="383.5" ></text> 690 </g> 691 <g > 692 <title>runtime.markroot.func1 (3 samples, 0.12%)</title><rect x="763.3" y="341" width="1.4" height="15.0" fill="rgb(223,51,44)" rx="2" ry="2" /> 693 <text x="766.31" y="351.5" ></text> 694 </g> 695 <g > 696 <title>syscall.SendmsgN (1,338 samples, 51.58%)</title><rect x="96.0" y="245" width="608.6" height="15.0" fill="rgb(236,180,9)" rx="2" ry="2" /> 697 <text x="98.98" y="255.5" >syscall.SendmsgN</text> 698 </g> 699 <g > 700 <title>github.com/phuslu/fastdns.ParseMessage (23 samples, 0.89%)</title><rect x="33.7" y="373" width="10.4" height="15.0" fill="rgb(252,98,45)" rx="2" ry="2" /> 701 <text x="36.65" y="383.5" ></text> 702 </g> 703 <g > 704 <title>runtime.futexwakeup (3 samples, 0.12%)</title><rect x="94.6" y="53" width="1.4" height="15.0" fill="rgb(226,61,7)" rx="2" ry="2" /> 705 <text x="97.61" y="63.5" ></text> 706 </g> 707 <g > 708 <title>runtime.(*gcWork).tryGet (2 samples, 0.08%)</title><rect x="73.2" y="133" width="0.9" height="15.0" fill="rgb(240,18,2)" rx="2" ry="2" /> 709 <text x="76.23" y="143.5" ></text> 710 </g> 711 <g > 712 <title>runtime.netpoll (144 samples, 5.55%)</title><rect x="1082.2" y="357" width="65.5" height="15.0" fill="rgb(246,64,33)" rx="2" ry="2" /> 713 <text x="1085.19" y="367.5" >runtime..</text> 714 </g> 715 <g > 716 <title>runtime.netpollblockcommit (2 samples, 0.08%)</title><rect x="1037.6" y="389" width="0.9" height="15.0" fill="rgb(219,123,16)" rx="2" ry="2" /> 717 <text x="1040.61" y="399.5" ></text> 718 </g> 719 <g > 720 <title>runtime.startm (2 samples, 0.08%)</title><rect x="821.5" y="229" width="0.9" height="15.0" fill="rgb(232,188,39)" rx="2" ry="2" /> 721 <text x="824.53" y="239.5" ></text> 722 </g> 723 <g > 724 <title>runtime.heapBits.initSpan (1 samples, 0.04%)</title><rect x="864.7" y="165" width="0.5" height="15.0" fill="rgb(216,206,30)" rx="2" ry="2" /> 725 <text x="867.75" y="175.5" ></text> 726 </g> 727 <g > 728 <title>runtime.(*waitq).dequeue (4 samples, 0.15%)</title><rect x="809.7" y="341" width="1.8" height="15.0" fill="rgb(206,189,41)" rx="2" ry="2" /> 729 <text x="812.71" y="351.5" ></text> 730 </g> 731 <g > 732 <title>runtime.pcvalue (1 samples, 0.04%)</title><rect x="867.0" y="117" width="0.5" height="15.0" fill="rgb(229,46,4)" rx="2" ry="2" /> 733 <text x="870.02" y="127.5" ></text> 734 </g> 735 <g > 736 <title>runtime.bgsweep (5 samples, 0.19%)</title><rect x="745.6" y="421" width="2.2" height="15.0" fill="rgb(219,48,3)" rx="2" ry="2" /> 737 <text x="748.57" y="431.5" ></text> 738 </g> 739 <g > 740 <title>runtime.mapaccess2_faststr (11 samples, 0.42%)</title><rect x="716.5" y="325" width="5.0" height="15.0" fill="rgb(251,225,13)" rx="2" ry="2" /> 741 <text x="719.45" y="335.5" ></text> 742 </g> 743 <g > 744 <title>runtime.execute (14 samples, 0.54%)</title><rect x="1064.9" y="373" width="6.4" height="15.0" fill="rgb(233,74,17)" rx="2" ry="2" /> 745 <text x="1067.90" y="383.5" ></text> 746 </g> 747 <g > 748 <title>runtime.(*mcache).nextFree (3 samples, 0.12%)</title><rect x="1026.7" y="325" width="1.4" height="15.0" fill="rgb(243,138,19)" rx="2" ry="2" /> 749 <text x="1029.69" y="335.5" ></text> 750 </g> 751 <g > 752 <title>runtime.(*mcentral).cacheSpan (2 samples, 0.08%)</title><rect x="68.7" y="181" width="0.9" height="15.0" fill="rgb(235,78,13)" rx="2" ry="2" /> 753 <text x="71.68" y="191.5" ></text> 754 </g> 755 <g > 756 <title>runtime.strhash (1 samples, 0.04%)</title><rect x="721.0" y="309" width="0.5" height="15.0" fill="rgb(237,73,17)" rx="2" ry="2" /> 757 <text x="724.00" y="319.5" ></text> 758 </g> 759 <g > 760 <title>runtime.lockWithRank (1 samples, 0.04%)</title><rect x="1184.5" y="373" width="0.5" height="15.0" fill="rgb(230,8,23)" rx="2" ry="2" /> 761 <text x="1187.54" y="383.5" ></text> 762 </g> 763 <g > 764 <title>runtime.netpollready (1 samples, 0.04%)</title><rect x="1145.4" y="341" width="0.5" height="15.0" fill="rgb(224,12,45)" rx="2" ry="2" /> 765 <text x="1148.42" y="351.5" ></text> 766 </g> 767 <g > 768 <title>runtime.pidleput (6 samples, 0.23%)</title><rect x="1150.4" y="357" width="2.8" height="15.0" fill="rgb(232,102,4)" rx="2" ry="2" /> 769 <text x="1153.42" y="367.5" ></text> 770 </g> 771 <g > 772 <title>runtime.(*gcWork).put (2 samples, 0.08%)</title><rect x="779.2" y="325" width="0.9" height="15.0" fill="rgb(253,127,11)" rx="2" ry="2" /> 773 <text x="782.23" y="335.5" ></text> 774 </g> 775 <g > 776 <title>internal/bytealg.Equal (3 samples, 0.12%)</title><rect x="66.0" y="245" width="1.3" height="15.0" fill="rgb(207,118,7)" rx="2" ry="2" /> 777 <text x="68.95" y="255.5" ></text> 778 </g> 779 <g > 780 <title>runtime.newstack (1 samples, 0.04%)</title><rect x="80.1" y="261" width="0.4" height="15.0" fill="rgb(221,73,40)" rx="2" ry="2" /> 781 <text x="83.05" y="271.5" ></text> 782 </g> 783 <g > 784 <title>github.com/phuslu/fastdns.(*workerPool).workerFunc (1,617 samples, 62.34%)</title><rect x="10.0" y="405" width="735.6" height="15.0" fill="rgb(205,100,10)" rx="2" ry="2" /> 785 <text x="13.00" y="415.5" >github.com/phuslu/fastdns.(*workerPool).workerFunc</text> 786 </g> 787 <g > 788 <title>runtime.procyield (1 samples, 0.04%)</title><rect x="707.8" y="181" width="0.5" height="15.0" fill="rgb(216,164,22)" rx="2" ry="2" /> 789 <text x="710.81" y="191.5" ></text> 790 </g> 791 <g > 792 <title>github.com/phuslu/fastdns.(*workerPool).getCh (6 samples, 0.23%)</title><rect x="807.0" y="357" width="2.7" height="15.0" fill="rgb(217,45,47)" rx="2" ry="2" /> 793 <text x="809.98" y="367.5" ></text> 794 </g> 795 <g > 796 <title>runtime.(*mcache).refill (3 samples, 0.12%)</title><rect x="1026.7" y="309" width="1.4" height="15.0" fill="rgb(231,194,22)" rx="2" ry="2" /> 797 <text x="1029.69" y="319.5" ></text> 798 </g> 799 <g > 800 <title>runtime.memclrNoHeapPointers (1 samples, 0.04%)</title><rect x="68.7" y="133" width="0.4" height="15.0" fill="rgb(229,106,30)" rx="2" ry="2" /> 801 <text x="71.68" y="143.5" ></text> 802 </g> 803 <g > 804 <title>runtime.lock2 (1 samples, 0.04%)</title><rect x="91.0" y="181" width="0.4" height="15.0" fill="rgb(221,136,34)" rx="2" ry="2" /> 805 <text x="93.97" y="191.5" ></text> 806 </g> 807 <g > 808 <title>runtime.markroot (3 samples, 0.12%)</title><rect x="763.3" y="357" width="1.4" height="15.0" fill="rgb(219,128,46)" rx="2" ry="2" /> 809 <text x="766.31" y="367.5" ></text> 810 </g> 811 <g > 812 <title>runtime.updateTimerPMask (3 samples, 0.12%)</title><rect x="1151.8" y="341" width="1.4" height="15.0" fill="rgb(232,109,53)" rx="2" ry="2" /> 813 <text x="1154.79" y="351.5" ></text> 814 </g> 815 <g > 816 <title>runtime.futexsleep (2 samples, 0.08%)</title><rect x="1165.9" y="341" width="0.9" height="15.0" fill="rgb(247,143,4)" rx="2" ry="2" /> 817 <text x="1168.89" y="351.5" ></text> 818 </g> 819 <g > 820 <title>runtime.scanframeworker (3 samples, 0.12%)</title><rect x="763.3" y="277" width="1.4" height="15.0" fill="rgb(235,55,23)" rx="2" ry="2" /> 821 <text x="766.31" y="287.5" ></text> 822 </g> 823 <g > 824 <title>internal/poll.(*FD).writeUnlock (20 samples, 0.77%)</title><rect x="86.9" y="245" width="9.1" height="15.0" fill="rgb(206,9,15)" rx="2" ry="2" /> 825 <text x="89.88" y="255.5" ></text> 826 </g> 827 <g > 828 <title>runtime.unlock2 (5 samples, 0.19%)</title><rect x="1182.3" y="373" width="2.2" height="15.0" fill="rgb(207,127,50)" rx="2" ry="2" /> 829 <text x="1185.27" y="383.5" ></text> 830 </g> 831 <g > 832 <title>runtime.futexwakeup (6 samples, 0.23%)</title><rect x="1177.7" y="309" width="2.7" height="15.0" fill="rgb(213,125,17)" rx="2" ry="2" /> 833 <text x="1180.72" y="319.5" ></text> 834 </g> 835 <g > 836 <title>runtime.goschedImpl (1 samples, 0.04%)</title><rect x="1033.1" y="389" width="0.4" height="15.0" fill="rgb(249,58,18)" rx="2" ry="2" /> 837 <text x="1036.06" y="399.5" ></text> 838 </g> 839 <g > 840 <title>github.com/phuslu/fastdns.HOST (1,455 samples, 56.09%)</title><rect x="51.9" y="341" width="661.8" height="15.0" fill="rgb(232,171,41)" rx="2" ry="2" /> 841 <text x="54.85" y="351.5" >github.com/phuslu/fastdns.HOST</text> 842 </g> 843 <g > 844 <title>runtime.epollwait (132 samples, 5.09%)</title><rect x="1085.4" y="341" width="60.0" height="15.0" fill="rgb(216,138,25)" rx="2" ry="2" /> 845 <text x="1088.37" y="351.5" >runtim..</text> 846 </g> 847 <g > 848 <title>runtime.lock2 (4 samples, 0.15%)</title><rect x="826.5" y="325" width="1.9" height="15.0" fill="rgb(248,165,5)" rx="2" ry="2" /> 849 <text x="829.54" y="335.5" ></text> 850 </g> 851 <g > 852 <title>runtime.futex (6 samples, 0.23%)</title><rect x="1177.7" y="293" width="2.7" height="15.0" fill="rgb(241,193,38)" rx="2" ry="2" /> 853 <text x="1180.72" y="303.5" ></text> 854 </g> 855 <g > 856 <title>runtime.getempty (1 samples, 0.04%)</title><rect x="779.7" y="309" width="0.4" height="15.0" fill="rgb(232,30,4)" rx="2" ry="2" /> 857 <text x="782.68" y="319.5" ></text> 858 </g> 859 <g > 860 <title>runtime.chansend (33 samples, 1.27%)</title><rect x="811.5" y="341" width="15.0" height="15.0" fill="rgb(222,99,28)" rx="2" ry="2" /> 861 <text x="814.53" y="351.5" ></text> 862 </g> 863 <g > 864 <title>runtime.(*spanSet).push (1 samples, 0.04%)</title><rect x="865.2" y="181" width="0.5" height="15.0" fill="rgb(234,59,25)" rx="2" ry="2" /> 865 <text x="868.20" y="191.5" ></text> 866 </g> 867 <g > 868 <title>runtime.exitsyscallfast_reacquired (1 samples, 0.04%)</title><rect x="1016.7" y="213" width="0.4" height="15.0" fill="rgb(217,59,15)" rx="2" ry="2" /> 869 <text x="1019.68" y="223.5" ></text> 870 </g> 871 <g > 872 <title>net.(*UDPConn).WriteMsgUDP (1,437 samples, 55.40%)</title><rect x="57.3" y="309" width="653.7" height="15.0" fill="rgb(239,116,44)" rx="2" ry="2" /> 873 <text x="60.31" y="319.5" >net.(*UDPConn).WriteMsgUDP</text> 874 </g> 875 <g > 876 <title>runtime.systemstack (1 samples, 0.04%)</title><rect x="747.8" y="373" width="0.5" height="15.0" fill="rgb(235,1,12)" rx="2" ry="2" /> 877 <text x="750.84" y="383.5" ></text> 878 </g> 879 <g > 880 <title>net.isZeros (2 samples, 0.08%)</title><rect x="712.8" y="325" width="0.9" height="15.0" fill="rgb(241,22,7)" rx="2" ry="2" /> 881 <text x="715.81" y="335.5" ></text> 882 </g> 883 <g > 884 <title>runtime.memclrNoHeapPointers (1 samples, 0.04%)</title><rect x="747.4" y="341" width="0.4" height="15.0" fill="rgb(216,128,31)" rx="2" ry="2" /> 885 <text x="750.39" y="351.5" ></text> 886 </g> 887 <g > 888 <title>syscall.anyToSockaddr (24 samples, 0.93%)</title><rect x="857.9" y="277" width="10.9" height="15.0" fill="rgb(238,195,14)" rx="2" ry="2" /> 889 <text x="860.93" y="287.5" ></text> 890 </g> 891 <g > 892 <title>internal/poll.(*fdMutex).rwlock (12 samples, 0.46%)</title><rect x="705.1" y="245" width="5.4" height="15.0" fill="rgb(207,18,49)" rx="2" ry="2" /> 893 <text x="708.08" y="255.5" ></text> 894 </g> 895 <g > 896 <title>runtime.arenaIndex (1 samples, 0.04%)</title><rect x="774.7" y="341" width="0.4" height="15.0" fill="rgb(219,107,2)" rx="2" ry="2" /> 897 <text x="777.68" y="351.5" ></text> 898 </g> 899 <g > 900 <title>runtime.nanotime1 (2 samples, 0.08%)</title><rect x="1185.5" y="421" width="0.9" height="15.0" fill="rgb(248,147,18)" rx="2" ry="2" /> 901 <text x="1188.45" y="431.5" ></text> 902 </g> 903 <g > 904 <title>runtime.gcWriteBarrier (2 samples, 0.08%)</title><rect x="93.2" y="165" width="1.0" height="15.0" fill="rgb(206,203,14)" rx="2" ry="2" /> 905 <text x="96.25" y="175.5" ></text> 906 </g> 907 <g > 908 <title>runtime.checkTimers (4 samples, 0.15%)</title><rect x="1079.9" y="357" width="1.8" height="15.0" fill="rgb(211,67,18)" rx="2" ry="2" /> 909 <text x="1082.92" y="367.5" ></text> 910 </g> 911 <g > 912 <title>runtime.newobject (28 samples, 1.08%)</title><rect x="67.3" y="245" width="12.8" height="15.0" fill="rgb(247,69,12)" rx="2" ry="2" /> 913 <text x="70.32" y="255.5" ></text> 914 </g> 915 <g > 916 <title>runtime.heapBits.forwardOrBoundary (1 samples, 0.04%)</title><rect x="864.7" y="149" width="0.5" height="15.0" fill="rgb(227,19,31)" rx="2" ry="2" /> 917 <text x="867.75" y="159.5" ></text> 918 </g> 919 <g > 920 <title>runtime.gcDrain (128 samples, 4.93%)</title><rect x="748.3" y="373" width="58.2" height="15.0" fill="rgb(206,0,38)" rx="2" ry="2" /> 921 <text x="751.30" y="383.5" >runtim..</text> 922 </g> 923 <g > 924 <title>sync.(*poolChain).popHead (2 samples, 0.08%)</title><rect x="838.4" y="341" width="0.9" height="15.0" fill="rgb(228,23,34)" rx="2" ry="2" /> 925 <text x="841.37" y="351.5" ></text> 926 </g> 927 <g > 928 <title>all (2,594 samples, 100%)</title><rect x="10.0" y="437" width="1180.0" height="15.0" fill="rgb(232,1,0)" rx="2" ry="2" /> 929 <text x="13.00" y="447.5" ></text> 930 </g> 931 <g > 932 <title>github.com/phuslu/fastdns.serve (20 samples, 0.77%)</title><rect x="830.2" y="373" width="9.1" height="15.0" fill="rgb(230,52,40)" rx="2" ry="2" /> 933 <text x="833.18" y="383.5" ></text> 934 </g> 935 <g > 936 <title>internal/poll.(*pollDesc).prepare (1 samples, 0.04%)</title><rect x="1019.0" y="293" width="0.4" height="15.0" fill="rgb(207,143,54)" rx="2" ry="2" /> 937 <text x="1021.96" y="303.5" ></text> 938 </g> 939 <g > 940 <title>internal/poll.(*FD).writeLock (13 samples, 0.50%)</title><rect x="704.6" y="261" width="5.9" height="15.0" fill="rgb(207,11,32)" rx="2" ry="2" /> 941 <text x="707.63" y="271.5" ></text> 942 </g> 943 <g > 944 <title>sync.(*poolChain).popTail (1 samples, 0.04%)</title><rect x="837.5" y="325" width="0.4" height="15.0" fill="rgb(239,34,1)" rx="2" ry="2" /> 945 <text x="840.46" y="335.5" ></text> 946 </g> 947 <g > 948 <title>runtime.park_m (331 samples, 12.76%)</title><rect x="1034.0" y="405" width="150.5" height="15.0" fill="rgb(227,130,5)" rx="2" ry="2" /> 949 <text x="1036.97" y="415.5" >runtime.park_m</text> 950 </g> 951 <g > 952 <title>runtime.spanOf (1 samples, 0.04%)</title><rect x="1022.1" y="229" width="0.5" height="15.0" fill="rgb(218,126,34)" rx="2" ry="2" /> 953 <text x="1025.14" y="239.5" ></text> 954 </g> 955 <g > 956 <title>runtime.procyield (1 samples, 0.04%)</title><rect x="1166.8" y="341" width="0.5" height="15.0" fill="rgb(222,228,30)" rx="2" ry="2" /> 957 <text x="1169.80" y="351.5" ></text> 958 </g> 959 <g > 960 <title>github.com/phuslu/fastdns.(*workerPool).getCh.func1 (1,617 samples, 62.34%)</title><rect x="10.0" y="421" width="735.6" height="15.0" fill="rgb(246,89,45)" rx="2" ry="2" /> 961 <text x="13.00" y="431.5" >github.com/phuslu/fastdns.(*workerPool).getCh.func1</text> 962 </g> 963 <g > 964 <title>runtime.send (30 samples, 1.16%)</title><rect x="812.9" y="325" width="13.6" height="15.0" fill="rgb(227,149,31)" rx="2" ry="2" /> 965 <text x="815.89" y="335.5" ></text> 966 </g> 967 <g > 968 <title>runtime.(*lfstack).pop (5 samples, 0.19%)</title><rect x="755.6" y="325" width="2.2" height="15.0" fill="rgb(226,48,53)" rx="2" ry="2" /> 969 <text x="758.57" y="335.5" ></text> 970 </g> 971 <g > 972 <title>runtime.chanrecv2 (34 samples, 1.31%)</title><rect x="729.2" y="389" width="15.5" height="15.0" fill="rgb(226,46,25)" rx="2" ry="2" /> 973 <text x="732.19" y="399.5" ></text> 974 </g> 975 <g > 976 <title>runtime.heapBits.next (1 samples, 0.04%)</title><rect x="866.6" y="149" width="0.4" height="15.0" fill="rgb(241,75,37)" rx="2" ry="2" /> 977 <text x="869.57" y="159.5" ></text> 978 </g> 979 <g > 980 <title>runtime.newAllocBits (1 samples, 0.04%)</title><rect x="863.8" y="101" width="0.5" height="15.0" fill="rgb(215,203,36)" rx="2" ry="2" /> 981 <text x="866.84" y="111.5" ></text> 982 </g> 983 <g > 984 <title>runtime.acquirem (1 samples, 0.04%)</title><rect x="67.3" y="229" width="0.5" height="15.0" fill="rgb(208,30,38)" rx="2" ry="2" /> 985 <text x="70.32" y="239.5" ></text> 986 </g> 987 <g > 988 <title>syscall.Syscall (1,326 samples, 51.12%)</title><rect x="101.4" y="213" width="603.2" height="15.0" fill="rgb(205,123,10)" rx="2" ry="2" /> 989 <text x="104.43" y="223.5" >syscall.Syscall</text> 990 </g> 991 <g > 992 <title>runtime.mcall (336 samples, 12.95%)</title><rect x="1031.7" y="421" width="152.8" height="15.0" fill="rgb(225,54,31)" rx="2" ry="2" /> 993 <text x="1034.70" y="431.5" >runtime.mcall</text> 994 </g> 995 <g > 996 <title>runtime.systemstack (4 samples, 0.15%)</title><rect x="94.2" y="149" width="1.8" height="15.0" fill="rgb(209,22,24)" rx="2" ry="2" /> 997 <text x="97.16" y="159.5" ></text> 998 </g> 999 <g > 1000 <title>runtime.copystack (1 samples, 0.04%)</title><rect x="80.1" y="245" width="0.4" height="15.0" fill="rgb(209,53,21)" rx="2" ry="2" /> 1001 <text x="83.05" y="255.5" ></text> 1002 </g> 1003 <g > 1004 <title>sync.(*Pool).getSlow (4 samples, 0.15%)</title><rect x="836.1" y="341" width="1.8" height="15.0" fill="rgb(218,75,23)" rx="2" ry="2" /> 1005 <text x="839.09" y="351.5" ></text> 1006 </g> 1007 <g > 1008 <title>runtime.pageIndexOf (2 samples, 0.08%)</title><rect x="76.9" y="117" width="0.9" height="15.0" fill="rgb(220,9,9)" rx="2" ry="2" /> 1009 <text x="79.87" y="127.5" ></text> 1010 </g> 1011 <g > 1012 <title>net.(*netFD).writeMsg (1,386 samples, 53.43%)</title><rect x="80.5" y="277" width="630.5" height="15.0" fill="rgb(238,153,37)" rx="2" ry="2" /> 1013 <text x="83.51" y="287.5" >net.(*netFD).writeMsg</text> 1014 </g> 1015 <g > 1016 <title>runtime.runqsteal (10 samples, 0.39%)</title><rect x="1154.1" y="357" width="4.5" height="15.0" fill="rgb(209,120,16)" rx="2" ry="2" /> 1017 <text x="1157.06" y="367.5" ></text> 1018 </g> 1019 <g > 1020 <title>runtime.gcWriteBarrier (2 samples, 0.08%)</title><rect x="709.6" y="165" width="0.9" height="15.0" fill="rgb(247,79,52)" rx="2" ry="2" /> 1021 <text x="712.63" y="175.5" ></text> 1022 </g> 1023 <g > 1024 <title>runtime.futex (10 samples, 0.39%)</title><rect x="1160.4" y="293" width="4.6" height="15.0" fill="rgb(249,96,32)" rx="2" ry="2" /> 1025 <text x="1163.43" y="303.5" ></text> 1026 </g> 1027 <g > 1028 <title>main.main (495 samples, 19.08%)</title><rect x="806.5" y="405" width="225.2" height="15.0" fill="rgb(214,79,7)" rx="2" ry="2" /> 1029 <text x="809.52" y="415.5" >main.main</text> 1030 </g> 1031 <g > 1032 <title>runtime.unlock2 (2 samples, 0.08%)</title><rect x="1181.4" y="357" width="0.9" height="15.0" fill="rgb(210,109,33)" rx="2" ry="2" /> 1033 <text x="1184.36" y="367.5" ></text> 1034 </g> 1035 <g > 1036 <title>syscall.(*SockaddrInet6).sockaddr (5 samples, 0.19%)</title><rect x="98.7" y="229" width="2.3" height="15.0" fill="rgb(247,34,14)" rx="2" ry="2" /> 1037 <text x="101.70" y="239.5" ></text> 1038 </g> 1039 <g > 1040 <title>runtime.gcDrainN (18 samples, 0.69%)</title><rect x="69.6" y="149" width="8.2" height="15.0" fill="rgb(228,207,27)" rx="2" ry="2" /> 1041 <text x="72.59" y="159.5" ></text> 1042 </g> 1043 <g > 1044 <title>runtime.(*mcache).prepareForSweep (1 samples, 0.04%)</title><rect x="747.8" y="309" width="0.5" height="15.0" fill="rgb(243,2,5)" rx="2" ry="2" /> 1045 <text x="750.84" y="319.5" ></text> 1046 </g> 1047 <g > 1048 <title>runtime.nanotime (5 samples, 0.19%)</title><rect x="21.4" y="357" width="2.2" height="15.0" fill="rgb(226,181,17)" rx="2" ry="2" /> 1049 <text x="24.37" y="367.5" ></text> 1050 </g> 1051 <g > 1052 <title>runtime.futexsleep (10 samples, 0.39%)</title><rect x="1160.4" y="309" width="4.6" height="15.0" fill="rgb(222,195,32)" rx="2" ry="2" /> 1053 <text x="1163.43" y="319.5" ></text> 1054 </g> 1055 <g > 1056 <title>runtime.markBits.isMarked (40 samples, 1.54%)</title><rect x="780.1" y="341" width="18.2" height="15.0" fill="rgb(237,12,26)" rx="2" ry="2" /> 1057 <text x="783.14" y="351.5" ></text> 1058 </g> 1059 <g > 1060 <title>time.Now (19 samples, 0.73%)</title><rect x="20.0" y="373" width="8.7" height="15.0" fill="rgb(221,173,43)" rx="2" ry="2" /> 1061 <text x="23.01" y="383.5" ></text> 1062 </g> 1063 <g > 1064 <title>runtime.netpollunblock (4 samples, 0.15%)</title><rect x="1145.9" y="341" width="1.8" height="15.0" fill="rgb(210,162,4)" rx="2" ry="2" /> 1065 <text x="1148.88" y="351.5" ></text> 1066 </g> 1067 <g > 1068 <title>runtime.systemstack (18 samples, 0.69%)</title><rect x="814.3" y="293" width="8.1" height="15.0" fill="rgb(242,102,7)" rx="2" ry="2" /> 1069 <text x="817.26" y="303.5" ></text> 1070 </g> 1071 <g > 1072 <title>runtime.profilealloc (1 samples, 0.04%)</title><rect x="867.0" y="229" width="0.5" height="15.0" fill="rgb(232,195,25)" rx="2" ry="2" /> 1073 <text x="870.02" y="239.5" ></text> 1074 </g> 1075 <g > 1076 <title>runtime.wakep (7 samples, 0.27%)</title><rect x="1177.3" y="357" width="3.1" height="15.0" fill="rgb(216,176,40)" rx="2" ry="2" /> 1077 <text x="1180.26" y="367.5" ></text> 1078 </g> 1079 <g > 1080 <title>main.(*DumpInfoImpl).GetHostRecords (17 samples, 0.66%)</title><rect x="713.7" y="341" width="7.8" height="15.0" fill="rgb(216,179,26)" rx="2" ry="2" /> 1081 <text x="716.72" y="351.5" ></text> 1082 </g> 1083 <g > 1084 <title>runtime.spanOf (1 samples, 0.04%)</title><rect x="806.1" y="341" width="0.4" height="15.0" fill="rgb(246,150,27)" rx="2" ry="2" /> 1085 <text x="809.07" y="351.5" ></text> 1086 </g> 1087 <g > 1088 <title>runtime.gcBgMarkWorker (129 samples, 4.97%)</title><rect x="747.8" y="421" width="58.7" height="15.0" fill="rgb(238,179,18)" rx="2" ry="2" /> 1089 <text x="750.84" y="431.5" >runtim..</text> 1090 </g> 1091 <g > 1092 <title>runtime.(*mspan).base (1 samples, 0.04%)</title><rect x="773.8" y="341" width="0.4" height="15.0" fill="rgb(236,198,8)" rx="2" ry="2" /> 1093 <text x="776.77" y="351.5" ></text> 1094 </g> 1095 <g > 1096 <title>runtime.wbBufFlush1 (1 samples, 0.04%)</title><rect x="1022.1" y="245" width="0.5" height="15.0" fill="rgb(248,109,13)" rx="2" ry="2" /> 1097 <text x="1025.14" y="255.5" ></text> 1098 </g> 1099 <g > 1100 <title>memeqbody (3 samples, 0.12%)</title><rect x="66.0" y="229" width="1.3" height="15.0" fill="rgb(247,151,48)" rx="2" ry="2" /> 1101 <text x="68.95" y="239.5" ></text> 1102 </g> 1103 <g > 1104 <title>runtime.(*mspan).sweep (5 samples, 0.19%)</title><rect x="745.6" y="389" width="2.2" height="15.0" fill="rgb(209,118,1)" rx="2" ry="2" /> 1105 <text x="748.57" y="399.5" ></text> 1106 </g> 1107 <g > 1108 <title>runtime.walltime (6 samples, 0.23%)</title><rect x="23.6" y="357" width="2.8" height="15.0" fill="rgb(212,128,6)" rx="2" ry="2" /> 1109 <text x="26.65" y="367.5" ></text> 1110 </g> 1111 <g > 1112 <title>runtime.chansend.func1 (1 samples, 0.04%)</title><rect x="813.3" y="309" width="0.5" height="15.0" fill="rgb(232,143,1)" rx="2" ry="2" /> 1113 <text x="816.35" y="319.5" ></text> 1114 </g> 1115 <g > 1116 <title>runtime.procPin (1 samples, 0.04%)</title><rect x="726.0" y="341" width="0.5" height="15.0" fill="rgb(252,6,32)" rx="2" ry="2" /> 1117 <text x="729.01" y="351.5" ></text> 1118 </g> 1119 <g > 1120 <title>runtime.gcBgMarkWorker.func2 (128 samples, 4.93%)</title><rect x="748.3" y="389" width="58.2" height="15.0" fill="rgb(242,206,26)" rx="2" ry="2" /> 1121 <text x="751.30" y="399.5" >runtim..</text> 1122 </g> 1123 <g > 1124 <title>runtime.cansemacquire (1 samples, 0.04%)</title><rect x="705.5" y="213" width="0.5" height="15.0" fill="rgb(225,23,45)" rx="2" ry="2" /> 1125 <text x="708.54" y="223.5" ></text> 1126 </g> 1127 <g > 1128 <title>sync.(*Mutex).Unlock (2 samples, 0.08%)</title><rect x="744.7" y="389" width="0.9" height="15.0" fill="rgb(224,83,43)" rx="2" ry="2" /> 1129 <text x="747.66" y="399.5" ></text> 1130 </g> 1131 <g > 1132 <title>runtime.markBits.isMarked (2 samples, 0.08%)</title><rect x="76.0" y="117" width="0.9" height="15.0" fill="rgb(228,180,8)" rx="2" ry="2" /> 1133 <text x="78.96" y="127.5" ></text> 1134 </g> 1135 <g > 1136 <title>runtime.(*gcControllerState).enlistWorker (1 samples, 0.04%)</title><rect x="779.2" y="309" width="0.5" height="15.0" fill="rgb(223,185,16)" rx="2" ry="2" /> 1137 <text x="782.23" y="319.5" ></text> 1138 </g> 1139 <g > 1140 <title>runtime.gcAssistAlloc (3 samples, 0.12%)</title><rect x="865.7" y="229" width="1.3" height="15.0" fill="rgb(244,68,9)" rx="2" ry="2" /> 1141 <text x="868.66" y="239.5" ></text> 1142 </g> 1143 <g > 1144 <title>github.com/phuslu/fastdns.(*workerPool).release (23 samples, 0.89%)</title><rect x="18.2" y="389" width="10.5" height="15.0" fill="rgb(235,79,21)" rx="2" ry="2" /> 1145 <text x="21.19" y="399.5" ></text> 1146 </g> 1147 <g > 1148 <title>runtime.lockWithRank (4 samples, 0.15%)</title><rect x="742.8" y="373" width="1.9" height="15.0" fill="rgb(228,9,4)" rx="2" ry="2" /> 1149 <text x="745.84" y="383.5" ></text> 1150 </g> 1151 <g > 1152 <title>runtime.gcAssistAlloc.func1 (3 samples, 0.12%)</title><rect x="865.7" y="197" width="1.3" height="15.0" fill="rgb(219,222,0)" rx="2" ry="2" /> 1153 <text x="868.66" y="207.5" ></text> 1154 </g> 1155 <g > 1156 <title>sync.(*poolDequeue).pushHead (2 samples, 0.08%)</title><rect x="728.3" y="341" width="0.9" height="15.0" fill="rgb(234,175,16)" rx="2" ry="2" /> 1157 <text x="731.28" y="351.5" ></text> 1158 </g> 1159 <g > 1160 <title>runtime.putfull (1 samples, 0.04%)</title><rect x="866.1" y="117" width="0.5" height="15.0" fill="rgb(236,187,25)" rx="2" ry="2" /> 1161 <text x="869.11" y="127.5" ></text> 1162 </g> 1163 <g > 1164 <title>runtime.memclrNoHeapPointers (2 samples, 0.08%)</title><rect x="1026.7" y="245" width="0.9" height="15.0" fill="rgb(225,71,46)" rx="2" ry="2" /> 1165 <text x="1029.69" y="255.5" ></text> 1166 </g> 1167 <g > 1168 <title>github.com/phuslu/fastdns.(*workerPool).Serve (52 samples, 2.00%)</title><rect x="806.5" y="373" width="23.7" height="15.0" fill="rgb(239,46,35)" rx="2" ry="2" /> 1169 <text x="809.52" y="383.5" >g..</text> 1170 </g> 1171 <g > 1172 <title>sync.(*Pool).Put (16 samples, 0.62%)</title><rect x="721.9" y="373" width="7.3" height="15.0" fill="rgb(254,220,43)" rx="2" ry="2" /> 1173 <text x="724.91" y="383.5" ></text> 1174 </g> 1175 <g > 1176 <title>runtime.(*semaRoot).queue (3 samples, 0.12%)</title><rect x="709.2" y="197" width="1.3" height="15.0" fill="rgb(235,2,38)" rx="2" ry="2" /> 1177 <text x="712.18" y="207.5" ></text> 1178 </g> 1179 <g > 1180 <title>runtime.forEachP (1 samples, 0.04%)</title><rect x="747.8" y="341" width="0.5" height="15.0" fill="rgb(231,7,51)" rx="2" ry="2" /> 1181 <text x="750.84" y="351.5" ></text> 1182 </g> 1183 <g > 1184 <title>runtime.gcMarkTermination.func4 (1 samples, 0.04%)</title><rect x="747.8" y="357" width="0.5" height="15.0" fill="rgb(226,183,39)" rx="2" ry="2" /> 1185 <text x="750.84" y="367.5" ></text> 1186 </g> 1187 <g > 1188 <title>runtime.(*gcBitsArena).tryAlloc (1 samples, 0.04%)</title><rect x="863.8" y="85" width="0.5" height="15.0" fill="rgb(244,206,2)" rx="2" ry="2" /> 1189 <text x="866.84" y="95.5" ></text> 1190 </g> 1191 <g > 1192 <title>runtime.acquirep (1 samples, 0.04%)</title><rect x="1159.1" y="341" width="0.4" height="15.0" fill="rgb(248,77,19)" rx="2" ry="2" /> 1193 <text x="1162.07" y="351.5" ></text> 1194 </g> 1195 <g > 1196 <title>runtime.(*profBuf).read (1 samples, 0.04%)</title><rect x="1189.5" y="389" width="0.5" height="15.0" fill="rgb(250,96,39)" rx="2" ry="2" /> 1197 <text x="1192.55" y="399.5" ></text> 1198 </g> 1199 <g > 1200 <title>runtime.(*stackScanState).addObject (1 samples, 0.04%)</title><rect x="763.3" y="261" width="0.5" height="15.0" fill="rgb(245,118,38)" rx="2" ry="2" /> 1201 <text x="766.31" y="271.5" ></text> 1202 </g> 1203 <g > 1204 <title>runtime.(*randomEnum).next (39 samples, 1.50%)</title><rect x="1045.3" y="373" width="17.8" height="15.0" fill="rgb(225,156,29)" rx="2" ry="2" /> 1205 <text x="1048.34" y="383.5" ></text> 1206 </g> 1207 <g > 1208 <title>runtime.memmove (3 samples, 0.12%)</title><rect x="42.8" y="357" width="1.3" height="15.0" fill="rgb(247,185,31)" rx="2" ry="2" /> 1209 <text x="45.75" y="367.5" ></text> 1210 </g> 1211 <g > 1212 <title>runtime.(*gcBits).bitp (1 samples, 0.04%)</title><rect x="773.3" y="341" width="0.5" height="15.0" fill="rgb(246,198,7)" rx="2" ry="2" /> 1213 <text x="776.32" y="351.5" ></text> 1214 </g> 1215 <g > 1216 <title>main.(*DumpInfoReloader).GetHostRecords (1 samples, 0.04%)</title><rect x="721.5" y="341" width="0.4" height="15.0" fill="rgb(209,141,48)" rx="2" ry="2" /> 1217 <text x="724.46" y="351.5" ></text> 1218 </g> 1219 <g > 1220 <title>internal/poll.(*pollDesc).prepareRead (1 samples, 0.04%)</title><rect x="1019.0" y="309" width="0.4" height="15.0" fill="rgb(223,50,9)" rx="2" ry="2" /> 1221 <text x="1021.96" y="319.5" ></text> 1222 </g> 1223 <g > 1224 <title>runtime.(*gcBitsArena).tryAlloc (2 samples, 0.08%)</title><rect x="746.0" y="373" width="0.9" height="15.0" fill="rgb(229,196,20)" rx="2" ry="2" /> 1225 <text x="749.02" y="383.5" ></text> 1226 </g> 1227 <g > 1228 <title>runtime.releasem (1 samples, 0.04%)</title><rect x="742.4" y="357" width="0.4" height="15.0" fill="rgb(223,23,43)" rx="2" ry="2" /> 1229 <text x="745.38" y="367.5" ></text> 1230 </g> 1231 <g > 1232 <title>runtime.casgstatus (4 samples, 0.15%)</title><rect x="701.0" y="181" width="1.8" height="15.0" fill="rgb(253,105,11)" rx="2" ry="2" /> 1233 <text x="703.99" y="191.5" ></text> 1234 </g> 1235 <g > 1236 <title>runtime.(*mcentral).cacheSpan (2 samples, 0.08%)</title><rect x="1026.7" y="293" width="0.9" height="15.0" fill="rgb(246,209,3)" rx="2" ry="2" /> 1237 <text x="1029.69" y="303.5" ></text> 1238 </g> 1239 <g > 1240 <title>runtime.goready.func1 (18 samples, 0.69%)</title><rect x="814.3" y="277" width="8.1" height="15.0" fill="rgb(220,41,24)" rx="2" ry="2" /> 1241 <text x="817.26" y="287.5" ></text> 1242 </g> 1243 <g > 1244 <title>runtime.pidleget (3 samples, 0.12%)</title><rect x="1149.1" y="357" width="1.3" height="15.0" fill="rgb(232,201,14)" rx="2" ry="2" /> 1245 <text x="1152.06" y="367.5" ></text> 1246 </g> 1247 <g > 1248 <title>runtime.(*headTailIndex).incTail (1 samples, 0.04%)</title><rect x="865.2" y="165" width="0.5" height="15.0" fill="rgb(248,83,14)" rx="2" ry="2" /> 1249 <text x="868.20" y="175.5" ></text> 1250 </g> 1251 <g > 1252 <title>runtime.runqempty (2 samples, 0.08%)</title><rect x="1153.2" y="357" width="0.9" height="15.0" fill="rgb(216,43,13)" rx="2" ry="2" /> 1253 <text x="1156.15" y="367.5" ></text> 1254 </g> 1255 <g > 1256 <title>runtime.(*randomEnum).position (2 samples, 0.08%)</title><rect x="1063.1" y="373" width="0.9" height="15.0" fill="rgb(215,43,0)" rx="2" ry="2" /> 1257 <text x="1066.08" y="383.5" ></text> 1258 </g> 1259 <g > 1260 <title>runtime.arenaIndex (1 samples, 0.04%)</title><rect x="864.3" y="117" width="0.4" height="15.0" fill="rgb(220,110,20)" rx="2" ry="2" /> 1261 <text x="867.29" y="127.5" ></text> 1262 </g> 1263 <g > 1264 <title>runtime.unlockWithRank (2 samples, 0.08%)</title><rect x="1181.4" y="373" width="0.9" height="15.0" fill="rgb(226,151,42)" rx="2" ry="2" /> 1265 <text x="1184.36" y="383.5" ></text> 1266 </g> 1267 <g > 1268 <title>main.(*DNSHandler).ServeDNS (1,490 samples, 57.44%)</title><rect x="44.1" y="373" width="677.8" height="15.0" fill="rgb(206,70,27)" rx="2" ry="2" /> 1269 <text x="47.12" y="383.5" >main.(*DNSHandler).ServeDNS</text> 1270 </g> 1271 <g > 1272 <title>runtime.casgstatus (1 samples, 0.04%)</title><rect x="1079.5" y="357" width="0.4" height="15.0" fill="rgb(232,122,31)" rx="2" ry="2" /> 1273 <text x="1082.46" y="367.5" ></text> 1274 </g> 1275 <g > 1276 <title>runtime.putempty (2 samples, 0.08%)</title><rect x="761.5" y="341" width="0.9" height="15.0" fill="rgb(230,94,2)" rx="2" ry="2" /> 1277 <text x="764.49" y="351.5" ></text> 1278 </g> 1279 <g > 1280 <title>runtime.systemstack (1 samples, 0.04%)</title><rect x="746.9" y="357" width="0.5" height="15.0" fill="rgb(221,12,4)" rx="2" ry="2" /> 1281 <text x="749.93" y="367.5" ></text> 1282 </g> 1283 <g > 1284 <title>runtime.(*mcache).refill (2 samples, 0.08%)</title><rect x="68.7" y="197" width="0.9" height="15.0" fill="rgb(245,147,26)" rx="2" ry="2" /> 1285 <text x="71.68" y="207.5" ></text> 1286 </g> 1287 <g > 1288 <title>internal/poll.runtime_pollWait (4 samples, 0.15%)</title><rect x="1020.3" y="277" width="1.8" height="15.0" fill="rgb(216,29,26)" rx="2" ry="2" /> 1289 <text x="1023.32" y="287.5" ></text> 1290 </g> 1291 <g > 1292 <title>runtime.semrelease1 (10 samples, 0.39%)</title><rect x="91.4" y="197" width="4.6" height="15.0" fill="rgb(249,49,26)" rx="2" ry="2" /> 1293 <text x="94.43" y="207.5" ></text> 1294 </g> 1295 <g > 1296 <title>runtime.(*gcWork).tryGet (6 samples, 0.23%)</title><rect x="759.7" y="357" width="2.7" height="15.0" fill="rgb(246,46,46)" rx="2" ry="2" /> 1297 <text x="762.67" y="367.5" ></text> 1298 </g> 1299 <g > 1300 <title>syscall.recvfrom (327 samples, 12.61%)</title><rect x="868.8" y="277" width="148.8" height="15.0" fill="rgb(241,111,54)" rx="2" ry="2" /> 1301 <text x="871.84" y="287.5" >syscall.recvfrom</text> 1302 </g> 1303 <g > 1304 <title>runtime.unlock2 (7 samples, 0.27%)</title><rect x="823.4" y="293" width="3.1" height="15.0" fill="rgb(228,44,0)" rx="2" ry="2" /> 1305 <text x="826.35" y="303.5" ></text> 1306 </g> 1307 <g > 1308 <title>runtime.futex (2 samples, 0.08%)</title><rect x="821.5" y="181" width="0.9" height="15.0" fill="rgb(215,80,39)" rx="2" ry="2" /> 1309 <text x="824.53" y="191.5" ></text> 1310 </g> 1311 <g > 1312 <title>runtime.(*lfstack).pop (1 samples, 0.04%)</title><rect x="71.9" y="101" width="0.4" height="15.0" fill="rgb(220,34,29)" rx="2" ry="2" /> 1313 <text x="74.87" y="111.5" ></text> 1314 </g> 1315 <g > 1316 <title>runtime.gentraceback (3 samples, 0.12%)</title><rect x="763.3" y="309" width="1.4" height="15.0" fill="rgb(229,19,14)" rx="2" ry="2" /> 1317 <text x="766.31" y="319.5" ></text> 1318 </g> 1319 <g > 1320 <title>sync.(*poolDequeue).popHead (1 samples, 0.04%)</title><rect x="838.8" y="325" width="0.5" height="15.0" fill="rgb(240,225,26)" rx="2" ry="2" /> 1321 <text x="841.82" y="335.5" ></text> 1322 </g> 1323 <g > 1324 <title>runtime.gogo (4 samples, 0.15%)</title><rect x="1069.5" y="357" width="1.8" height="15.0" fill="rgb(223,143,30)" rx="2" ry="2" /> 1325 <text x="1072.45" y="367.5" ></text> 1326 </g> 1327 <g > 1328 <title>runtime.(*randomEnum).done (2 samples, 0.08%)</title><rect x="1044.4" y="373" width="0.9" height="15.0" fill="rgb(225,22,42)" rx="2" ry="2" /> 1329 <text x="1047.43" y="383.5" ></text> 1330 </g> 1331 <g > 1332 <title>runtime.newArenaMayUnlock (1 samples, 0.04%)</title><rect x="747.4" y="357" width="0.4" height="15.0" fill="rgb(222,80,7)" rx="2" ry="2" /> 1333 <text x="750.39" y="367.5" ></text> 1334 </g> 1335 <g > 1336 <title>runtime.typeBitsBulkBarrier (1 samples, 0.04%)</title><rect x="822.9" y="293" width="0.5" height="15.0" fill="rgb(230,44,54)" rx="2" ry="2" /> 1337 <text x="825.90" y="303.5" ></text> 1338 </g> 1339 <g > 1340 <title>runtime.sweepone (5 samples, 0.19%)</title><rect x="745.6" y="405" width="2.2" height="15.0" fill="rgb(211,81,28)" rx="2" ry="2" /> 1341 <text x="748.57" y="415.5" ></text> 1342 </g> 1343 <g > 1344 <title>runtime.divRoundUp (1 samples, 0.04%)</title><rect x="1023.1" y="341" width="0.4" height="15.0" fill="rgb(210,164,12)" rx="2" ry="2" /> 1345 <text x="1026.05" y="351.5" ></text> 1346 </g> 1347 <g > 1348 <title>runtime.pcdatavalue (1 samples, 0.04%)</title><rect x="867.0" y="133" width="0.5" height="15.0" fill="rgb(221,141,16)" rx="2" ry="2" /> 1349 <text x="870.02" y="143.5" ></text> 1350 </g> 1351 <g > 1352 <title>runtime.sendDirect (2 samples, 0.08%)</title><rect x="822.4" y="309" width="1.0" height="15.0" fill="rgb(250,151,9)" rx="2" ry="2" /> 1353 <text x="825.44" y="319.5" ></text> 1354 </g> 1355 <g > 1356 <title>runtime.(*spanSet).push (1 samples, 0.04%)</title><rect x="1027.6" y="277" width="0.5" height="15.0" fill="rgb(243,36,30)" rx="2" ry="2" /> 1357 <text x="1030.60" y="287.5" ></text> 1358 </g> 1359 <g > 1360 <title>runtime.systemstack (128 samples, 4.93%)</title><rect x="748.3" y="405" width="58.2" height="15.0" fill="rgb(242,75,11)" rx="2" ry="2" /> 1361 <text x="751.30" y="415.5" >runtim..</text> 1362 </g> 1363 <g > 1364 <title>runtime.lockWithRank (4 samples, 0.15%)</title><rect x="826.5" y="341" width="1.9" height="15.0" fill="rgb(254,182,12)" rx="2" ry="2" /> 1365 <text x="829.54" y="351.5" ></text> 1366 </g> 1367 <g > 1368 <title>runtime.exitsyscall (14 samples, 0.54%)</title><rect x="1011.2" y="245" width="6.4" height="15.0" fill="rgb(251,227,46)" rx="2" ry="2" /> 1369 <text x="1014.23" y="255.5" ></text> 1370 </g> 1371 <g > 1372 <title>runtime.(*mcentral).grow (2 samples, 0.08%)</title><rect x="1026.7" y="277" width="0.9" height="15.0" fill="rgb(209,40,6)" rx="2" ry="2" /> 1373 <text x="1029.69" y="287.5" ></text> 1374 </g> 1375 <g > 1376 <title>runtime.runqput (4 samples, 0.15%)</title><rect x="819.3" y="245" width="1.8" height="15.0" fill="rgb(253,63,0)" rx="2" ry="2" /> 1377 <text x="822.26" y="255.5" ></text> 1378 </g> 1379 <g > 1380 <title>runtime.futex (2 samples, 0.08%)</title><rect x="1165.9" y="325" width="0.9" height="15.0" fill="rgb(240,213,54)" rx="2" ry="2" /> 1381 <text x="1168.89" y="335.5" ></text> 1382 </g> 1383 <g > 1384 <title>runtime.(*lfstack).push (4 samples, 0.15%)</title><rect x="757.8" y="309" width="1.9" height="15.0" fill="rgb(252,9,46)" rx="2" ry="2" /> 1385 <text x="760.85" y="319.5" ></text> 1386 </g> 1387 <g > 1388 <title>runtime.newstack (1 samples, 0.04%)</title><rect x="1184.5" y="405" width="0.5" height="15.0" fill="rgb(248,123,49)" rx="2" ry="2" /> 1389 <text x="1187.54" y="415.5" ></text> 1390 </g> 1391 <g > 1392 <title>runtime.(*gcWork).balance (9 samples, 0.35%)</title><rect x="755.6" y="357" width="4.1" height="15.0" fill="rgb(233,125,30)" rx="2" ry="2" /> 1393 <text x="758.57" y="367.5" ></text> 1394 </g> 1395 <g > 1396 <title>sync.(*Pool).Get (8 samples, 0.31%)</title><rect x="835.6" y="357" width="3.7" height="15.0" fill="rgb(223,223,26)" rx="2" ry="2" /> 1397 <text x="838.64" y="367.5" ></text> 1398 </g> 1399 <g > 1400 <title>runtime.futex (3 samples, 0.12%)</title><rect x="94.6" y="37" width="1.4" height="15.0" fill="rgb(229,123,7)" rx="2" ry="2" /> 1401 <text x="97.61" y="47.5" ></text> 1402 </g> 1403 <g > 1404 <title>net.(*netFD).readFrom (378 samples, 14.57%)</title><rect x="850.2" y="325" width="171.9" height="15.0" fill="rgb(251,206,54)" rx="2" ry="2" /> 1405 <text x="853.19" y="335.5" >net.(*netFD).readFrom</text> 1406 </g> 1407 <g > 1408 <title>runtime.gopreempt_m (1 samples, 0.04%)</title><rect x="1184.5" y="389" width="0.5" height="15.0" fill="rgb(208,211,12)" rx="2" ry="2" /> 1409 <text x="1187.54" y="399.5" ></text> 1410 </g> 1411 <g > 1412 <title>runtime.callers.func1 (1 samples, 0.04%)</title><rect x="867.0" y="165" width="0.5" height="15.0" fill="rgb(217,79,19)" rx="2" ry="2" /> 1413 <text x="870.02" y="175.5" ></text> 1414 </g> 1415 <g > 1416 <title>runtime.(*guintptr).cas (2 samples, 0.08%)</title><rect x="817.0" y="245" width="0.9" height="15.0" fill="rgb(225,229,21)" rx="2" ry="2" /> 1417 <text x="819.99" y="255.5" ></text> 1418 </g> 1419 <g > 1420 <title>runtime.putfull (2 samples, 0.08%)</title><rect x="72.3" y="101" width="0.9" height="15.0" fill="rgb(237,46,33)" rx="2" ry="2" /> 1421 <text x="75.32" y="111.5" ></text> 1422 </g> 1423 <g > 1424 <title>runtime.gopark (2 samples, 0.08%)</title><rect x="739.7" y="357" width="0.9" height="15.0" fill="rgb(233,129,24)" rx="2" ry="2" /> 1425 <text x="742.65" y="367.5" ></text> 1426 </g> 1427 <g > 1428 <title>runtime.ready (4 samples, 0.15%)</title><rect x="94.2" y="117" width="1.8" height="15.0" fill="rgb(247,221,33)" rx="2" ry="2" /> 1429 <text x="97.16" y="127.5" ></text> 1430 </g> 1431 <g > 1432 <title>runtime.chansend1 (41 samples, 1.58%)</title><rect x="809.7" y="357" width="18.7" height="15.0" fill="rgb(222,43,20)" rx="2" ry="2" /> 1433 <text x="812.71" y="367.5" ></text> 1434 </g> 1435 <g > 1436 <title>runtime.nextFreeFast (3 samples, 0.12%)</title><rect x="867.5" y="245" width="1.3" height="15.0" fill="rgb(205,172,34)" rx="2" ry="2" /> 1437 <text x="870.48" y="255.5" ></text> 1438 </g> 1439 <g > 1440 <title>runtime.(*mcache).nextFree (5 samples, 0.19%)</title><rect x="863.4" y="229" width="2.3" height="15.0" fill="rgb(239,66,10)" rx="2" ry="2" /> 1441 <text x="866.38" y="239.5" ></text> 1442 </g> 1443 <g > 1444 <title>runtime.(*mcentral).grow (1 samples, 0.04%)</title><rect x="68.7" y="165" width="0.4" height="15.0" fill="rgb(215,16,8)" rx="2" ry="2" /> 1445 <text x="71.68" y="175.5" ></text> 1446 </g> 1447 <g > 1448 <title>runtime.deductSweepCredit (1 samples, 0.04%)</title><rect x="69.1" y="165" width="0.5" height="15.0" fill="rgb(251,168,48)" rx="2" ry="2" /> 1449 <text x="72.14" y="175.5" ></text> 1450 </g> 1451 <g > 1452 <title>github.com/phuslu/fastdns.(*udpResponseWriter).Write (1,443 samples, 55.63%)</title><rect x="54.6" y="325" width="656.4" height="15.0" fill="rgb(234,144,53)" rx="2" ry="2" /> 1453 <text x="57.58" y="335.5" >github.com/phuslu/fastdns.(*udpResponseWriter).Write</text> 1454 </g> 1455 <g > 1456 <title>runtime.gcAssistAlloc1 (3 samples, 0.12%)</title><rect x="865.7" y="181" width="1.3" height="15.0" fill="rgb(228,36,49)" rx="2" ry="2" /> 1457 <text x="868.66" y="191.5" ></text> 1458 </g> 1459 <g > 1460 <title>runtime.(*mheap).freeSpan (1 samples, 0.04%)</title><rect x="746.9" y="373" width="0.5" height="15.0" fill="rgb(229,190,12)" rx="2" ry="2" /> 1461 <text x="749.93" y="383.5" ></text> 1462 </g> 1463 <g > 1464 <title>runtime.startm (6 samples, 0.23%)</title><rect x="1177.7" y="341" width="2.7" height="15.0" fill="rgb(205,140,43)" rx="2" ry="2" /> 1465 <text x="1180.72" y="351.5" ></text> 1466 </g> 1467 <g > 1468 <title>runtime.stopTheWorldWithSema (1 samples, 0.04%)</title><rect x="1028.1" y="293" width="0.4" height="15.0" fill="rgb(218,215,40)" rx="2" ry="2" /> 1469 <text x="1031.06" y="303.5" ></text> 1470 </g> 1471 <g > 1472 <title>runtime.callers (1 samples, 0.04%)</title><rect x="867.0" y="197" width="0.5" height="15.0" fill="rgb(217,161,50)" rx="2" ry="2" /> 1473 <text x="870.02" y="207.5" ></text> 1474 </g> 1475 <g > 1476 <title>runtime.(*mheap).alloc.func1 (3 samples, 0.12%)</title><rect x="863.4" y="133" width="1.3" height="15.0" fill="rgb(249,211,44)" rx="2" ry="2" /> 1477 <text x="866.38" y="143.5" ></text> 1478 </g> 1479 <g > 1480 <title>runtime.exitsyscallfast (4 samples, 0.15%)</title><rect x="702.8" y="181" width="1.8" height="15.0" fill="rgb(206,206,52)" rx="2" ry="2" /> 1481 <text x="705.81" y="191.5" ></text> 1482 </g> 1483 <g > 1484 <title>runtime.stackalloc (1 samples, 0.04%)</title><rect x="80.1" y="229" width="0.4" height="15.0" fill="rgb(225,98,37)" rx="2" ry="2" /> 1485 <text x="83.05" y="239.5" ></text> 1486 </g> 1487 <g > 1488 <title>runtime.putfull (4 samples, 0.15%)</title><rect x="757.8" y="325" width="1.9" height="15.0" fill="rgb(218,173,5)" rx="2" ry="2" /> 1489 <text x="760.85" y="335.5" ></text> 1490 </g> 1491 <g > 1492 <title>internal/poll.(*FD).WriteMsg (1,366 samples, 52.66%)</title><rect x="83.2" y="261" width="621.4" height="15.0" fill="rgb(217,86,41)" rx="2" ry="2" /> 1493 <text x="86.24" y="271.5" >internal/poll.(*FD).WriteMsg</text> 1494 </g> 1495 <g > 1496 <title>runtime.wbBufFlush.func1 (1 samples, 0.04%)</title><rect x="1022.1" y="261" width="0.5" height="15.0" fill="rgb(243,79,49)" rx="2" ry="2" /> 1497 <text x="1025.14" y="271.5" ></text> 1498 </g> 1499 <g > 1500 <title>sync.(*Pool).pin (1 samples, 0.04%)</title><rect x="837.9" y="341" width="0.5" height="15.0" fill="rgb(216,186,10)" rx="2" ry="2" /> 1501 <text x="840.91" y="351.5" ></text> 1502 </g> 1503 <g > 1504 <title>runtime.procUnpin (1 samples, 0.04%)</title><rect x="723.7" y="357" width="0.5" height="15.0" fill="rgb(209,158,46)" rx="2" ry="2" /> 1505 <text x="726.73" y="367.5" ></text> 1506 </g> 1507 <g > 1508 <title>github.com/phuslu/fastdns.serveCtx (1,540 samples, 59.37%)</title><rect x="28.7" y="389" width="700.5" height="15.0" fill="rgb(219,189,37)" rx="2" ry="2" /> 1509 <text x="31.65" y="399.5" >github.com/phuslu/fastdns.serveCtx</text> 1510 </g> 1511 <g > 1512 <title>runtime.systemstack (18 samples, 0.69%)</title><rect x="69.6" y="197" width="8.2" height="15.0" fill="rgb(254,206,17)" rx="2" ry="2" /> 1513 <text x="72.59" y="207.5" ></text> 1514 </g> 1515 <g > 1516 <title>runtime.futexsleep (2 samples, 0.08%)</title><rect x="706.9" y="181" width="0.9" height="15.0" fill="rgb(245,84,23)" rx="2" ry="2" /> 1517 <text x="709.90" y="191.5" ></text> 1518 </g> 1519 <g > 1520 <title>runtime.gcStart (1 samples, 0.04%)</title><rect x="1028.1" y="325" width="0.4" height="15.0" fill="rgb(212,182,13)" rx="2" ry="2" /> 1521 <text x="1031.06" y="335.5" ></text> 1522 </g> 1523 <g > 1524 <title>runtime.lock2 (5 samples, 0.19%)</title><rect x="706.0" y="197" width="2.3" height="15.0" fill="rgb(218,184,39)" rx="2" ry="2" /> 1525 <text x="708.99" y="207.5" ></text> 1526 </g> 1527 <g > 1528 <title>internal/poll.(*fdMutex).rwunlock (4 samples, 0.15%)</title><rect x="855.2" y="277" width="1.8" height="15.0" fill="rgb(226,194,51)" rx="2" ry="2" /> 1529 <text x="858.20" y="287.5" ></text> 1530 </g> 1531 <g > 1532 <title>internal/poll.runtime_Semacquire (11 samples, 0.42%)</title><rect x="705.5" y="229" width="5.0" height="15.0" fill="rgb(220,150,31)" rx="2" ry="2" /> 1533 <text x="708.54" y="239.5" ></text> 1534 </g> 1535 <g > 1536 <title>runtime.newobject (18 samples, 0.69%)</title><rect x="860.7" y="261" width="8.1" height="15.0" fill="rgb(206,158,49)" rx="2" ry="2" /> 1537 <text x="863.66" y="271.5" ></text> 1538 </g> 1539 <g > 1540 <title>net.(*UDPAddr).sockaddr (36 samples, 1.39%)</title><rect x="64.1" y="277" width="16.4" height="15.0" fill="rgb(231,25,22)" rx="2" ry="2" /> 1541 <text x="67.13" y="287.5" ></text> 1542 </g> 1543 <g > 1544 <title>runtime.pageIndexOf (17 samples, 0.66%)</title><rect x="798.3" y="341" width="7.8" height="15.0" fill="rgb(220,217,26)" rx="2" ry="2" /> 1545 <text x="801.33" y="351.5" ></text> 1546 </g> 1547 <g > 1548 <title>time.now (5 samples, 0.19%)</title><rect x="26.4" y="357" width="2.3" height="15.0" fill="rgb(205,226,12)" rx="2" ry="2" /> 1549 <text x="29.38" y="367.5" ></text> 1550 </g> 1551 <g > 1552 <title>runtime.notesleep (11 samples, 0.42%)</title><rect x="1160.0" y="325" width="5.0" height="15.0" fill="rgb(218,173,10)" rx="2" ry="2" /> 1553 <text x="1162.98" y="335.5" ></text> 1554 </g> 1555 <g > 1556 <title>runtime.lock2 (1 samples, 0.04%)</title><rect x="1184.5" y="357" width="0.5" height="15.0" fill="rgb(223,70,3)" rx="2" ry="2" /> 1557 <text x="1187.54" y="367.5" ></text> 1558 </g> 1559 <g > 1560 <title>internal/poll.(*fdMutex).rwlock (3 samples, 0.12%)</title><rect x="1017.6" y="293" width="1.4" height="15.0" fill="rgb(210,175,11)" rx="2" ry="2" /> 1561 <text x="1020.59" y="303.5" ></text> 1562 </g> 1563 <g > 1564 <title>runtime.typedmemmove (1 samples, 0.04%)</title><rect x="1022.1" y="325" width="0.5" height="15.0" fill="rgb(235,144,14)" rx="2" ry="2" /> 1565 <text x="1025.14" y="335.5" ></text> 1566 </g> 1567 <g > 1568 <title>runtime.nanotime (6 samples, 0.23%)</title><rect x="1167.3" y="373" width="2.7" height="15.0" fill="rgb(216,163,31)" rx="2" ry="2" /> 1569 <text x="1170.26" y="383.5" ></text> 1570 </g> 1571 <g > 1572 <title>runtime.wakep (3 samples, 0.12%)</title><rect x="821.1" y="245" width="1.3" height="15.0" fill="rgb(209,66,30)" rx="2" ry="2" /> 1573 <text x="824.08" y="255.5" ></text> 1574 </g> 1575 <g > 1576 <title>runtime.goready (4 samples, 0.15%)</title><rect x="94.2" y="165" width="1.8" height="15.0" fill="rgb(205,178,15)" rx="2" ry="2" /> 1577 <text x="97.16" y="175.5" ></text> 1578 </g> 1579 <g > 1580 <title>runtime.runqgrab (8 samples, 0.31%)</title><rect x="1155.0" y="341" width="3.6" height="15.0" fill="rgb(216,198,10)" rx="2" ry="2" /> 1581 <text x="1157.97" y="351.5" ></text> 1582 </g> 1583 <g > 1584 <title>syscall.Recvfrom (353 samples, 13.61%)</title><rect x="857.0" y="293" width="160.6" height="15.0" fill="rgb(209,161,50)" rx="2" ry="2" /> 1585 <text x="860.02" y="303.5" >syscall.Recvfrom</text> 1586 </g> 1587 <g > 1588 <title>net.(*UDPConn).readFromUDP (397 samples, 15.30%)</title><rect x="842.0" y="357" width="180.6" height="15.0" fill="rgb(241,100,31)" rx="2" ry="2" /> 1589 <text x="845.00" y="367.5" >net.(*UDPConn).readFrom..</text> 1590 </g> 1591 <g > 1592 <title>runtime.mPark (12 samples, 0.46%)</title><rect x="1159.5" y="341" width="5.5" height="15.0" fill="rgb(234,159,18)" rx="2" ry="2" /> 1593 <text x="1162.52" y="351.5" ></text> 1594 </g> 1595 <g > 1596 <title>runtime.startm (3 samples, 0.12%)</title><rect x="94.6" y="85" width="1.4" height="15.0" fill="rgb(217,61,23)" rx="2" ry="2" /> 1597 <text x="97.61" y="95.5" ></text> 1598 </g> 1599 <g > 1600 <title>runtime.lock2 (5 samples, 0.19%)</title><rect x="1165.0" y="357" width="2.3" height="15.0" fill="rgb(212,43,32)" rx="2" ry="2" /> 1601 <text x="1167.98" y="367.5" ></text> 1602 </g> 1603 <g > 1604 <title>runtime.greyobject (3 samples, 0.12%)</title><rect x="778.8" y="341" width="1.3" height="15.0" fill="rgb(214,115,9)" rx="2" ry="2" /> 1605 <text x="781.77" y="351.5" ></text> 1606 </g> 1607 <g > 1608 <title>runtime.futexwakeup (2 samples, 0.08%)</title><rect x="821.5" y="197" width="0.9" height="15.0" fill="rgb(210,138,37)" rx="2" ry="2" /> 1609 <text x="824.53" y="207.5" ></text> 1610 </g> 1611 <g > 1612 <title>runtime.scanblock (1 samples, 0.04%)</title><rect x="764.2" y="261" width="0.5" height="15.0" fill="rgb(212,63,1)" rx="2" ry="2" /> 1613 <text x="767.22" y="271.5" ></text> 1614 </g> 1615 <g > 1616 <title>net.ipToSockaddr (34 samples, 1.31%)</title><rect x="64.6" y="261" width="15.5" height="15.0" fill="rgb(216,123,39)" rx="2" ry="2" /> 1617 <text x="67.59" y="271.5" ></text> 1618 </g> 1619 <g > 1620 <title>runtime.ready (15 samples, 0.58%)</title><rect x="815.6" y="261" width="6.8" height="15.0" fill="rgb(208,112,13)" rx="2" ry="2" /> 1621 <text x="818.62" y="271.5" ></text> 1622 </g> 1623 <g > 1624 <title>runtime.(*mheap).freeSpan.func1 (1 samples, 0.04%)</title><rect x="746.9" y="341" width="0.5" height="15.0" fill="rgb(214,49,44)" rx="2" ry="2" /> 1625 <text x="749.93" y="351.5" ></text> 1626 </g> 1627 <g > 1628 <title>runtime.lockWithRank (5 samples, 0.19%)</title><rect x="1165.0" y="373" width="2.3" height="15.0" fill="rgb(225,138,21)" rx="2" ry="2" /> 1629 <text x="1167.98" y="383.5" ></text> 1630 </g> 1631 <g > 1632 <title>runtime.pMask.read (11 samples, 0.42%)</title><rect x="1172.3" y="373" width="5.0" height="15.0" fill="rgb(238,26,38)" rx="2" ry="2" /> 1633 <text x="1175.26" y="383.5" ></text> 1634 </g> 1635 <g > 1636 <title>runtime.newobject (20 samples, 0.77%)</title><rect x="1022.6" y="357" width="9.1" height="15.0" fill="rgb(234,27,33)" rx="2" ry="2" /> 1637 <text x="1025.60" y="367.5" ></text> 1638 </g> 1639 <g > 1640 <title>runtime.nanotime (1 samples, 0.04%)</title><rect x="1185.0" y="421" width="0.5" height="15.0" fill="rgb(233,139,43)" rx="2" ry="2" /> 1641 <text x="1188.00" y="431.5" ></text> 1642 </g> 1643 <g > 1644 <title>runtime.wirep (1 samples, 0.04%)</title><rect x="1017.1" y="213" width="0.5" height="15.0" fill="rgb(237,156,42)" rx="2" ry="2" /> 1645 <text x="1020.14" y="223.5" ></text> 1646 </g> 1647 <g > 1648 <title>runtime.findrunnable (206 samples, 7.94%)</title><rect x="1071.3" y="373" width="93.7" height="15.0" fill="rgb(240,219,29)" rx="2" ry="2" /> 1649 <text x="1074.27" y="383.5" >runtime.fin..</text> 1650 </g> 1651 <g > 1652 <title>runtime.notewakeup (3 samples, 0.12%)</title><rect x="94.6" y="69" width="1.4" height="15.0" fill="rgb(237,128,20)" rx="2" ry="2" /> 1653 <text x="97.61" y="79.5" ></text> 1654 </g> 1655 <g > 1656 <title>runtime.casgstatus (4 samples, 0.15%)</title><rect x="1035.3" y="389" width="1.9" height="15.0" fill="rgb(225,176,19)" rx="2" ry="2" /> 1657 <text x="1038.34" y="399.5" ></text> 1658 </g> 1659 <g > 1660 <title>sync.(*Mutex).Unlock (4 samples, 0.15%)</title><rect x="828.4" y="357" width="1.8" height="15.0" fill="rgb(234,221,40)" rx="2" ry="2" /> 1661 <text x="831.36" y="367.5" ></text> 1662 </g> 1663 <g > 1664 <title>runtime.acquireSudog (4 samples, 0.15%)</title><rect x="737.8" y="357" width="1.9" height="15.0" fill="rgb(214,6,54)" rx="2" ry="2" /> 1665 <text x="740.83" y="367.5" ></text> 1666 </g> 1667 <g > 1668 <title>net.(*UDPConn).readFrom (391 samples, 15.07%)</title><rect x="844.7" y="341" width="177.9" height="15.0" fill="rgb(237,45,12)" rx="2" ry="2" /> 1669 <text x="847.73" y="351.5" >net.(*UDPConn).readFrom</text> 1670 </g> 1671 <g > 1672 <title>runtime.casgstatus (3 samples, 0.12%)</title><rect x="817.9" y="245" width="1.4" height="15.0" fill="rgb(210,96,41)" rx="2" ry="2" /> 1673 <text x="820.90" y="255.5" ></text> 1674 </g> 1675 <g > 1676 <title>runtime.(*mcentral).cacheSpan (4 samples, 0.15%)</title><rect x="863.4" y="197" width="1.8" height="15.0" fill="rgb(245,37,42)" rx="2" ry="2" /> 1677 <text x="866.38" y="207.5" ></text> 1678 </g> 1679 <g > 1680 <title>runtime.(*mcache).nextFree (2 samples, 0.08%)</title><rect x="68.7" y="213" width="0.9" height="15.0" fill="rgb(221,54,34)" rx="2" ry="2" /> 1681 <text x="71.68" y="223.5" ></text> 1682 </g> 1683 <g > 1684 <title>runtime.handoff (1 samples, 0.04%)</title><rect x="866.1" y="133" width="0.5" height="15.0" fill="rgb(245,58,27)" rx="2" ry="2" /> 1685 <text x="869.11" y="143.5" ></text> 1686 </g> 1687 <g > 1688 <title>internal/poll.(*pollDesc).waitRead (6 samples, 0.23%)</title><rect x="1019.4" y="309" width="2.7" height="15.0" fill="rgb(231,8,29)" rx="2" ry="2" /> 1689 <text x="1022.41" y="319.5" ></text> 1690 </g> 1691 <g > 1692 <title>runtime.stackpoolalloc (1 samples, 0.04%)</title><rect x="80.1" y="197" width="0.4" height="15.0" fill="rgb(215,73,4)" rx="2" ry="2" /> 1693 <text x="83.05" y="207.5" ></text> 1694 </g> 1695 <g > 1696 <title>runtime.(*lfstack).pop (3 samples, 0.12%)</title><rect x="760.1" y="341" width="1.4" height="15.0" fill="rgb(241,47,40)" rx="2" ry="2" /> 1697 <text x="763.12" y="351.5" ></text> 1698 </g> 1699 <g > 1700 <title>runtime.gentraceback (1 samples, 0.04%)</title><rect x="867.0" y="149" width="0.5" height="15.0" fill="rgb(226,104,38)" rx="2" ry="2" /> 1701 <text x="870.02" y="159.5" ></text> 1702 </g> 1703 <g > 1704 <title>runtime.heapBits.bits (1 samples, 0.04%)</title><rect x="74.1" y="133" width="0.5" height="15.0" fill="rgb(210,42,1)" rx="2" ry="2" /> 1705 <text x="77.14" y="143.5" ></text> 1706 </g> 1707 <g > 1708 <title>runtime.reentersyscall (13 samples, 0.50%)</title><rect x="692.3" y="181" width="6.0" height="15.0" fill="rgb(223,4,4)" rx="2" ry="2" /> 1709 <text x="695.34" y="191.5" ></text> 1710 </g> 1711 <g > 1712 <title>runtime.notewakeup (2 samples, 0.08%)</title><rect x="821.5" y="213" width="0.9" height="15.0" fill="rgb(213,204,22)" rx="2" ry="2" /> 1713 <text x="824.53" y="223.5" ></text> 1714 </g> 1715 <g > 1716 <title>runtime.(*semaRoot).dequeue (4 samples, 0.15%)</title><rect x="92.3" y="181" width="1.9" height="15.0" fill="rgb(215,208,27)" rx="2" ry="2" /> 1717 <text x="95.34" y="191.5" ></text> 1718 </g> 1719 <g > 1720 <title>internal/poll.(*fdMutex).rwunlock (19 samples, 0.73%)</title><rect x="87.3" y="229" width="8.7" height="15.0" fill="rgb(224,145,17)" rx="2" ry="2" /> 1721 <text x="90.33" y="239.5" ></text> 1722 </g> 1723 <g > 1724 <title>runtime.(*mheap).allocSpan (2 samples, 0.08%)</title><rect x="863.4" y="117" width="0.9" height="15.0" fill="rgb(219,52,48)" rx="2" ry="2" /> 1725 <text x="866.38" y="127.5" ></text> 1726 </g> 1727 <g > 1728 <title>syscall.Syscall6 (324 samples, 12.49%)</title><rect x="870.2" y="261" width="147.4" height="15.0" fill="rgb(245,180,46)" rx="2" ry="2" /> 1729 <text x="873.21" y="271.5" >syscall.Syscall6</text> 1730 </g> 1731 <g > 1732 <title>runtime.wakep (3 samples, 0.12%)</title><rect x="94.6" y="101" width="1.4" height="15.0" fill="rgb(212,82,47)" rx="2" ry="2" /> 1733 <text x="97.61" y="111.5" ></text> 1734 </g> 1735 <g > 1736 <title>runtime.futex (2 samples, 0.08%)</title><rect x="706.9" y="165" width="0.9" height="15.0" fill="rgb(231,88,9)" rx="2" ry="2" /> 1737 <text x="709.90" y="175.5" ></text> 1738 </g> 1739 <g > 1740 <title>runtime.systemstack (3 samples, 0.12%)</title><rect x="1186.4" y="421" width="1.3" height="15.0" fill="rgb(207,108,8)" rx="2" ry="2" /> 1741 <text x="1189.36" y="431.5" ></text> 1742 </g> 1743 <g > 1744 <title>memeqbody (4 samples, 0.15%)</title><rect x="719.2" y="309" width="1.8" height="15.0" fill="rgb(228,39,2)" rx="2" ry="2" /> 1745 <text x="722.18" y="319.5" ></text> 1746 </g> 1747 <g > 1748 <title>runtime.gcMarkDone (1 samples, 0.04%)</title><rect x="747.8" y="405" width="0.5" height="15.0" fill="rgb(235,50,52)" rx="2" ry="2" /> 1749 <text x="750.84" y="415.5" ></text> 1750 </g> 1751 <g > 1752 <title>runtime.casgstatus (8 samples, 0.31%)</title><rect x="694.6" y="165" width="3.7" height="15.0" fill="rgb(218,108,40)" rx="2" ry="2" /> 1753 <text x="697.62" y="175.5" ></text> 1754 </g> 1755 <g > 1756 <title>runtime.entersyscall (16 samples, 0.62%)</title><rect x="691.0" y="197" width="7.3" height="15.0" fill="rgb(236,114,29)" rx="2" ry="2" /> 1757 <text x="693.98" y="207.5" ></text> 1758 </g> 1759 <g > 1760 <title>sync.(*poolDequeue).popTail (1 samples, 0.04%)</title><rect x="837.5" y="309" width="0.4" height="15.0" fill="rgb(224,68,54)" rx="2" ry="2" /> 1761 <text x="840.46" y="319.5" ></text> 1762 </g> 1763 <g > 1764 <title>runtime.handoff (9 samples, 0.35%)</title><rect x="755.6" y="341" width="4.1" height="15.0" fill="rgb(216,123,1)" rx="2" ry="2" /> 1765 <text x="758.57" y="351.5" ></text> 1766 </g> 1767 <g > 1768 <title>runtime.lock2 (3 samples, 0.12%)</title><rect x="743.3" y="357" width="1.4" height="15.0" fill="rgb(212,25,46)" rx="2" ry="2" /> 1769 <text x="746.29" y="367.5" ></text> 1770 </g> 1771 <g > 1772 <title>runtime.(*gcBitsArena).tryAlloc (1 samples, 0.04%)</title><rect x="863.4" y="101" width="0.4" height="15.0" fill="rgb(252,153,8)" rx="2" ry="2" /> 1773 <text x="866.38" y="111.5" ></text> 1774 </g> 1775 <g > 1776 <title>runtime.unlock2 (1 samples, 0.04%)</title><rect x="1033.5" y="373" width="0.5" height="15.0" fill="rgb(233,67,5)" rx="2" ry="2" /> 1777 <text x="1036.52" y="383.5" ></text> 1778 </g> 1779 <g > 1780 <title>internal/poll.(*FD).readLock (3 samples, 0.12%)</title><rect x="1017.6" y="309" width="1.4" height="15.0" fill="rgb(209,212,54)" rx="2" ry="2" /> 1781 <text x="1020.59" y="319.5" ></text> 1782 </g> 1783 <g > 1784 <title>internal/poll.(*FD).ReadFrom (367 samples, 14.15%)</title><rect x="850.6" y="309" width="167.0" height="15.0" fill="rgb(244,165,30)" rx="2" ry="2" /> 1785 <text x="853.65" y="319.5" >internal/poll.(*FD).R..</text> 1786 </g> 1787 <g > 1788 <title>runtime.netpollblock (2 samples, 0.08%)</title><rect x="1021.2" y="261" width="0.9" height="15.0" fill="rgb(220,1,47)" rx="2" ry="2" /> 1789 <text x="1024.23" y="271.5" ></text> 1790 </g> 1791 <g > 1792 <title>runtime.(*gcWork).balance (1 samples, 0.04%)</title><rect x="866.1" y="149" width="0.5" height="15.0" fill="rgb(208,94,42)" rx="2" ry="2" /> 1793 <text x="869.11" y="159.5" ></text> 1794 </g> 1795 <g > 1796 <title>runtime.reentersyscall (12 samples, 0.46%)</title><rect x="1005.8" y="229" width="5.4" height="15.0" fill="rgb(252,81,36)" rx="2" ry="2" /> 1797 <text x="1008.77" y="239.5" ></text> 1798 </g> 1799 <g > 1800 <title>internal/poll.(*FD).readUnlock (5 samples, 0.19%)</title><rect x="854.7" y="293" width="2.3" height="15.0" fill="rgb(244,167,40)" rx="2" ry="2" /> 1801 <text x="857.74" y="303.5" ></text> 1802 </g> 1803 <g > 1804 <title>runtime.scanobject (92 samples, 3.55%)</title><rect x="764.7" y="357" width="41.8" height="15.0" fill="rgb(229,72,40)" rx="2" ry="2" /> 1805 <text x="767.67" y="367.5" >run..</text> 1806 </g> 1807 <g > 1808 <title>runtime.chanparkcommit (1 samples, 0.04%)</title><rect x="1037.2" y="389" width="0.4" height="15.0" fill="rgb(210,36,54)" rx="2" ry="2" /> 1809 <text x="1040.15" y="399.5" ></text> 1810 </g> 1811 <g > 1812 <title>runtime.main (495 samples, 19.08%)</title><rect x="806.5" y="421" width="225.2" height="15.0" fill="rgb(205,160,48)" rx="2" ry="2" /> 1813 <text x="809.52" y="431.5" >runtime.main</text> 1814 </g> 1815 <g > 1816 <title>runtime.findObject (8 samples, 0.31%)</title><rect x="775.1" y="341" width="3.7" height="15.0" fill="rgb(208,73,9)" rx="2" ry="2" /> 1817 <text x="778.13" y="351.5" ></text> 1818 </g> 1819 <g > 1820 <title>runtime.(*mcentral).grow (4 samples, 0.15%)</title><rect x="863.4" y="181" width="1.8" height="15.0" fill="rgb(210,78,29)" rx="2" ry="2" /> 1821 <text x="866.38" y="191.5" ></text> 1822 </g> 1823 <g > 1824 <title>runtime.gcAssistAlloc1 (18 samples, 0.69%)</title><rect x="69.6" y="165" width="8.2" height="15.0" fill="rgb(245,69,10)" rx="2" ry="2" /> 1825 <text x="72.59" y="175.5" ></text> 1826 </g> 1827 <g > 1828 <title>runtime.acquirem (1 samples, 0.04%)</title><rect x="861.6" y="245" width="0.4" height="15.0" fill="rgb(215,188,30)" rx="2" ry="2" /> 1829 <text x="864.57" y="255.5" ></text> 1830 </g> 1831 <g > 1832 <title>syscall.sendmsg (1,327 samples, 51.16%)</title><rect x="101.0" y="229" width="603.6" height="15.0" fill="rgb(208,112,40)" rx="2" ry="2" /> 1833 <text x="103.98" y="239.5" >syscall.sendmsg</text> 1834 </g> 1835 <g > 1836 <title>runtime.handoff (3 samples, 0.12%)</title><rect x="71.9" y="117" width="1.3" height="15.0" fill="rgb(223,94,39)" rx="2" ry="2" /> 1837 <text x="74.87" y="127.5" ></text> 1838 </g> 1839 <g > 1840 <title>runtime.add (1 samples, 0.04%)</title><rect x="716.0" y="325" width="0.5" height="15.0" fill="rgb(238,42,30)" rx="2" ry="2" /> 1841 <text x="719.00" y="335.5" ></text> 1842 </g> 1843 <g > 1844 <title>runtime.newMarkBits (1 samples, 0.04%)</title><rect x="747.4" y="373" width="0.4" height="15.0" fill="rgb(224,212,49)" rx="2" ry="2" /> 1845 <text x="750.39" y="383.5" ></text> 1846 </g> 1847 <g > 1848 <title>runtime.releaseSudog (4 samples, 0.15%)</title><rect x="740.6" y="357" width="1.8" height="15.0" fill="rgb(210,2,32)" rx="2" ry="2" /> 1849 <text x="743.56" y="367.5" ></text> 1850 </g> 1851 <g > 1852 <title>runtime.nobarrierWakeTime (5 samples, 0.19%)</title><rect x="1170.0" y="373" width="2.3" height="15.0" fill="rgb(218,114,4)" rx="2" ry="2" /> 1853 <text x="1172.98" y="383.5" ></text> 1854 </g> 1855 <g > 1856 <title>runtime.globrunqget (1 samples, 0.04%)</title><rect x="1081.7" y="357" width="0.5" height="15.0" fill="rgb(221,108,23)" rx="2" ry="2" /> 1857 <text x="1084.73" y="367.5" ></text> 1858 </g> 1859 <g > 1860 <title>runtime.(*mspan).divideByElemSize (1 samples, 0.04%)</title><rect x="774.2" y="341" width="0.5" height="15.0" fill="rgb(229,68,38)" rx="2" ry="2" /> 1861 <text x="777.23" y="351.5" ></text> 1862 </g> 1863 <g > 1864 <title>internal/poll.(*pollDesc).prepareWrite (1 samples, 0.04%)</title><rect x="710.5" y="261" width="0.5" height="15.0" fill="rgb(219,138,6)" rx="2" ry="2" /> 1865 <text x="713.54" y="271.5" ></text> 1866 </g> 1867 <g > 1868 <title>runtime.(*guintptr).cas (1 samples, 0.04%)</title><rect x="94.2" y="101" width="0.4" height="15.0" fill="rgb(215,21,2)" rx="2" ry="2" /> 1869 <text x="97.16" y="111.5" ></text> 1870 </g> 1871 <g > 1872 <title>runtime.scanstack (3 samples, 0.12%)</title><rect x="763.3" y="325" width="1.4" height="15.0" fill="rgb(225,135,9)" rx="2" ry="2" /> 1873 <text x="766.31" y="335.5" ></text> 1874 </g> 1875 <g > 1876 <title>runtime.stackcacherefill (1 samples, 0.04%)</title><rect x="80.1" y="213" width="0.4" height="15.0" fill="rgb(210,72,40)" rx="2" ry="2" /> 1877 <text x="83.05" y="223.5" ></text> 1878 </g> 1879 <g > 1880 <title>runtime.usleep (6 samples, 0.23%)</title><rect x="1155.9" y="325" width="2.7" height="15.0" fill="rgb(226,40,42)" rx="2" ry="2" /> 1881 <text x="1158.88" y="335.5" ></text> 1882 </g> 1883 <g > 1884 <title>runtime.casgstatus (6 samples, 0.23%)</title><rect x="1008.0" y="213" width="2.8" height="15.0" fill="rgb(209,55,23)" rx="2" ry="2" /> 1885 <text x="1011.04" y="223.5" ></text> 1886 </g> 1887 <g > 1888 <title>runtime.morestack (1 samples, 0.04%)</title><rect x="1184.5" y="421" width="0.5" height="15.0" fill="rgb(243,51,50)" rx="2" ry="2" /> 1889 <text x="1187.54" y="431.5" ></text> 1890 </g> 1891 <g > 1892 <title>runtime.semrelease (11 samples, 0.42%)</title><rect x="91.0" y="213" width="5.0" height="15.0" fill="rgb(232,112,5)" rx="2" ry="2" /> 1893 <text x="93.97" y="223.5" ></text> 1894 </g> 1895 <g > 1896 <title>runtime.schedule (1 samples, 0.04%)</title><rect x="1033.1" y="373" width="0.4" height="15.0" fill="rgb(229,60,5)" rx="2" ry="2" /> 1897 <text x="1036.06" y="383.5" ></text> 1898 </g> 1899 <g > 1900 <title>runtime.systemstack (1 samples, 0.04%)</title><rect x="1028.1" y="309" width="0.4" height="15.0" fill="rgb(223,196,38)" rx="2" ry="2" /> 1901 <text x="1031.06" y="319.5" ></text> 1902 </g> 1903 <g > 1904 <title>runtime.(*mcache).refill (5 samples, 0.19%)</title><rect x="863.4" y="213" width="2.3" height="15.0" fill="rgb(236,93,7)" rx="2" ry="2" /> 1905 <text x="866.38" y="223.5" ></text> 1906 </g> 1907 <g > 1908 <title>net.(*UDPConn).writeMsg (1,430 samples, 55.13%)</title><rect x="60.5" y="293" width="650.5" height="15.0" fill="rgb(248,72,38)" rx="2" ry="2" /> 1909 <text x="63.49" y="303.5" >net.(*UDPConn).writeMsg</text> 1910 </g> 1911 <g > 1912 <title>runtime.(*gcWork).balance (3 samples, 0.12%)</title><rect x="71.9" y="133" width="1.3" height="15.0" fill="rgb(205,108,22)" rx="2" ry="2" /> 1913 <text x="74.87" y="143.5" ></text> 1914 </g> 1915 <g > 1916 <title>runtime/pprof.readProfile (1 samples, 0.04%)</title><rect x="1189.5" y="405" width="0.5" height="15.0" fill="rgb(219,120,42)" rx="2" ry="2" /> 1917 <text x="1192.55" y="415.5" ></text> 1918 </g> 1919 <g > 1920 <title>internal/poll.(*pollDesc).wait (6 samples, 0.23%)</title><rect x="1019.4" y="293" width="2.7" height="15.0" fill="rgb(226,101,33)" rx="2" ry="2" /> 1921 <text x="1022.41" y="303.5" ></text> 1922 </g> 1923 <g > 1924 <title>sync.runtime_procPin (1 samples, 0.04%)</title><rect x="726.5" y="341" width="0.4" height="15.0" fill="rgb(247,35,20)" rx="2" ry="2" /> 1925 <text x="729.46" y="351.5" ></text> 1926 </g> 1927 <g > 1928 <title>runtime.entersyscall (12 samples, 0.46%)</title><rect x="1005.8" y="245" width="5.4" height="15.0" fill="rgb(229,92,48)" rx="2" ry="2" /> 1929 <text x="1008.77" y="255.5" ></text> 1930 </g> 1931 </g> 1932 </svg>