%PDF- %PDF-
Direktori : /usr/local/go119/src/cmd/vendor/github.com/google/pprof/internal/driver/html/ |
Current File : //usr/local/go119/src/cmd/vendor/github.com/google/pprof/internal/driver/html/flamegraph.html |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>{{.Title}}</title> {{template "css" .}} <style type="text/css">{{template "d3flamegraphcss" .}}</style> <style type="text/css"> .flamegraph-content { width: 90%; min-width: 80%; margin-left: 5%; } .flamegraph-details { height: 1.2em; width: 90%; min-width: 90%; margin-left: 5%; padding: 15px 0 35px; } </style> </head> <body> {{template "header" .}} <div id="bodycontainer"> <div id="flamegraphdetails" class="flamegraph-details"></div> <div class="flamegraph-content"> <div id="chart"></div> </div> </div> {{template "script" .}} <script>viewer(new URL(window.location.href), {{.Nodes}});</script> <script>{{template "d3flamegraphscript" .}}</script> <script> {{- /* Deserialize as JSON instead of a JS object literal because the browser's JSON parser can handle larger payloads than its JS parser. */ -}} var data = JSON.parse("{{.FlameGraph}}"); var width = document.getElementById('chart').clientWidth; var flameGraph = flamegraph() .width(width) .cellHeight(18) .minFrameSize(1) .transitionDuration(750) .inverted(true) .sort(true) .title('') .tooltip(false) .setDetailsElement(document.getElementById('flamegraphdetails')); // <full name> (percentage, value) flameGraph.label((d) => d.data.f + ' (' + d.data.p + ', ' + d.data.l + ')'); flameGraph.setColorHue('warm'); select('#chart') .datum(data) .call(flameGraph); function clear() { flameGraph.clear(); } function resetZoom() { flameGraph.resetZoom(); } window.addEventListener('resize', function() { var width = document.getElementById('chart').clientWidth; var graphs = document.getElementsByClassName('d3-flame-graph'); if (graphs.length > 0) { graphs[0].setAttribute('width', width); } flameGraph.width(width); flameGraph.resetZoom(); }, true); var search = document.getElementById('search'); var searchAlarm = null; function selectMatching() { searchAlarm = null; if (search.value != '') { flameGraph.search(search.value); } else { flameGraph.clear(); } } function handleSearch() { // Delay expensive processing so a flurry of key strokes is handled once. if (searchAlarm != null) { clearTimeout(searchAlarm); } searchAlarm = setTimeout(selectMatching, 300); } search.addEventListener('input', handleSearch); </script> </body> </html>