Skip to content

Instantly share code, notes, and snippets.

@vys
Created November 17, 2012 08:55
Show Gist options
  • Save vys/4094368 to your computer and use it in GitHub Desktop.
Save vys/4094368 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
<?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.0 (20091210.2329)
-->
<!-- Title: mcguirk; 249.0 MB 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 1490)">
<title>mcguirk; 249.0 MB</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-1490 1032,-1490 1032,5 -4,5"/>
<!-- Legend -->
<g id="node1" class="node"><title>Legend</title>
<text text-anchor="start" x="84.5" y="-1460.4" font-family="Times Roman,serif" font-size="24.00">mcguirk</text>
<text text-anchor="start" x="84.5" y="-1430.4" font-family="Times Roman,serif" font-size="24.00">Total MB: 249.0</text>
<text text-anchor="start" x="84.5" y="-1400.4" font-family="Times Roman,serif" font-size="24.00">Focusing on: 249.0</text>
<text text-anchor="start" x="84.5" y="-1370.4" font-family="Times Roman,serif" font-size="24.00">Dropped nodes with &lt;= 1.2 abs(MB)</text>
<text text-anchor="start" x="84.5" y="-1340.4" font-family="Times Roman,serif" font-size="24.00">Dropped edges with &lt;= 0.2 MB</text>
</g>
<!-- N1 -->
<g id="node2" class="node"><title>N1</title>
<polygon fill="none" stroke="black" points="539,-1426 465,-1426 465,-1388 539,-1388 539,-1426"/>
<text text-anchor="middle" x="502" y="-1414.8" font-family="Times Roman,serif" font-size="8.00">schedunlock</text>
<text text-anchor="end" x="531.5" y="-1404.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="531.5" y="-1394.8" font-family="Times Roman,serif" font-size="8.00">of 249.0 (100.0%)</text>
</g>
<!-- N3 -->
<g id="node4" class="node"><title>N3</title>
<polygon fill="none" stroke="black" points="537,-1272 467,-1272 467,-1234 537,-1234 537,-1272"/>
<text text-anchor="middle" x="502" y="-1260.8" font-family="Times Roman,serif" font-size="8.00">runtime.main</text>
<text text-anchor="end" x="529.5" y="-1250.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="529.5" y="-1240.8" font-family="Times Roman,serif" font-size="8.00">of 236.0 (94.8%)</text>
</g>
<!-- N1&#45;&gt;N3 -->
<g id="edge32" class="edge"><title>N1&#45;&gt;N3</title>
<path fill="none" stroke="black" stroke-width="2" d="M502,-1387.81C502,-1361.41 502,-1313.65 502,-1282.64"/>
<polygon fill="black" stroke="black" points="505.5,-1282.43 502,-1272.43 498.5,-1282.43 505.5,-1282.43"/>
<text text-anchor="middle" x="517.5" y="-1296.9" font-family="Times Roman,serif" font-size="14.00">236.0</text>
</g>
<!-- N12 -->
<g id="node13" class="node"><title>N12</title>
<polygon fill="none" stroke="black" points="646,-1272 560,-1272 560,-1234 646,-1234 646,-1272"/>
<text text-anchor="middle" x="603" y="-1260.8" font-family="Times Roman,serif" font-size="8.00">net/http.(*conn).serve</text>
<text text-anchor="end" x="638.5" y="-1250.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="638.5" y="-1240.8" font-family="Times Roman,serif" font-size="8.00">of 12.0 (4.8%)</text>
</g>
<!-- N1&#45;&gt;N12 -->
<g id="edge36" class="edge"><title>N1&#45;&gt;N12</title>
<path fill="none" stroke="black" d="M514.588,-1387.81C532.203,-1360.95 564.322,-1311.97 584.615,-1281.03"/>
<polygon fill="black" stroke="black" points="587.696,-1282.72 590.254,-1272.43 581.843,-1278.88 587.696,-1282.72"/>
<text text-anchor="middle" x="590.5" y="-1296.9" font-family="Times Roman,serif" font-size="14.00">12.0</text>
</g>
<!-- N2 -->
<g id="node3" class="node"><title>N2</title>
<polygon fill="none" stroke="black" points="537,-1178 467,-1178 467,-1140 537,-1140 537,-1178"/>
<text text-anchor="middle" x="502" y="-1166.8" font-family="Times Roman,serif" font-size="8.00">main.main</text>
<text text-anchor="end" x="529.5" y="-1156.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="529.5" y="-1146.8" font-family="Times Roman,serif" font-size="8.00">of 236.0 (94.8%)</text>
</g>
<!-- N4 -->
<g id="node5" class="node"><title>N4</title>
<polygon fill="none" stroke="black" points="544,-1084 460,-1084 460,-1046 544,-1046 544,-1084"/>
<text text-anchor="middle" x="502" y="-1072.8" font-family="Times Roman,serif" font-size="8.00">main.NewClientPool</text>
<text text-anchor="end" x="536" y="-1062.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="536" y="-1052.8" font-family="Times Roman,serif" font-size="8.00">of 230.0 (92.4%)</text>
</g>
<!-- N2&#45;&gt;N4 -->
<g id="edge54" class="edge"><title>N2&#45;&gt;N4</title>
<path fill="none" stroke="black" stroke-width="2" d="M502,-1139.98C502,-1126.94 502,-1109.39 502,-1094.54"/>
<polygon fill="black" stroke="black" points="505.5,-1094.32 502,-1084.32 498.5,-1094.32 505.5,-1094.32"/>
<text text-anchor="middle" x="517.5" y="-1108.9" font-family="Times Roman,serif" font-size="14.00">230.0</text>
</g>
<!-- N23 -->
<g id="node24" class="node"><title>N23</title>
<polygon fill="none" stroke="black" points="435,-1084 341,-1084 341,-1046 435,-1046 435,-1084"/>
<text text-anchor="middle" x="388" y="-1072.8" font-family="Times Roman,serif" font-size="8.00">net/http.ListenAndServe</text>
<text text-anchor="end" x="427.5" y="-1062.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="427.5" y="-1052.8" font-family="Times Roman,serif" font-size="8.00">of 6.0 (2.4%)</text>
</g>
<!-- N2&#45;&gt;N23 -->
<g id="edge42" class="edge"><title>N2&#45;&gt;N23</title>
<path fill="none" stroke="black" d="M478.93,-1139.98C461.738,-1125.8 438.071,-1106.29 419.192,-1090.72"/>
<polygon fill="black" stroke="black" points="421.369,-1087.98 411.427,-1084.32 416.915,-1093.38 421.369,-1087.98"/>
<text text-anchor="middle" x="464" y="-1108.9" font-family="Times Roman,serif" font-size="14.00">6.0</text>
</g>
<!-- N3&#45;&gt;N2 -->
<g id="edge10" class="edge"><title>N3&#45;&gt;N2</title>
<path fill="none" stroke="black" stroke-width="2" d="M502,-1233.98C502,-1220.94 502,-1203.39 502,-1188.54"/>
<polygon fill="black" stroke="black" points="505.5,-1188.32 502,-1178.32 498.5,-1188.32 505.5,-1188.32"/>
<text text-anchor="middle" x="517.5" y="-1202.9" font-family="Times Roman,serif" font-size="14.00">236.0</text>
</g>
<!-- N5 -->
<g id="node6" class="node"><title>N5</title>
<polygon fill="none" stroke="black" points="556,-990 448,-990 448,-952 556,-952 556,-990"/>
<text text-anchor="middle" x="502" y="-978.8" font-family="Times Roman,serif" font-size="8.00">main.NewRedisAsyncClient</text>
<text text-anchor="end" x="548" y="-968.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="548" y="-958.8" font-family="Times Roman,serif" font-size="8.00">of 230.0 (92.4%)</text>
</g>
<!-- N4&#45;&gt;N5 -->
<g id="edge50" class="edge"><title>N4&#45;&gt;N5</title>
<path fill="none" stroke="black" stroke-width="2" d="M502,-1045.98C502,-1032.94 502,-1015.39 502,-1000.54"/>
<polygon fill="black" stroke="black" points="505.5,-1000.32 502,-990.317 498.5,-1000.32 505.5,-1000.32"/>
<text text-anchor="middle" x="517.5" y="-1014.9" font-family="Times Roman,serif" font-size="14.00">230.0</text>
</g>
<!-- N6 -->
<g id="node7" class="node"><title>N6</title>
<polygon fill="none" stroke="black" points="564,-896 440,-896 440,-858 564,-858 564,-896"/>
<text text-anchor="middle" x="502" y="-884.8" font-family="Times Roman,serif" font-size="8.00">redis.NewAsynchClientWithSpec</text>
<text text-anchor="end" x="556.5" y="-874.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="556.5" y="-864.8" font-family="Times Roman,serif" font-size="8.00">of 230.0 (92.4%)</text>
</g>
<!-- N5&#45;&gt;N6 -->
<g id="edge52" class="edge"><title>N5&#45;&gt;N6</title>
<path fill="none" stroke="black" stroke-width="2" d="M502,-951.978C502,-938.941 502,-921.388 502,-906.544"/>
<polygon fill="black" stroke="black" points="505.5,-906.317 502,-896.317 498.5,-906.317 505.5,-906.317"/>
<text text-anchor="middle" x="517.5" y="-920.9" font-family="Times Roman,serif" font-size="14.00">230.0</text>
</g>
<!-- N7 -->
<g id="node8" class="node"><title>N7</title>
<polygon fill="none" stroke="black" points="557,-802 447,-802 447,-764 557,-764 557,-802"/>
<text text-anchor="middle" x="502" y="-790.8" font-family="Times Roman,serif" font-size="8.00">redis.NewAsynchConnection</text>
<text text-anchor="end" x="549" y="-780.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="549" y="-770.8" font-family="Times Roman,serif" font-size="8.00">of 230.0 (92.4%)</text>
</g>
<!-- N6&#45;&gt;N7 -->
<g id="edge48" class="edge"><title>N6&#45;&gt;N7</title>
<path fill="none" stroke="black" stroke-width="2" d="M502,-857.978C502,-844.941 502,-827.388 502,-812.544"/>
<polygon fill="black" stroke="black" points="505.5,-812.317 502,-802.317 498.5,-812.317 505.5,-812.317"/>
<text text-anchor="middle" x="517.5" y="-826.9" font-family="Times Roman,serif" font-size="14.00">230.0</text>
</g>
<!-- N8 -->
<g id="node9" class="node"><title>N8</title>
<polygon fill="none" stroke="black" points="792,-708 212,-708 212,-496 792,-496 792,-708"/>
<text text-anchor="middle" x="502" y="-653.69" font-family="Times Roman,serif" font-size="55.90">redis.newAsyncConnHdl</text>
<text text-anchor="end" x="784" y="-585.69" font-family="Times Roman,serif" font-size="55.90">229.0 (92.0%)</text>
<text text-anchor="end" x="784" y="-517.69" font-family="Times Roman,serif" font-size="55.90">of 230.0 (92.4%)</text>
</g>
<!-- N7&#45;&gt;N8 -->
<g id="edge6" class="edge"><title>N7&#45;&gt;N8</title>
<path fill="none" stroke="black" stroke-width="2" d="M502,-763.972C502,-752.288 502,-736.239 502,-718.76"/>
<polygon fill="black" stroke="black" points="505.5,-718.325 502,-708.325 498.5,-718.325 505.5,-718.325"/>
<text text-anchor="middle" x="517.5" y="-732.9" font-family="Times Roman,serif" font-size="14.00">230.0</text>
</g>
<!-- N25 -->
<g id="node26" class="node"><title>N25</title>
<polygon fill="none" stroke="black" points="286,-440 152,-440 152,-394 286,-394 286,-440"/>
<text text-anchor="middle" x="219" y="-423.49" font-family="Times Roman,serif" font-size="13.90">bufio.NewWriterSize</text>
<text text-anchor="end" x="278" y="-404.49" font-family="Times Roman,serif" font-size="13.90">3.5 (1.4%)</text>
</g>
<!-- N8&#45;&gt;N25 -->
<g id="edge56" class="edge"><title>N8&#45;&gt;N25</title>
<path fill="none" stroke="black" d="M339.838,-495.993C311.508,-477.474 284.307,-459.692 262.91,-445.705"/>
<polygon fill="black" stroke="black" points="264.695,-442.69 254.409,-440.147 260.864,-448.549 264.695,-442.69"/>
<text text-anchor="middle" x="320" y="-464.9" font-family="Times Roman,serif" font-size="14.00">1.0</text>
</g>
<!-- N9 -->
<g id="node10" class="node"><title>N9</title>
<polygon fill="none" stroke="black" points="669,-990 581,-990 581,-952 669,-952 669,-990"/>
<text text-anchor="middle" x="625" y="-978.8" font-family="Times Roman,serif" font-size="8.00">main.responseHandler</text>
<text text-anchor="end" x="661.5" y="-968.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="661.5" y="-958.8" font-family="Times Roman,serif" font-size="8.00">of 12.0 (4.8%)</text>
</g>
<!-- N10 -->
<g id="node11" class="node"><title>N10</title>
<polygon fill="none" stroke="black" points="657,-896 593,-896 593,-858 657,-858 657,-896"/>
<text text-anchor="middle" x="625" y="-884.8" font-family="Times Roman,serif" font-size="8.00">main.save</text>
<text text-anchor="end" x="649" y="-874.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="649" y="-864.8" font-family="Times Roman,serif" font-size="8.00">of 12.0 (4.8%)</text>
</g>
<!-- N9&#45;&gt;N10 -->
<g id="edge40" class="edge"><title>N9&#45;&gt;N10</title>
<path fill="none" stroke="black" d="M625,-951.978C625,-938.941 625,-921.388 625,-906.544"/>
<polygon fill="black" stroke="black" points="628.5,-906.317 625,-896.317 621.5,-906.317 628.5,-906.317"/>
<text text-anchor="middle" x="637.5" y="-920.9" font-family="Times Roman,serif" font-size="14.00">12.0</text>
</g>
<!-- N20 -->
<g id="node21" class="node"><title>N20</title>
<polygon fill="none" stroke="black" points="757,-802 633,-802 633,-764 757,-764 757,-802"/>
<text text-anchor="middle" x="695" y="-790.8" font-family="Times Roman,serif" font-size="8.00">encoding/json.(*Encoder).Encode</text>
<text text-anchor="end" x="749.5" y="-780.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="749.5" y="-770.8" font-family="Times Roman,serif" font-size="8.00">of 11.5 (4.6%)</text>
</g>
<!-- N10&#45;&gt;N20 -->
<g id="edge2" class="edge"><title>N10&#45;&gt;N20</title>
<path fill="none" stroke="black" d="M639.166,-857.978C649.345,-844.308 663.222,-825.674 674.594,-810.402"/>
<polygon fill="black" stroke="black" points="677.45,-812.428 680.615,-802.317 671.835,-808.247 677.45,-812.428"/>
<text text-anchor="middle" x="678.5" y="-826.9" font-family="Times Roman,serif" font-size="14.00">11.5</text>
</g>
<!-- N11 -->
<g id="node12" class="node"><title>N11</title>
<polygon fill="none" stroke="black" points="684,-1178 556,-1178 556,-1140 684,-1140 684,-1178"/>
<text text-anchor="middle" x="620" y="-1166.8" font-family="Times Roman,serif" font-size="8.00">net/http.(*ServeMux).ServeHTTP</text>
<text text-anchor="end" x="676" y="-1156.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="676" y="-1146.8" font-family="Times Roman,serif" font-size="8.00">of 12.0 (4.8%)</text>
</g>
<!-- N13 -->
<g id="node14" class="node"><title>N13</title>
<polygon fill="none" stroke="black" points="688,-1084 562,-1084 562,-1046 688,-1046 688,-1084"/>
<text text-anchor="middle" x="625" y="-1072.8" font-family="Times Roman,serif" font-size="8.00">net/http.HandlerFunc.ServeHTTP</text>
<text text-anchor="end" x="680.5" y="-1062.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="680.5" y="-1052.8" font-family="Times Roman,serif" font-size="8.00">of 12.0 (4.8%)</text>
</g>
<!-- N11&#45;&gt;N13 -->
<g id="edge14" class="edge"><title>N11&#45;&gt;N13</title>
<path fill="none" stroke="black" d="M621.012,-1139.98C621.705,-1126.94 622.639,-1109.39 623.429,-1094.54"/>
<polygon fill="black" stroke="black" points="626.936,-1094.49 623.973,-1084.32 619.946,-1094.12 626.936,-1094.49"/>
<text text-anchor="middle" x="634.5" y="-1108.9" font-family="Times Roman,serif" font-size="14.00">12.0</text>
</g>
<!-- N12&#45;&gt;N11 -->
<g id="edge34" class="edge"><title>N12&#45;&gt;N11</title>
<path fill="none" stroke="black" d="M606.44,-1233.98C608.798,-1220.94 611.972,-1203.39 614.657,-1188.54"/>
<polygon fill="black" stroke="black" points="618.171,-1188.78 616.507,-1178.32 611.283,-1187.53 618.171,-1188.78"/>
<text text-anchor="middle" x="625.5" y="-1202.9" font-family="Times Roman,serif" font-size="14.00">12.0</text>
</g>
<!-- N13&#45;&gt;N9 -->
<g id="edge30" class="edge"><title>N13&#45;&gt;N9</title>
<path fill="none" stroke="black" d="M625,-1045.98C625,-1032.94 625,-1015.39 625,-1000.54"/>
<polygon fill="black" stroke="black" points="628.5,-1000.32 625,-990.317 621.5,-1000.32 628.5,-1000.32"/>
<text text-anchor="middle" x="637.5" y="-1014.9" font-family="Times Roman,serif" font-size="14.00">12.0</text>
</g>
<!-- N14 -->
<g id="node15" class="node"><title>N14</title>
<polygon fill="none" stroke="black" points="930,-150 806,-150 806,-112 930,-112 930,-150"/>
<text text-anchor="middle" x="868" y="-138.8" font-family="Times Roman,serif" font-size="8.00">compress/flate.(*compressor).init</text>
<text text-anchor="end" x="922.5" y="-128.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="922.5" y="-118.8" font-family="Times Roman,serif" font-size="8.00">of 11.5 (4.6%)</text>
</g>
<!-- N15 -->
<g id="node16" class="node"><title>N15</title>
<polygon fill="none" stroke="black" points="1027,-56 709,-56 709,-3.19744e-14 1027,-1.06581e-14 1027,-56"/>
<text text-anchor="middle" x="868" y="-35.17" font-family="Times Roman,serif" font-size="18.70">compress/flate.(*compressor).initDeflate</text>
<text text-anchor="end" x="1019.5" y="-11.17" font-family="Times Roman,serif" font-size="18.70">11.5 (4.6%)</text>
</g>
<!-- N14&#45;&gt;N15 -->
<g id="edge24" class="edge"><title>N14&#45;&gt;N15</title>
<path fill="none" stroke="black" d="M868,-111.626C868,-98.9372 868,-81.9154 868,-66.5414"/>
<polygon fill="black" stroke="black" points="871.5,-66.2346 868,-56.2346 864.5,-66.2346 871.5,-66.2346"/>
<text text-anchor="middle" x="880.5" y="-80.9" font-family="Times Roman,serif" font-size="14.00">11.5</text>
</g>
<!-- N16 -->
<g id="node17" class="node"><title>N16</title>
<polygon fill="none" stroke="black" points="920,-244 816,-244 816,-206 920,-206 920,-244"/>
<text text-anchor="middle" x="868" y="-232.8" font-family="Times Roman,serif" font-size="8.00">compress/flate.NewWriter</text>
<text text-anchor="end" x="912" y="-222.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="912" y="-212.8" font-family="Times Roman,serif" font-size="8.00">of 11.5 (4.6%)</text>
</g>
<!-- N16&#45;&gt;N14 -->
<g id="edge16" class="edge"><title>N16&#45;&gt;N14</title>
<path fill="none" stroke="black" d="M868,-205.978C868,-192.941 868,-175.388 868,-160.544"/>
<polygon fill="black" stroke="black" points="871.5,-160.317 868,-150.317 864.5,-160.317 871.5,-160.317"/>
<text text-anchor="middle" x="880.5" y="-174.9" font-family="Times Roman,serif" font-size="14.00">11.5</text>
</g>
<!-- N17 -->
<g id="node18" class="node"><title>N17</title>
<polygon fill="none" stroke="black" points="927,-338 809,-338 809,-300 927,-300 927,-338"/>
<text text-anchor="middle" x="868" y="-326.8" font-family="Times Roman,serif" font-size="8.00">compress/flate.NewWriterDict</text>
<text text-anchor="end" x="919" y="-316.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="919" y="-306.8" font-family="Times Roman,serif" font-size="8.00">of 11.5 (4.6%)</text>
</g>
<!-- N17&#45;&gt;N16 -->
<g id="edge22" class="edge"><title>N17&#45;&gt;N16</title>
<path fill="none" stroke="black" d="M868,-299.978C868,-286.941 868,-269.388 868,-254.544"/>
<polygon fill="black" stroke="black" points="871.5,-254.317 868,-244.317 864.5,-254.317 871.5,-254.317"/>
<text text-anchor="middle" x="880.5" y="-268.9" font-family="Times Roman,serif" font-size="14.00">11.5</text>
</g>
<!-- N18 -->
<g id="node19" class="node"><title>N18</title>
<polygon fill="none" stroke="black" points="926,-621 810,-621 810,-583 926,-583 926,-621"/>
<text text-anchor="middle" x="868" y="-609.8" font-family="Times Roman,serif" font-size="8.00">compress/zlib.(*Writer).Write</text>
<text text-anchor="end" x="918" y="-599.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="918" y="-589.8" font-family="Times Roman,serif" font-size="8.00">of 11.5 (4.6%)</text>
</g>
<!-- N19 -->
<g id="node20" class="node"><title>N19</title>
<polygon fill="none" stroke="black" points="937,-436 799,-436 799,-398 937,-398 937,-436"/>
<text text-anchor="middle" x="868" y="-424.8" font-family="Times Roman,serif" font-size="8.00">compress/zlib.(*Writer).writeHeader</text>
<text text-anchor="end" x="929" y="-414.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="929" y="-404.8" font-family="Times Roman,serif" font-size="8.00">of 11.5 (4.6%)</text>
</g>
<!-- N18&#45;&gt;N19 -->
<g id="edge28" class="edge"><title>N18&#45;&gt;N19</title>
<path fill="none" stroke="black" d="M868,-582.899C868,-550.495 868,-484.551 868,-446.283"/>
<polygon fill="black" stroke="black" points="871.5,-446.275 868,-436.275 864.5,-446.275 871.5,-446.275"/>
<text text-anchor="middle" x="880.5" y="-464.9" font-family="Times Roman,serif" font-size="14.00">11.5</text>
</g>
<!-- N19&#45;&gt;N17 -->
<g id="edge4" class="edge"><title>N19&#45;&gt;N17</title>
<path fill="none" stroke="black" d="M868,-397.638C868,-383.679 868,-364.579 868,-348.699"/>
<polygon fill="black" stroke="black" points="871.5,-348.321 868,-338.321 864.5,-348.321 871.5,-348.321"/>
<text text-anchor="middle" x="880.5" y="-362.9" font-family="Times Roman,serif" font-size="14.00">11.5</text>
</g>
<!-- N20&#45;&gt;N18 -->
<g id="edge12" class="edge"><title>N20&#45;&gt;N18</title>
<path fill="none" stroke="black" d="M728.636,-763.969C750.875,-750.304 779.738,-730.4 801,-708 823.164,-684.651 842.078,-652.908 854.101,-630.259"/>
<polygon fill="black" stroke="black" points="857.323,-631.649 858.822,-621.16 851.11,-628.425 857.323,-631.649"/>
<text text-anchor="middle" x="792.5" y="-732.9" font-family="Times Roman,serif" font-size="14.00">11.5</text>
</g>
<!-- N21 -->
<g id="node22" class="node"><title>N21</title>
<polygon fill="none" stroke="black" points="430,-990 302,-990 302,-952 430,-952 430,-990"/>
<text text-anchor="middle" x="366" y="-978.8" font-family="Times Roman,serif" font-size="8.00">net/http.(*Server).ListenAndServe</text>
<text text-anchor="end" x="422.5" y="-968.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="422.5" y="-958.8" font-family="Times Roman,serif" font-size="8.00">of 6.0 (2.4%)</text>
</g>
<!-- N22 -->
<g id="node23" class="node"><title>N22</title>
<polygon fill="none" stroke="black" points="413,-896 319,-896 319,-858 413,-858 413,-896"/>
<text text-anchor="middle" x="366" y="-884.8" font-family="Times Roman,serif" font-size="8.00">net/http.(*Server).Serve</text>
<text text-anchor="end" x="405.5" y="-874.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="405.5" y="-864.8" font-family="Times Roman,serif" font-size="8.00">of 6.0 (2.4%)</text>
</g>
<!-- N21&#45;&gt;N22 -->
<g id="edge18" class="edge"><title>N21&#45;&gt;N22</title>
<path fill="none" stroke="black" d="M366,-951.978C366,-938.941 366,-921.388 366,-906.544"/>
<polygon fill="black" stroke="black" points="369.5,-906.317 366,-896.317 362.5,-906.317 369.5,-906.317"/>
<text text-anchor="middle" x="375" y="-920.9" font-family="Times Roman,serif" font-size="14.00">6.0</text>
</g>
<!-- N24 -->
<g id="node25" class="node"><title>N24</title>
<polygon fill="none" stroke="black" points="211,-802 105,-802 105,-764 211,-764 211,-802"/>
<text text-anchor="middle" x="158" y="-790.8" font-family="Times Roman,serif" font-size="8.00">net/http.(*Server).newConn</text>
<text text-anchor="end" x="203.5" y="-780.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="203.5" y="-770.8" font-family="Times Roman,serif" font-size="8.00">of 5.5 (2.2%)</text>
</g>
<!-- N22&#45;&gt;N24 -->
<g id="edge46" class="edge"><title>N22&#45;&gt;N24</title>
<path fill="none" stroke="black" d="M323.908,-857.978C290.89,-843.056 244.783,-822.219 209.553,-806.298"/>
<polygon fill="black" stroke="black" points="210.94,-803.084 200.386,-802.155 208.057,-809.463 210.94,-803.084"/>
<text text-anchor="middle" x="290" y="-826.9" font-family="Times Roman,serif" font-size="14.00">5.5</text>
</g>
<!-- N23&#45;&gt;N21 -->
<g id="edge26" class="edge"><title>N23&#45;&gt;N21</title>
<path fill="none" stroke="black" d="M383.548,-1045.98C380.467,-1032.81 376.309,-1015.05 372.814,-1000.11"/>
<polygon fill="black" stroke="black" points="376.208,-999.256 370.521,-990.317 369.392,-1000.85 376.208,-999.256"/>
<text text-anchor="middle" x="387" y="-1014.9" font-family="Times Roman,serif" font-size="14.00">6.0</text>
</g>
<!-- N26 -->
<g id="node27" class="node"><title>N26</title>
<polygon fill="none" stroke="black" points="104,-621 30,-621 30,-583 104,-583 104,-621"/>
<text text-anchor="middle" x="67" y="-609.8" font-family="Times Roman,serif" font-size="8.00">bufio.NewReader</text>
<text text-anchor="end" x="96" y="-599.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="96" y="-589.8" font-family="Times Roman,serif" font-size="8.00">of 2.5 (1.0%)</text>
</g>
<!-- N24&#45;&gt;N26 -->
<g id="edge44" class="edge"><title>N24&#45;&gt;N26</title>
<path fill="none" stroke="black" d="M145.635,-763.971C136.168,-749.042 123.068,-727.581 113,-708 99.8542,-682.433 87.0115,-652.274 78.252,-630.676"/>
<polygon fill="black" stroke="black" points="81.3857,-629.087 74.4124,-621.111 74.8895,-631.695 81.3857,-629.087"/>
<text text-anchor="middle" x="144" y="-732.9" font-family="Times Roman,serif" font-size="14.00">2.5</text>
</g>
<!-- N28 -->
<g id="node29" class="node"><title>N28</title>
<polygon fill="none" stroke="black" points="194,-621 122,-621 122,-583 194,-583 194,-621"/>
<text text-anchor="middle" x="158" y="-609.8" font-family="Times Roman,serif" font-size="8.00">bufio.NewWriter</text>
<text text-anchor="end" x="186.5" y="-599.8" font-family="Times Roman,serif" font-size="8.00">0.0 (0.0%)</text>
<text text-anchor="end" x="186.5" y="-589.8" font-family="Times Roman,serif" font-size="8.00">of 2.5 (1.0%)</text>
</g>
<!-- N24&#45;&gt;N28 -->
<g id="edge20" class="edge"><title>N24&#45;&gt;N28</title>
<path fill="none" stroke="black" d="M158,-763.972C158,-732.333 158,-668.695 158,-631.297"/>
<polygon fill="black" stroke="black" points="161.5,-631.045 158,-621.045 154.5,-631.045 161.5,-631.045"/>
<text text-anchor="middle" x="167" y="-732.9" font-family="Times Roman,serif" font-size="14.00">2.5</text>
</g>
<!-- N27 -->
<g id="node28" class="node"><title>N27</title>
<polygon fill="none" stroke="black" points="134,-438 7.10543e-14,-438 0,-396 134,-396 134,-438"/>
<text text-anchor="middle" x="67" y="-422.3" font-family="Times Roman,serif" font-size="13.00">bufio.NewReaderSize</text>
<text text-anchor="end" x="126.5" y="-405.3" font-family="Times Roman,serif" font-size="13.00">2.5 (1.0%)</text>
</g>
<!-- N26&#45;&gt;N27 -->
<g id="edge38" class="edge"><title>N26&#45;&gt;N27</title>
<path fill="none" stroke="black" d="M67,-582.899C67,-551.085 67,-486.944 67,-448.403"/>
<polygon fill="black" stroke="black" points="70.5001,-448.26 67,-438.26 63.5001,-448.26 70.5001,-448.26"/>
<text text-anchor="middle" x="76" y="-464.9" font-family="Times Roman,serif" font-size="14.00">2.5</text>
</g>
<!-- N28&#45;&gt;N25 -->
<g id="edge8" class="edge"><title>N28&#45;&gt;N25</title>
<path fill="none" stroke="black" d="M164.298,-582.899C174.665,-551.458 195.443,-488.442 208.195,-449.768"/>
<polygon fill="black" stroke="black" points="211.601,-450.616 211.409,-440.023 204.953,-448.424 211.601,-450.616"/>
<text text-anchor="middle" x="214" y="-464.9" font-family="Times Roman,serif" font-size="14.00">2.5</text>
</g>
</g>
</g></svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment