Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Adding debug folder for easy commits of profiling data.

  • Loading branch information...
commit 584308ffa2991f804a8f54c82385dabe1afd65e4 1 parent 6c40d9d
@duoduo authored
Showing with 661 additions and 0 deletions.
  1. +661 −0 debug/pprof16581.0.svg
View
661 debug/pprof16581.0.svg
@@ -0,0 +1,661 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.26.3 (20100126.1600)
+ -->
+<!-- Title: red; 18 samples Pages: 1 -->
+<svg width="100%" height="100%"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<script type="text/ecmascript"><![CDATA[
+// SVGPan
+// http://www.cyberz.org/blog/2009/12/08/svgpan-a-javascript-svg-panzoomdrag-library/
+// Local modification: if(true || ...) below to force panning, never moving.
+// Local modification: add clamping to fix bug in handleMouseWheel.
+
+/**
+ * SVGPan library 1.2
+ * ====================
+ *
+ * Given an unique existing element with id "viewport", including the
+ * the library into any SVG adds the following capabilities:
+ *
+ * - Mouse panning
+ * - Mouse zooming (using the wheel)
+ * - Object dargging
+ *
+ * Known issues:
+ *
+ * - Zooming (while panning) on Safari has still some issues
+ *
+ * Releases:
+ *
+ * 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui
+ * Fixed a bug with browser mouse handler interaction
+ *
+ * 1.1, Wed Feb 3 17:39:33 GMT 2010, Zeng Xiaohui
+ * Updated the zoom code to support the mouse wheel on Safari/Chrome
+ *
+ * 1.0, Andrea Leofreddi
+ * First release
+ *
+ * This code is licensed under the following BSD license:
+ *
+ * Copyright 2009-2010 Andrea Leofreddi <a.leofreddi@itcharm.com>. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of Andrea Leofreddi.
+ */
+
+var root = document.documentElement;
+
+var state = 'none', stateTarget, stateOrigin, stateTf;
+
+setupHandlers(root);
+
+/**
+ * Register handlers
+ */
+function setupHandlers(root){
+ setAttributes(root, {
+ "onmouseup" : "add(evt)",
+ "onmousedown" : "handleMouseDown(evt)",
+ "onmousemove" : "handleMouseMove(evt)",
+ "onmouseup" : "handleMouseUp(evt)",
+ //"onmouseout" : "handleMouseUp(evt)", // Decomment this to stop the pan functionality when dragging out of the SVG element
+ });
+
+ if(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0)
+ window.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari
+ else
+ window.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others
+
+ var g = svgDoc.getElementById("svg");
+ g.width = "100%";
+ g.height = "100%";
+}
+
+/**
+ * Instance an SVGPoint object with given event coordinates.
+ */
+function getEventPoint(evt) {
+ var p = root.createSVGPoint();
+
+ p.x = evt.clientX;
+ p.y = evt.clientY;
+
+ return p;
+}
+
+/**
+ * Sets the current transform matrix of an element.
+ */
+function setCTM(element, matrix) {
+ var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")";
+
+ element.setAttribute("transform", s);
+}
+
+/**
+ * Dumps a matrix to a string (useful for debug).
+ */
+function dumpMatrix(matrix) {
+ var s = "[ " + matrix.a + ", " + matrix.c + ", " + matrix.e + "\n " + matrix.b + ", " + matrix.d + ", " + matrix.f + "\n 0, 0, 1 ]";
+
+ return s;
+}
+
+/**
+ * Sets attributes of an element.
+ */
+function setAttributes(element, attributes){
+ for (i in attributes)
+ element.setAttributeNS(null, i, attributes[i]);
+}
+
+/**
+ * Handle mouse move event.
+ */
+function handleMouseWheel(evt) {
+ if(evt.preventDefault)
+ evt.preventDefault();
+
+ evt.returnValue = false;
+
+ var svgDoc = evt.target.ownerDocument;
+
+ var delta;
+
+ if(evt.wheelDelta)
+ delta = evt.wheelDelta / 3600; // Chrome/Safari
+ else
+ delta = evt.detail / -90; // Mozilla
+
+ var z = 1 + delta; // Zoom factor: 0.9/1.1
+
+ // Clamp to reasonable values.
+ // The 0.1 check is important because
+ // a very large scroll can turn into a
+ // negative z, which rotates the image 180 degrees.
+ if(z < 0.1)
+ z = 0.1;
+ if(z > 10.0)
+ z = 10.0;
+
+ var g = svgDoc.getElementById("viewport");
+
+ var p = getEventPoint(evt);
+
+ p = p.matrixTransform(g.getCTM().inverse());
+
+ // Compute new scale matrix in current mouse position
+ var k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y);
+
+ setCTM(g, g.getCTM().multiply(k));
+
+ stateTf = stateTf.multiply(k.inverse());
+}
+
+/**
+ * Handle mouse move event.
+ */
+function handleMouseMove(evt) {
+ if(evt.preventDefault)
+ evt.preventDefault();
+
+ evt.returnValue = false;
+
+ var svgDoc = evt.target.ownerDocument;
+
+ var g = svgDoc.getElementById("viewport");
+
+ if(state == 'pan') {
+ // Pan mode
+ var p = getEventPoint(evt).matrixTransform(stateTf);
+
+ setCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));
+ } else if(state == 'move') {
+ // Move mode
+ var p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());
+
+ setCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));
+
+ stateOrigin = p;
+ }
+}
+
+/**
+ * Handle click event.
+ */
+function handleMouseDown(evt) {
+ if(evt.preventDefault)
+ evt.preventDefault();
+
+ evt.returnValue = false;
+
+ var svgDoc = evt.target.ownerDocument;
+
+ var g = svgDoc.getElementById("viewport");
+
+ if(true || evt.target.tagName == "svg") {
+ // Pan mode
+ state = 'pan';
+
+ stateTf = g.getCTM().inverse();
+
+ stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
+ } else {
+ // Move mode
+ state = 'move';
+
+ stateTarget = evt.target;
+
+ stateTf = g.getCTM().inverse();
+
+ stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
+ }
+}
+
+/**
+ * Handle mouse button release event.
+ */
+function handleMouseUp(evt) {
+ if(evt.preventDefault)
+ evt.preventDefault();
+
+ evt.returnValue = false;
+
+ var svgDoc = evt.target.ownerDocument;
+
+ if(state == 'pan' || state == 'move') {
+ // Quit pan mode
+ state = '';
+ }
+}
+
+]]></script>
+<g id="viewport" transform="translate(0,0)">
+<g id="viewport" class="graph" transform="scale(1 1) rotate(0) translate(4 1544)">
+<title>red; 18 samples</title>
+<polygon fill="white" stroke="white" points="-4,5 -4,-1544 1230,-1544 1230,5 -4,5"/>
+<!-- Legend -->
+<g id="node1" class="node"><title>Legend</title>
+<text text-anchor="start" x="7.5" y="-1513.9" font-family="Times Roman,serif" font-size="24.00">red</text>
+<text text-anchor="start" x="7.5" y="-1484.9" font-family="Times Roman,serif" font-size="24.00">Total samples: 18</text>
+<text text-anchor="start" x="7.5" y="-1455.9" font-family="Times Roman,serif" font-size="24.00">Focusing on: 18</text>
+<text text-anchor="start" x="7.5" y="-1426.9" font-family="Times Roman,serif" font-size="24.00">Dropped nodes with &lt;= 0 abs(samples)</text>
+<text text-anchor="start" x="7.5" y="-1397.9" font-family="Times Roman,serif" font-size="24.00">Dropped edges with &lt;= 0 samples</text>
+</g>
+<!-- N1 -->
+<g id="node2" class="node"><title>N1</title>
+<polygon fill="none" stroke="black" points="660,-1482 514,-1482 514,-1444 660,-1444 660,-1482"/>
+<text text-anchor="middle" x="587" y="-1470.8" font-family="Times Roman,serif" font-size="8.00">main.(*Client).ProcessRequest</text>
+<text text-anchor="end" x="652.5" y="-1460.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="652.5" y="-1450.8" font-family="Times Roman,serif" font-size="8.00">of 18 (100.0%)</text>
+</g>
+<!-- N7 -->
+<g id="node8" class="node"><title>N7</title>
+<polygon fill="none" stroke="black" points="624,-1332 550,-1332 550,-1294 624,-1294 624,-1332"/>
+<text text-anchor="middle" x="587" y="-1320.8" font-family="Times Roman,serif" font-size="8.00">main.Ping</text>
+<text text-anchor="end" x="616" y="-1310.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="616" y="-1300.8" font-family="Times Roman,serif" font-size="8.00">of 11 (61.1%)</text>
+</g>
+<!-- N1&#45;&gt;N7 -->
+<g id="edge44" class="edge"><title>N1&#45;&gt;N7</title>
+<path fill="none" stroke="black" stroke-width="2" d="M587,-1443.7C587,-1418.05 587,-1372.48 587,-1342.5"/>
+<polygon fill="black" stroke="black" points="590.5,-1342.23 587,-1332.23 583.5,-1342.23 590.5,-1342.23"/>
+<text text-anchor="middle" x="596.5" y="-1355.4" font-family="Times Roman,serif" font-size="14.00">11</text>
+</g>
+<!-- N11 -->
+<g id="node12" class="node"><title>N11</title>
+<polygon fill="none" stroke="black" points="735,-1276 631,-1276 631,-1238 735,-1238 735,-1276"/>
+<text text-anchor="middle" x="683" y="-1264.8" font-family="Times Roman,serif" font-size="8.00">bufio.(*Reader).Peek</text>
+<text text-anchor="end" x="727" y="-1254.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="727" y="-1244.8" font-family="Times Roman,serif" font-size="8.00">of 7 (38.9%)</text>
+</g>
+<!-- N1&#45;&gt;N11 -->
+<g id="edge14" class="edge"><title>N1&#45;&gt;N11</title>
+<path fill="none" stroke="black" stroke-width="2" d="M595.859,-1443.99C612.783,-1407.67 649.793,-1328.26 669.699,-1285.54"/>
+<polygon fill="black" stroke="black" points="672.971,-1286.81 674.022,-1276.26 666.626,-1283.85 672.971,-1286.81"/>
+<text text-anchor="middle" x="644" y="-1355.4" font-family="Times Roman,serif" font-size="14.00">7</text>
+</g>
+<!-- N2 -->
+<g id="node3" class="node"><title>N2</title>
+<polygon fill="none" stroke="black" points="600,-286 468,-286 468,-248 600,-248 600,-286"/>
+<text text-anchor="middle" x="534" y="-274.8" font-family="Times Roman,serif" font-size="8.00">main.(*Server).handleConn</text>
+<text text-anchor="end" x="592.5" y="-264.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="592.5" y="-254.8" font-family="Times Roman,serif" font-size="8.00">of 18 (100.0%)</text>
+</g>
+<!-- N2&#45;&gt;N1 -->
+<g id="edge8" class="edge"><title>N2&#45;&gt;N1</title>
+<path fill="none" stroke="black" stroke-width="2" d="M501.508,-286.051C475.729,-303.875 444,-333.103 444,-369 444,-1313 444,-1313 444,-1313 444,-1321.32 518.668,-1395.94 560.094,-1436.7"/>
+<polygon fill="black" stroke="black" points="557.83,-1439.38 567.416,-1443.89 562.735,-1434.39 557.83,-1439.38"/>
+<text text-anchor="middle" x="453.5" y="-875.4" font-family="Times Roman,serif" font-size="14.00">18</text>
+</g>
+<!-- N3 -->
+<g id="node4" class="node"><title>N3</title>
+<polygon fill="none" stroke="black" points="798,-388 720,-388 720,-350 798,-350 798,-388"/>
+<text text-anchor="middle" x="759" y="-376.8" font-family="Times Roman,serif" font-size="8.00">schedunlock</text>
+<text text-anchor="end" x="790.5" y="-366.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="790.5" y="-356.8" font-family="Times Roman,serif" font-size="8.00">of 18 (100.0%)</text>
+</g>
+<!-- N3&#45;&gt;N2 -->
+<g id="edge52" class="edge"><title>N3&#45;&gt;N2</title>
+<path fill="none" stroke="black" stroke-width="2" d="M728.924,-349.877C723.068,-346.427 716.911,-342.983 711,-340 673.567,-321.111 630.049,-303.113 595.532,-289.714"/>
+<polygon fill="black" stroke="black" points="596.637,-286.389 586.047,-286.06 594.12,-292.921 596.637,-286.389"/>
+<text text-anchor="middle" x="677.5" y="-309.4" font-family="Times Roman,serif" font-size="14.00">18</text>
+</g>
+<!-- N18 -->
+<g id="node19" class="node"><title>N18</title>
+<polygon fill="none" stroke="black" points="811,-286 707,-286 707,-248 811,-248 811,-286"/>
+<text text-anchor="middle" x="759" y="-274.8" font-family="Times Roman,serif" font-size="8.00">runtime.notewakeup</text>
+<text text-anchor="end" x="803" y="-264.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="803" y="-254.8" font-family="Times Roman,serif" font-size="8.00">of 6 (33.3%)</text>
+</g>
+<!-- N3&#45;&gt;N18 -->
+<g id="edge26" class="edge"><title>N3&#45;&gt;N18</title>
+<path fill="none" stroke="black" stroke-width="2" d="M759,-349.815C759,-334.713 759,-313.415 759,-296.199"/>
+<polygon fill="black" stroke="black" points="762.5,-296.099 759,-286.099 755.5,-296.099 762.5,-296.099"/>
+<text text-anchor="middle" x="764" y="-309.4" font-family="Times Roman,serif" font-size="14.00">6</text>
+</g>
+<!-- N27 -->
+<g id="node28" class="node"><title>N27</title>
+<polygon fill="none" stroke="black" points="909,-286 829,-286 829,-248 909,-248 909,-286"/>
+<text text-anchor="middle" x="869" y="-274.8" font-family="Times Roman,serif" font-size="8.00">runtime.unlock</text>
+<text text-anchor="end" x="901" y="-264.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="901" y="-254.8" font-family="Times Roman,serif" font-size="8.00">of 1 (5.6%)</text>
+</g>
+<!-- N3&#45;&gt;N27 -->
+<g id="edge4" class="edge"><title>N3&#45;&gt;N27</title>
+<path fill="none" stroke="black" d="M779.69,-349.815C796.975,-333.787 821.787,-310.779 840.874,-293.08"/>
+<polygon fill="black" stroke="black" points="843.45,-295.465 848.403,-286.099 838.69,-290.332 843.45,-295.465"/>
+<text text-anchor="middle" x="832" y="-309.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N4 -->
+<g id="node5" class="node"><title>N4</title>
+<polygon fill="none" stroke="black" points="965,-714 685,-714 685,-574 965,-574 965,-714"/>
+<text text-anchor="middle" x="825" y="-676.79" font-family="Times Roman,serif" font-size="36.90">syscall.Syscall</text>
+<text text-anchor="end" x="957.5" y="-632.79" font-family="Times Roman,serif" font-size="36.90">6 (33.3%)</text>
+<text text-anchor="end" x="957.5" y="-588.79" font-family="Times Roman,serif" font-size="36.90">of 13 (72.2%)</text>
+</g>
+<!-- N15 -->
+<g id="node16" class="node"><title>N15</title>
+<polygon fill="none" stroke="black" points="974,-505 870,-505 870,-467 974,-467 974,-505"/>
+<text text-anchor="middle" x="922" y="-493.8" font-family="Times Roman,serif" font-size="8.00">runtime.entersyscall</text>
+<text text-anchor="end" x="966" y="-483.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="966" y="-473.8" font-family="Times Roman,serif" font-size="8.00">of 7 (38.9%)</text>
+</g>
+<!-- N4&#45;&gt;N15 -->
+<g id="edge42" class="edge"><title>N4&#45;&gt;N15</title>
+<path fill="none" stroke="black" stroke-width="2" d="M868.111,-573.779C881.089,-552.639 894.589,-530.649 904.83,-513.968"/>
+<polygon fill="black" stroke="black" points="907.911,-515.638 910.16,-505.285 901.946,-511.976 907.911,-515.638"/>
+<text text-anchor="middle" x="892" y="-543.4" font-family="Times Roman,serif" font-size="14.00">7</text>
+</g>
+<!-- N5 -->
+<g id="node6" class="node"><title>N5</title>
+<polygon fill="none" stroke="black" points="645,-1220 529,-1220 529,-1182 645,-1182 645,-1220"/>
+<text text-anchor="middle" x="587" y="-1208.8" font-family="Times Roman,serif" font-size="8.00">main.(*Response).Pong</text>
+<text text-anchor="end" x="637.5" y="-1198.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="637.5" y="-1188.8" font-family="Times Roman,serif" font-size="8.00">of 11 (61.1%)</text>
+</g>
+<!-- N6 -->
+<g id="node7" class="node"><title>N6</title>
+<polygon fill="none" stroke="black" points="646,-1128 528,-1128 528,-1090 646,-1090 646,-1128"/>
+<text text-anchor="middle" x="587" y="-1116.8" font-family="Times Roman,serif" font-size="8.00">main.(*Response).Send</text>
+<text text-anchor="end" x="638" y="-1106.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="638" y="-1096.8" font-family="Times Roman,serif" font-size="8.00">of 11 (61.1%)</text>
+</g>
+<!-- N5&#45;&gt;N6 -->
+<g id="edge40" class="edge"><title>N5&#45;&gt;N6</title>
+<path fill="none" stroke="black" stroke-width="2" d="M587,-1181.94C587,-1169.36 587,-1152.62 587,-1138.36"/>
+<polygon fill="black" stroke="black" points="590.5,-1138.04 587,-1128.04 583.5,-1138.04 590.5,-1138.04"/>
+<text text-anchor="middle" x="596.5" y="-1151.4" font-family="Times Roman,serif" font-size="14.00">11</text>
+</g>
+<!-- N8 -->
+<g id="node9" class="node"><title>N8</title>
+<polygon fill="none" stroke="black" points="698,-1035.5 476,-1035.5 476,-952.5 698,-952.5 698,-1035.5"/>
+<text text-anchor="middle" x="587" y="-1013.68" font-family="Times Roman,serif" font-size="19.80">net.(*TCPConn).Write</text>
+<text text-anchor="end" x="690" y="-988.68" font-family="Times Roman,serif" font-size="19.80">1 (5.6%)</text>
+<text text-anchor="end" x="690" y="-963.68" font-family="Times Roman,serif" font-size="19.80">of 11 (61.1%)</text>
+</g>
+<!-- N6&#45;&gt;N8 -->
+<g id="edge38" class="edge"><title>N6&#45;&gt;N8</title>
+<path fill="none" stroke="black" stroke-width="2" d="M587,-1089.75C587,-1077.69 587,-1061.51 587,-1045.89"/>
+<polygon fill="black" stroke="black" points="590.5,-1045.76 587,-1035.76 583.5,-1045.76 590.5,-1045.76"/>
+<text text-anchor="middle" x="596.5" y="-1059.4" font-family="Times Roman,serif" font-size="14.00">11</text>
+</g>
+<!-- N7&#45;&gt;N5 -->
+<g id="edge30" class="edge"><title>N7&#45;&gt;N5</title>
+<path fill="none" stroke="black" stroke-width="2" d="M587,-1293.75C587,-1276.25 587,-1250.19 587,-1230.14"/>
+<polygon fill="black" stroke="black" points="590.5,-1230 587,-1220 583.5,-1230 590.5,-1230"/>
+<text text-anchor="middle" x="596.5" y="-1253.4" font-family="Times Roman,serif" font-size="14.00">11</text>
+</g>
+<!-- N9 -->
+<g id="node10" class="node"><title>N9</title>
+<polygon fill="none" stroke="black" points="633,-898 541,-898 541,-860 633,-860 633,-898"/>
+<text text-anchor="middle" x="587" y="-886.8" font-family="Times Roman,serif" font-size="8.00">net.(*netFD).Write</text>
+<text text-anchor="end" x="625" y="-876.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="625" y="-866.8" font-family="Times Roman,serif" font-size="8.00">of 10 (55.6%)</text>
+</g>
+<!-- N8&#45;&gt;N9 -->
+<g id="edge22" class="edge"><title>N8&#45;&gt;N9</title>
+<path fill="none" stroke="black" stroke-width="2" d="M587,-952.482C587,-937.862 587,-921.744 587,-908.338"/>
+<polygon fill="black" stroke="black" points="590.5,-908.248 587,-898.248 583.5,-908.248 590.5,-908.248"/>
+<text text-anchor="middle" x="596.5" y="-921.4" font-family="Times Roman,serif" font-size="14.00">10</text>
+</g>
+<!-- N10 -->
+<g id="node11" class="node"><title>N10</title>
+<polygon fill="none" stroke="black" points="772,-806 702,-806 702,-768 772,-768 772,-806"/>
+<text text-anchor="middle" x="737" y="-794.8" font-family="Times Roman,serif" font-size="8.00">syscall.Write</text>
+<text text-anchor="end" x="764" y="-784.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="764" y="-774.8" font-family="Times Roman,serif" font-size="8.00">of 8 (44.4%)</text>
+</g>
+<!-- N9&#45;&gt;N10 -->
+<g id="edge34" class="edge"><title>N9&#45;&gt;N10</title>
+<path fill="none" stroke="black" stroke-width="2" d="M618.08,-859.938C641.008,-845.875 672.391,-826.627 697.161,-811.435"/>
+<polygon fill="black" stroke="black" points="699.265,-814.25 705.96,-806.038 695.605,-808.283 699.265,-814.25"/>
+<text text-anchor="middle" x="680" y="-829.4" font-family="Times Roman,serif" font-size="14.00">8</text>
+</g>
+<!-- N21 -->
+<g id="node22" class="node"><title>N21</title>
+<polygon fill="none" stroke="black" points="684,-806 584,-806 584,-768 684,-768 684,-806"/>
+<text text-anchor="middle" x="634" y="-794.8" font-family="Times Roman,serif" font-size="8.00">runtime.deferreturn</text>
+<text text-anchor="end" x="676.5" y="-784.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="676.5" y="-774.8" font-family="Times Roman,serif" font-size="8.00">of 2 (11.1%)</text>
+</g>
+<!-- N9&#45;&gt;N21 -->
+<g id="edge36" class="edge"><title>N9&#45;&gt;N21</title>
+<path fill="none" stroke="black" d="M596.738,-859.938C603.355,-846.985 612.22,-829.634 619.643,-815.104"/>
+<polygon fill="black" stroke="black" points="622.841,-816.536 624.274,-806.038 616.608,-813.351 622.841,-816.536"/>
+<text text-anchor="middle" x="619" y="-829.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N24 -->
+<g id="node25" class="node"><title>N24</title>
+<polygon fill="none" stroke="black" points="566,-806 472,-806 472,-768 566,-768 566,-806"/>
+<text text-anchor="middle" x="519" y="-794.8" font-family="Times Roman,serif" font-size="8.00">runtime.deferproc</text>
+<text text-anchor="end" x="558" y="-784.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="558" y="-774.8" font-family="Times Roman,serif" font-size="8.00">of 1 (5.6%)</text>
+</g>
+<!-- N9&#45;&gt;N24 -->
+<g id="edge16" class="edge"><title>N9&#45;&gt;N24</title>
+<path fill="none" stroke="black" d="M572.91,-859.938C563.155,-846.739 550.022,-828.971 539.161,-814.277"/>
+<polygon fill="black" stroke="black" points="541.83,-811.999 533.072,-806.038 536.201,-816.16 541.83,-811.999"/>
+<text text-anchor="middle" x="564" y="-829.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N10&#45;&gt;N4 -->
+<g id="edge32" class="edge"><title>N10&#45;&gt;N4</title>
+<path fill="none" stroke="black" stroke-width="2" d="M748.868,-767.714C756.179,-755.834 766.092,-739.725 776.347,-723.062"/>
+<polygon fill="black" stroke="black" points="779.468,-724.668 781.728,-714.317 773.506,-720.999 779.468,-724.668"/>
+<text text-anchor="middle" x="775" y="-737.4" font-family="Times Roman,serif" font-size="14.00">8</text>
+</g>
+<!-- N12 -->
+<g id="node13" class="node"><title>N12</title>
+<polygon fill="none" stroke="black" points="773,-1128 679,-1128 679,-1090 773,-1090 773,-1128"/>
+<text text-anchor="middle" x="726" y="-1116.8" font-family="Times Roman,serif" font-size="8.00">bufio.(*Reader).fill</text>
+<text text-anchor="end" x="765" y="-1106.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="765" y="-1096.8" font-family="Times Roman,serif" font-size="8.00">of 7 (38.9%)</text>
+</g>
+<!-- N11&#45;&gt;N12 -->
+<g id="edge56" class="edge"><title>N11&#45;&gt;N12</title>
+<path fill="none" stroke="black" stroke-width="2" d="M688.533,-1237.95C695.879,-1212.67 708.92,-1167.79 717.514,-1138.21"/>
+<polygon fill="black" stroke="black" points="720.922,-1139.02 720.351,-1128.44 714.2,-1137.07 720.922,-1139.02"/>
+<text text-anchor="middle" x="709" y="-1197.4" font-family="Times Roman,serif" font-size="14.00">7</text>
+</g>
+<!-- N13 -->
+<g id="node14" class="node"><title>N13</title>
+<polygon fill="none" stroke="black" points="822,-1013 718,-1013 718,-975 822,-975 822,-1013"/>
+<text text-anchor="middle" x="770" y="-1001.8" font-family="Times Roman,serif" font-size="8.00">net.(*TCPConn).Read</text>
+<text text-anchor="end" x="814.5" y="-991.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="814.5" y="-981.8" font-family="Times Roman,serif" font-size="8.00">of 7 (38.9%)</text>
+</g>
+<!-- N12&#45;&gt;N13 -->
+<g id="edge48" class="edge"><title>N12&#45;&gt;N13</title>
+<path fill="none" stroke="black" stroke-width="2" d="M733.365,-1089.75C740.376,-1071.43 751.018,-1043.61 759.028,-1022.68"/>
+<polygon fill="black" stroke="black" points="762.307,-1023.9 762.611,-1013.31 755.769,-1021.4 762.307,-1023.9"/>
+<text text-anchor="middle" x="751" y="-1059.4" font-family="Times Roman,serif" font-size="14.00">7</text>
+</g>
+<!-- N14 -->
+<g id="node15" class="node"><title>N14</title>
+<polygon fill="none" stroke="black" points="842,-898 750,-898 750,-860 842,-860 842,-898"/>
+<text text-anchor="middle" x="796" y="-886.8" font-family="Times Roman,serif" font-size="8.00">net.(*netFD).Read</text>
+<text text-anchor="end" x="834" y="-876.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="834" y="-866.8" font-family="Times Roman,serif" font-size="8.00">of 7 (38.9%)</text>
+</g>
+<!-- N13&#45;&gt;N14 -->
+<g id="edge60" class="edge"><title>N13&#45;&gt;N14</title>
+<path fill="none" stroke="black" stroke-width="2" d="M774.352,-974.752C778.458,-956.591 784.67,-929.115 789.388,-908.246"/>
+<polygon fill="black" stroke="black" points="792.843,-908.837 791.634,-898.311 786.015,-907.293 792.843,-908.837"/>
+<text text-anchor="middle" x="792" y="-921.4" font-family="Times Roman,serif" font-size="14.00">7</text>
+</g>
+<!-- N19 -->
+<g id="node20" class="node"><title>N19</title>
+<polygon fill="none" stroke="black" points="860,-806 790,-806 790,-768 860,-768 860,-806"/>
+<text text-anchor="middle" x="825" y="-794.8" font-family="Times Roman,serif" font-size="8.00">syscall.Read</text>
+<text text-anchor="end" x="852" y="-784.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="852" y="-774.8" font-family="Times Roman,serif" font-size="8.00">of 5 (27.8%)</text>
+</g>
+<!-- N14&#45;&gt;N19 -->
+<g id="edge20" class="edge"><title>N14&#45;&gt;N19</title>
+<path fill="none" stroke="black" stroke-width="1.66667" d="M802.009,-859.938C806.014,-847.232 811.353,-830.293 815.878,-815.937"/>
+<polygon fill="black" stroke="black" points="819.331,-816.628 818.999,-806.038 812.654,-814.523 819.331,-816.628"/>
+<text text-anchor="middle" x="818" y="-829.4" font-family="Times Roman,serif" font-size="14.00">5</text>
+</g>
+<!-- N14&#45;&gt;N21 -->
+<g id="edge6" class="edge"><title>N14&#45;&gt;N21</title>
+<path fill="none" stroke="black" d="M762.433,-859.938C737.454,-845.752 703.182,-826.289 676.324,-811.036"/>
+<polygon fill="black" stroke="black" points="677.948,-807.933 667.524,-806.038 674.491,-814.02 677.948,-807.933"/>
+<text text-anchor="middle" x="734" y="-829.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N28 -->
+<g id="node29" class="node"><title>N28</title>
+<polygon fill="none" stroke="black" points="1069,-806 965,-806 965,-768 1069,-768 1069,-806"/>
+<text text-anchor="middle" x="1017" y="-794.8" font-family="Times Roman,serif" font-size="8.00">sync.(*Mutex).Unlock</text>
+<text text-anchor="end" x="1061.5" y="-784.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="1061.5" y="-774.8" font-family="Times Roman,serif" font-size="8.00">of 1 (5.6%)</text>
+</g>
+<!-- N14&#45;&gt;N28 -->
+<g id="edge50" class="edge"><title>N14&#45;&gt;N28</title>
+<path fill="none" stroke="black" d="M841.791,-859.938C876.609,-845.443 924.661,-825.44 961.637,-810.047"/>
+<polygon fill="black" stroke="black" points="963.38,-813.112 971.267,-806.038 960.69,-806.65 963.38,-813.112"/>
+<text text-anchor="middle" x="931" y="-829.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N15&#45;&gt;N3 -->
+<g id="edge54" class="edge"><title>N15&#45;&gt;N3</title>
+<path fill="none" stroke="black" stroke-width="2" d="M895.448,-466.942C867.742,-447.054 824.178,-415.784 793.75,-393.943"/>
+<polygon fill="black" stroke="black" points="795.705,-391.038 785.54,-388.05 791.623,-396.725 795.705,-391.038"/>
+<text text-anchor="middle" x="850" y="-421.4" font-family="Times Roman,serif" font-size="14.00">7</text>
+</g>
+<!-- N16 -->
+<g id="node17" class="node"><title>N16</title>
+<polygon fill="none" stroke="black" points="900,-102 618,-102 618,-4.9738e-14 900,-2.13163e-14 900,-102"/>
+<text text-anchor="middle" x="759" y="-62.72" font-family="Times Roman,serif" font-size="39.20">runtime.futex</text>
+<text text-anchor="end" x="892" y="-15.72" font-family="Times Roman,serif" font-size="39.20">7 (38.9%)</text>
+</g>
+<!-- N17 -->
+<g id="node18" class="node"><title>N17</title>
+<polygon fill="none" stroke="black" points="812,-194 706,-194 706,-156 812,-156 812,-194"/>
+<text text-anchor="middle" x="759" y="-182.8" font-family="Times Roman,serif" font-size="8.00">runtime.futexwakeup</text>
+<text text-anchor="end" x="804" y="-172.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="804" y="-162.8" font-family="Times Roman,serif" font-size="8.00">of 7 (38.9%)</text>
+</g>
+<!-- N17&#45;&gt;N16 -->
+<g id="edge58" class="edge"><title>N17&#45;&gt;N16</title>
+<path fill="none" stroke="black" stroke-width="2" d="M759,-155.897C759,-144.082 759,-128.192 759,-112.357"/>
+<polygon fill="black" stroke="black" points="762.5,-112.003 759,-102.003 755.5,-112.003 762.5,-112.003"/>
+<text text-anchor="middle" x="764" y="-125.4" font-family="Times Roman,serif" font-size="14.00">7</text>
+</g>
+<!-- N18&#45;&gt;N17 -->
+<g id="edge62" class="edge"><title>N18&#45;&gt;N17</title>
+<path fill="none" stroke="black" stroke-width="2" d="M759,-247.938C759,-235.355 759,-218.621 759,-204.356"/>
+<polygon fill="black" stroke="black" points="762.5,-204.038 759,-194.038 755.5,-204.038 762.5,-204.038"/>
+<text text-anchor="middle" x="764" y="-217.4" font-family="Times Roman,serif" font-size="14.00">6</text>
+</g>
+<!-- N19&#45;&gt;N4 -->
+<g id="edge12" class="edge"><title>N19&#45;&gt;N4</title>
+<path fill="none" stroke="black" stroke-width="1.66667" d="M825,-767.714C825,-756.161 825,-740.608 825,-724.436"/>
+<polygon fill="black" stroke="black" points="828.5,-724.317 825,-714.317 821.5,-724.317 828.5,-724.317"/>
+<text text-anchor="middle" x="830" y="-737.4" font-family="Times Roman,serif" font-size="14.00">5</text>
+</g>
+<!-- N20 -->
+<g id="node21" class="node"><title>N20</title>
+<polygon fill="none" stroke="black" points="852,-520 580,-520 580,-452 852,-452 852,-520"/>
+<text text-anchor="middle" x="716" y="-493.77" font-family="Times Roman,serif" font-size="24.70">runtime.blockspecial</text>
+<text text-anchor="end" x="844" y="-463.77" font-family="Times Roman,serif" font-size="24.70">2 (11.1%)</text>
+</g>
+<!-- N22 -->
+<g id="node23" class="node"><title>N22</title>
+<polygon fill="none" stroke="black" points="667,-663 597,-663 597,-625 667,-625 667,-663"/>
+<text text-anchor="middle" x="632" y="-651.8" font-family="Times Roman,serif" font-size="8.00">runtime.free</text>
+<text text-anchor="end" x="659" y="-641.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="659" y="-631.8" font-family="Times Roman,serif" font-size="8.00">of 2 (11.1%)</text>
+</g>
+<!-- N21&#45;&gt;N22 -->
+<g id="edge18" class="edge"><title>N21&#45;&gt;N22</title>
+<path fill="none" stroke="black" d="M633.73,-767.714C633.392,-743.514 632.808,-701.765 632.413,-673.531"/>
+<polygon fill="black" stroke="black" points="635.911,-673.387 632.272,-663.437 628.912,-673.485 635.911,-673.387"/>
+<text text-anchor="middle" x="638" y="-737.4" font-family="Times Roman,serif" font-size="14.00">2</text>
+</g>
+<!-- N22&#45;&gt;N20 -->
+<g id="edge2" class="edge"><title>N22&#45;&gt;N20</title>
+<path fill="none" stroke="black" d="M642.132,-624.942C654.682,-601.336 676.442,-560.407 693.104,-529.067"/>
+<polygon fill="black" stroke="black" points="696.271,-530.565 697.875,-520.092 690.09,-527.279 696.271,-530.565"/>
+<text text-anchor="middle" x="691" y="-543.4" font-family="Times Roman,serif" font-size="14.00">2</text>
+</g>
+<!-- N23 -->
+<g id="node24" class="node"><title>N23</title>
+<polygon fill="none" stroke="black" points="702,-398 472,-398 472,-340 702,-340 702,-398"/>
+<text text-anchor="middle" x="587" y="-376.18" font-family="Times Roman,serif" font-size="19.80">runtime.MCache_Alloc</text>
+<text text-anchor="end" x="694.5" y="-351.18" font-family="Times Roman,serif" font-size="19.80">1 (5.6%)</text>
+</g>
+<!-- N25 -->
+<g id="node26" class="node"><title>N25</title>
+<polygon fill="none" stroke="black" points="558,-663 478,-663 478,-625 558,-625 558,-663"/>
+<text text-anchor="middle" x="518" y="-651.8" font-family="Times Roman,serif" font-size="8.00">runtime.malloc</text>
+<text text-anchor="end" x="550" y="-641.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="550" y="-631.8" font-family="Times Roman,serif" font-size="8.00">of 1 (5.6%)</text>
+</g>
+<!-- N24&#45;&gt;N25 -->
+<g id="edge46" class="edge"><title>N24&#45;&gt;N25</title>
+<path fill="none" stroke="black" d="M518.865,-767.714C518.696,-743.514 518.404,-701.765 518.207,-673.531"/>
+<polygon fill="black" stroke="black" points="521.706,-673.412 518.136,-663.437 514.706,-673.461 521.706,-673.412"/>
+<text text-anchor="middle" x="523" y="-737.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N26 -->
+<g id="node27" class="node"><title>N26</title>
+<polygon fill="none" stroke="black" points="562,-505 472,-505 472,-467 562,-467 562,-505"/>
+<text text-anchor="middle" x="517" y="-493.8" font-family="Times Roman,serif" font-size="8.00">runtime.mallocgc</text>
+<text text-anchor="end" x="554" y="-483.8" font-family="Times Roman,serif" font-size="8.00">0 (0.0%)</text>
+<text text-anchor="end" x="554" y="-473.8" font-family="Times Roman,serif" font-size="8.00">of 1 (5.6%)</text>
+</g>
+<!-- N25&#45;&gt;N26 -->
+<g id="edge24" class="edge"><title>N25&#45;&gt;N26</title>
+<path fill="none" stroke="black" d="M517.879,-624.942C517.707,-597.657 517.388,-547.233 517.185,-515.218"/>
+<polygon fill="black" stroke="black" points="520.684,-515.104 517.121,-505.126 513.685,-515.148 520.684,-515.104"/>
+<text text-anchor="middle" x="522" y="-543.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N26&#45;&gt;N23 -->
+<g id="edge28" class="edge"><title>N26&#45;&gt;N23</title>
+<path fill="none" stroke="black" d="M528.403,-466.942C538.122,-450.697 552.385,-426.857 564.406,-406.765"/>
+<polygon fill="black" stroke="black" points="567.442,-408.506 569.573,-398.128 561.435,-404.913 567.442,-408.506"/>
+<text text-anchor="middle" x="563" y="-421.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N27&#45;&gt;N17 -->
+<g id="edge64" class="edge"><title>N27&#45;&gt;N17</title>
+<path fill="none" stroke="black" d="M846.208,-247.938C829.837,-234.245 807.587,-215.636 789.659,-200.642"/>
+<polygon fill="black" stroke="black" points="791.679,-197.769 781.763,-194.038 787.188,-203.138 791.679,-197.769"/>
+<text text-anchor="middle" x="828" y="-217.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+<!-- N29 -->
+<g id="node30" class="node"><title>N29</title>
+<polygon fill="none" stroke="black" points="1225,-673 983,-673 983,-615 1225,-615 1225,-673"/>
+<text text-anchor="middle" x="1104" y="-651.18" font-family="Times Roman,serif" font-size="19.80">sync/atomic.AddUint32</text>
+<text text-anchor="end" x="1217.5" y="-626.18" font-family="Times Roman,serif" font-size="19.80">1 (5.6%)</text>
+</g>
+<!-- N28&#45;&gt;N29 -->
+<g id="edge10" class="edge"><title>N28&#45;&gt;N29</title>
+<path fill="none" stroke="black" d="M1028.73,-767.714C1042.08,-745.77 1064.21,-709.397 1081.03,-681.756"/>
+<polygon fill="black" stroke="black" points="1084.08,-683.48 1086.29,-673.117 1078.1,-679.841 1084.08,-683.48"/>
+<text text-anchor="middle" x="1055" y="-737.4" font-family="Times Roman,serif" font-size="14.00">1</text>
+</g>
+</g>
+</g></svg>
Please sign in to comment.
Something went wrong with that request. Please try again.