491 lines
114 KiB
XML
491 lines
114 KiB
XML
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" width="1200" height="918" onload="init(evt)" viewBox="0 0 1200 918" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:fg="http://github.com/jonhoo/inferno"><!--Flame graph stack visualization. See https://github.com/brendangregg/FlameGraph for latest version, and http://www.brendangregg.com/flamegraphs.html for examples.--><!--NOTES: --><defs><linearGradient id="background" y1="0" y2="1" x1="0" x2="0"><stop stop-color="#eeeeee" offset="5%"/><stop stop-color="#eeeeb0" offset="95%"/></linearGradient></defs><style type="text/css">
|
|
text { font-family:monospace; font-size:12px }
|
|
#title { text-anchor:middle; font-size:17px; }
|
|
#matched { text-anchor:end; }
|
|
#search { text-anchor:end; opacity:0.1; cursor:pointer; }
|
|
#search:hover, #search.show { opacity:1; }
|
|
#subtitle { text-anchor:middle; font-color:rgb(160,160,160); }
|
|
#unzoom { cursor:pointer; }
|
|
#frames > *:hover { stroke:black; stroke-width:0.5; cursor:pointer; }
|
|
.hide { display:none; }
|
|
.parent { opacity:0.5; }
|
|
</style><script type="text/ecmascript"><![CDATA[
|
|
var nametype = 'Function:';
|
|
var fontsize = 12;
|
|
var fontwidth = 0.59;
|
|
var xpad = 10;
|
|
var inverted = false;
|
|
var searchcolor = 'rgb(230,0,230)';
|
|
var fluiddrawing = true;
|
|
var truncate_text_right = false;
|
|
]]><![CDATA["use strict";
|
|
var details, searchbtn, unzoombtn, matchedtxt, svg, searching, frames, known_font_width;
|
|
function init(evt) {
|
|
details = document.getElementById("details").firstChild;
|
|
searchbtn = document.getElementById("search");
|
|
unzoombtn = document.getElementById("unzoom");
|
|
matchedtxt = document.getElementById("matched");
|
|
svg = document.getElementsByTagName("svg")[0];
|
|
frames = document.getElementById("frames");
|
|
known_font_width = get_monospace_width(frames);
|
|
total_samples = parseInt(frames.attributes.total_samples.value);
|
|
searching = 0;
|
|
|
|
// Use GET parameters to restore a flamegraph's state.
|
|
var restore_state = function() {
|
|
var params = get_params();
|
|
if (params.x && params.y)
|
|
zoom(find_group(document.querySelector('[*|x="' + params.x + '"][y="' + params.y + '"]')));
|
|
if (params.s)
|
|
search(params.s);
|
|
};
|
|
|
|
if (fluiddrawing) {
|
|
// Make width dynamic so the SVG fits its parent's width.
|
|
svg.removeAttribute("width");
|
|
// Edge requires us to have a viewBox that gets updated with size changes.
|
|
var isEdge = /Edge\/\d./i.test(navigator.userAgent);
|
|
if (!isEdge) {
|
|
svg.removeAttribute("viewBox");
|
|
}
|
|
var update_for_width_change = function() {
|
|
if (isEdge) {
|
|
svg.attributes.viewBox.value = "0 0 " + svg.width.baseVal.value + " " + svg.height.baseVal.value;
|
|
}
|
|
|
|
// Keep consistent padding on left and right of frames container.
|
|
frames.attributes.width.value = svg.width.baseVal.value - xpad * 2;
|
|
|
|
// Text truncation needs to be adjusted for the current width.
|
|
update_text_for_elements(frames.children);
|
|
|
|
// Keep search elements at a fixed distance from right edge.
|
|
var svgWidth = svg.width.baseVal.value;
|
|
searchbtn.attributes.x.value = svgWidth - xpad;
|
|
matchedtxt.attributes.x.value = svgWidth - xpad;
|
|
};
|
|
window.addEventListener('resize', function() {
|
|
update_for_width_change();
|
|
});
|
|
// This needs to be done asynchronously for Safari to work.
|
|
setTimeout(function() {
|
|
unzoom();
|
|
update_for_width_change();
|
|
restore_state();
|
|
}, 0);
|
|
} else {
|
|
restore_state();
|
|
}
|
|
}
|
|
// event listeners
|
|
window.addEventListener("click", function(e) {
|
|
var target = find_group(e.target);
|
|
if (target) {
|
|
if (target.nodeName == "a") {
|
|
if (e.ctrlKey === false) return;
|
|
e.preventDefault();
|
|
}
|
|
if (target.classList.contains("parent")) unzoom();
|
|
zoom(target);
|
|
|
|
// set parameters for zoom state
|
|
var el = target.querySelector("rect");
|
|
if (el && el.attributes && el.attributes.y && el.attributes["fg:x"]) {
|
|
var params = get_params()
|
|
params.x = el.attributes["fg:x"].value;
|
|
params.y = el.attributes.y.value;
|
|
history.replaceState(null, null, parse_params(params));
|
|
}
|
|
}
|
|
else if (e.target.id == "unzoom") {
|
|
unzoom();
|
|
|
|
// remove zoom state
|
|
var params = get_params();
|
|
if (params.x) delete params.x;
|
|
if (params.y) delete params.y;
|
|
history.replaceState(null, null, parse_params(params));
|
|
}
|
|
else if (e.target.id == "search") search_prompt();
|
|
}, false)
|
|
// mouse-over for info
|
|
// show
|
|
window.addEventListener("mouseover", function(e) {
|
|
var target = find_group(e.target);
|
|
if (target) details.nodeValue = nametype + " " + g_to_text(target);
|
|
}, false)
|
|
// clear
|
|
window.addEventListener("mouseout", function(e) {
|
|
var target = find_group(e.target);
|
|
if (target) details.nodeValue = ' ';
|
|
}, false)
|
|
// ctrl-F for search
|
|
window.addEventListener("keydown",function (e) {
|
|
if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) {
|
|
e.preventDefault();
|
|
search_prompt();
|
|
}
|
|
}, false)
|
|
// functions
|
|
function get_params() {
|
|
var params = {};
|
|
var paramsarr = window.location.search.substr(1).split('&');
|
|
for (var i = 0; i < paramsarr.length; ++i) {
|
|
var tmp = paramsarr[i].split("=");
|
|
if (!tmp[0] || !tmp[1]) continue;
|
|
params[tmp[0]] = decodeURIComponent(tmp[1]);
|
|
}
|
|
return params;
|
|
}
|
|
function parse_params(params) {
|
|
var uri = "?";
|
|
for (var key in params) {
|
|
uri += key + '=' + encodeURIComponent(params[key]) + '&';
|
|
}
|
|
if (uri.slice(-1) == "&")
|
|
uri = uri.substring(0, uri.length - 1);
|
|
if (uri == '?')
|
|
uri = window.location.href.split('?')[0];
|
|
return uri;
|
|
}
|
|
function find_child(node, selector) {
|
|
var children = node.querySelectorAll(selector);
|
|
if (children.length) return children[0];
|
|
return;
|
|
}
|
|
function find_group(node) {
|
|
var parent = node.parentElement;
|
|
if (!parent) return;
|
|
if (parent.id == "frames") return node;
|
|
return find_group(parent);
|
|
}
|
|
function orig_save(e, attr, val) {
|
|
if (e.attributes["fg:orig_" + attr] != undefined) return;
|
|
if (e.attributes[attr] == undefined) return;
|
|
if (val == undefined) val = e.attributes[attr].value;
|
|
e.setAttribute("fg:orig_" + attr, val);
|
|
}
|
|
function orig_load(e, attr) {
|
|
if (e.attributes["fg:orig_"+attr] == undefined) return;
|
|
e.attributes[attr].value = e.attributes["fg:orig_" + attr].value;
|
|
e.removeAttribute("fg:orig_" + attr);
|
|
}
|
|
function g_to_text(e) {
|
|
var text = find_child(e, "title").firstChild.nodeValue;
|
|
return (text)
|
|
}
|
|
function g_to_func(e) {
|
|
var func = g_to_text(e);
|
|
// if there's any manipulation we want to do to the function
|
|
// name before it's searched, do it here before returning.
|
|
return (func);
|
|
}
|
|
function get_monospace_width(frames) {
|
|
// Given the id="frames" element, return the width of text characters if
|
|
// this is a monospace font, otherwise return 0.
|
|
text = find_child(frames.children[0], "text");
|
|
originalContent = text.textContent;
|
|
text.textContent = "!";
|
|
bangWidth = text.getComputedTextLength();
|
|
text.textContent = "W";
|
|
wWidth = text.getComputedTextLength();
|
|
text.textContent = originalContent;
|
|
if (bangWidth === wWidth) {
|
|
return bangWidth;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
function update_text_for_elements(elements) {
|
|
// In order to render quickly in the browser, you want to do one pass of
|
|
// reading attributes, and one pass of mutating attributes. See
|
|
// https://web.dev/avoid-large-complex-layouts-and-layout-thrashing/ for details.
|
|
|
|
// Fall back to inefficient calculation, if we're variable-width font.
|
|
// TODO This should be optimized somehow too.
|
|
if (known_font_width === 0) {
|
|
for (var i = 0; i < elements.length; i++) {
|
|
update_text(elements[i]);
|
|
}
|
|
return;
|
|
}
|
|
|
|
var textElemNewAttributes = [];
|
|
for (var i = 0; i < elements.length; i++) {
|
|
var e = elements[i];
|
|
var r = find_child(e, "rect");
|
|
var t = find_child(e, "text");
|
|
var w = parseFloat(r.attributes.width.value) * frames.attributes.width.value / 100 - 3;
|
|
var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,"");
|
|
var newX = format_percent((parseFloat(r.attributes.x.value) + (100 * 3 / frames.attributes.width.value)));
|
|
|
|
// Smaller than this size won't fit anything
|
|
if (w < 2 * known_font_width) {
|
|
textElemNewAttributes.push([newX, ""]);
|
|
continue;
|
|
}
|
|
|
|
// Fit in full text width
|
|
if (txt.length * known_font_width < w) {
|
|
textElemNewAttributes.push([newX, txt]);
|
|
continue;
|
|
}
|
|
|
|
var substringLength = Math.floor(w / known_font_width) - 2;
|
|
if (truncate_text_right) {
|
|
// Truncate the right side of the text.
|
|
textElemNewAttributes.push([newX, txt.substring(0, substringLength) + ".."]);
|
|
continue;
|
|
} else {
|
|
// Truncate the left side of the text.
|
|
textElemNewAttributes.push([newX, ".." + txt.substring(txt.length - substringLength, txt.length)]);
|
|
continue;
|
|
}
|
|
}
|
|
|
|
console.assert(textElemNewAttributes.length === elements.length, "Resize failed, please file a bug at https://github.com/jonhoo/inferno/");
|
|
|
|
// Now that we know new textContent, set it all in one go so we don't refresh a bazillion times.
|
|
for (var i = 0; i < elements.length; i++) {
|
|
var e = elements[i];
|
|
var values = textElemNewAttributes[i];
|
|
var t = find_child(e, "text");
|
|
t.attributes.x.value = values[0];
|
|
t.textContent = values[1];
|
|
}
|
|
}
|
|
|
|
function update_text(e) {
|
|
var r = find_child(e, "rect");
|
|
var t = find_child(e, "text");
|
|
var w = parseFloat(r.attributes.width.value) * frames.attributes.width.value / 100 - 3;
|
|
var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,"");
|
|
t.attributes.x.value = format_percent((parseFloat(r.attributes.x.value) + (100 * 3 / frames.attributes.width.value)));
|
|
|
|
// Smaller than this size won't fit anything
|
|
if (w < 2 * fontsize * fontwidth) {
|
|
t.textContent = "";
|
|
return;
|
|
}
|
|
t.textContent = txt;
|
|
// Fit in full text width
|
|
if (t.getComputedTextLength() < w)
|
|
return;
|
|
if (truncate_text_right) {
|
|
// Truncate the right side of the text.
|
|
for (var x = txt.length - 2; x > 0; x--) {
|
|
if (t.getSubStringLength(0, x + 2) <= w) {
|
|
t.textContent = txt.substring(0, x) + "..";
|
|
return;
|
|
}
|
|
}
|
|
} else {
|
|
// Truncate the left side of the text.
|
|
for (var x = 2; x < txt.length; x++) {
|
|
if (t.getSubStringLength(x - 2, txt.length) <= w) {
|
|
t.textContent = ".." + txt.substring(x, txt.length);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
t.textContent = "";
|
|
}
|
|
// zoom
|
|
function zoom_reset(e) {
|
|
if (e.tagName == "rect") {
|
|
e.attributes.x.value = format_percent(100 * parseInt(e.attributes["fg:x"].value) / total_samples);
|
|
e.attributes.width.value = format_percent(100 * parseInt(e.attributes["fg:w"].value) / total_samples);
|
|
}
|
|
if (e.childNodes == undefined) return;
|
|
for(var i = 0, c = e.childNodes; i < c.length; i++) {
|
|
zoom_reset(c[i]);
|
|
}
|
|
}
|
|
function zoom_child(e, x, zoomed_width_samples) {
|
|
if (e.tagName == "text") {
|
|
var parent_x = parseFloat(find_child(e.parentNode, "rect[x]").attributes.x.value);
|
|
e.attributes.x.value = format_percent(parent_x + (100 * 3 / frames.attributes.width.value));
|
|
} else if (e.tagName == "rect") {
|
|
e.attributes.x.value = format_percent(100 * (parseInt(e.attributes["fg:x"].value) - x) / zoomed_width_samples);
|
|
e.attributes.width.value = format_percent(100 * parseInt(e.attributes["fg:w"].value) / zoomed_width_samples);
|
|
}
|
|
if (e.childNodes == undefined) return;
|
|
for(var i = 0, c = e.childNodes; i < c.length; i++) {
|
|
zoom_child(c[i], x, zoomed_width_samples);
|
|
}
|
|
}
|
|
function zoom_parent(e) {
|
|
if (e.attributes) {
|
|
if (e.attributes.x != undefined) {
|
|
e.attributes.x.value = "0.0%";
|
|
}
|
|
if (e.attributes.width != undefined) {
|
|
e.attributes.width.value = "100.0%";
|
|
}
|
|
}
|
|
if (e.childNodes == undefined) return;
|
|
for(var i = 0, c = e.childNodes; i < c.length; i++) {
|
|
zoom_parent(c[i]);
|
|
}
|
|
}
|
|
function zoom(node) {
|
|
var attr = find_child(node, "rect").attributes;
|
|
var width = parseInt(attr["fg:w"].value);
|
|
var xmin = parseInt(attr["fg:x"].value);
|
|
var xmax = xmin + width;
|
|
var ymin = parseFloat(attr.y.value);
|
|
unzoombtn.classList.remove("hide");
|
|
var el = frames.children;
|
|
var to_update_text = [];
|
|
for (var i = 0; i < el.length; i++) {
|
|
var e = el[i];
|
|
var a = find_child(e, "rect").attributes;
|
|
var ex = parseInt(a["fg:x"].value);
|
|
var ew = parseInt(a["fg:w"].value);
|
|
// Is it an ancestor
|
|
if (!inverted) {
|
|
var upstack = parseFloat(a.y.value) > ymin;
|
|
} else {
|
|
var upstack = parseFloat(a.y.value) < ymin;
|
|
}
|
|
if (upstack) {
|
|
// Direct ancestor
|
|
if (ex <= xmin && (ex+ew) >= xmax) {
|
|
e.classList.add("parent");
|
|
zoom_parent(e);
|
|
to_update_text.push(e);
|
|
}
|
|
// not in current path
|
|
else
|
|
e.classList.add("hide");
|
|
}
|
|
// Children maybe
|
|
else {
|
|
// no common path
|
|
if (ex < xmin || ex >= xmax) {
|
|
e.classList.add("hide");
|
|
}
|
|
else {
|
|
zoom_child(e, xmin, width);
|
|
to_update_text.push(e);
|
|
}
|
|
}
|
|
}
|
|
update_text_for_elements(to_update_text);
|
|
}
|
|
function unzoom() {
|
|
unzoombtn.classList.add("hide");
|
|
var el = frames.children;
|
|
for(var i = 0; i < el.length; i++) {
|
|
el[i].classList.remove("parent");
|
|
el[i].classList.remove("hide");
|
|
zoom_reset(el[i]);
|
|
}
|
|
update_text_for_elements(el);
|
|
}
|
|
// search
|
|
function reset_search() {
|
|
var el = document.querySelectorAll("#frames rect");
|
|
for (var i = 0; i < el.length; i++) {
|
|
orig_load(el[i], "fill")
|
|
}
|
|
var params = get_params();
|
|
delete params.s;
|
|
history.replaceState(null, null, parse_params(params));
|
|
}
|
|
function search_prompt() {
|
|
if (!searching) {
|
|
var term = prompt("Enter a search term (regexp " +
|
|
"allowed, eg: ^ext4_)", "");
|
|
if (term != null) {
|
|
search(term)
|
|
}
|
|
} else {
|
|
reset_search();
|
|
searching = 0;
|
|
searchbtn.classList.remove("show");
|
|
searchbtn.firstChild.nodeValue = "Search"
|
|
matchedtxt.classList.add("hide");
|
|
matchedtxt.firstChild.nodeValue = ""
|
|
}
|
|
}
|
|
function search(term) {
|
|
var re = new RegExp(term);
|
|
var el = frames.children;
|
|
var matches = new Object();
|
|
var maxwidth = 0;
|
|
for (var i = 0; i < el.length; i++) {
|
|
var e = el[i];
|
|
// Skip over frames which are either not visible, or below the zoomed-to frame
|
|
if (e.classList.contains("hide") || e.classList.contains("parent")) {
|
|
continue;
|
|
}
|
|
var func = g_to_func(e);
|
|
var rect = find_child(e, "rect");
|
|
if (func == null || rect == null)
|
|
continue;
|
|
// Save max width. Only works as we have a root frame
|
|
var w = parseInt(rect.attributes["fg:w"].value);
|
|
if (w > maxwidth)
|
|
maxwidth = w;
|
|
if (func.match(re)) {
|
|
// highlight
|
|
var x = parseInt(rect.attributes["fg:x"].value);
|
|
orig_save(rect, "fill");
|
|
rect.attributes.fill.value = searchcolor;
|
|
// remember matches
|
|
if (matches[x] == undefined) {
|
|
matches[x] = w;
|
|
} else {
|
|
if (w > matches[x]) {
|
|
// overwrite with parent
|
|
matches[x] = w;
|
|
}
|
|
}
|
|
searching = 1;
|
|
}
|
|
}
|
|
if (!searching)
|
|
return;
|
|
var params = get_params();
|
|
params.s = term;
|
|
history.replaceState(null, null, parse_params(params));
|
|
|
|
searchbtn.classList.add("show");
|
|
searchbtn.firstChild.nodeValue = "Reset Search";
|
|
// calculate percent matched, excluding vertical overlap
|
|
var count = 0;
|
|
var lastx = -1;
|
|
var lastw = 0;
|
|
var keys = Array();
|
|
for (k in matches) {
|
|
if (matches.hasOwnProperty(k))
|
|
keys.push(k);
|
|
}
|
|
// sort the matched frames by their x location
|
|
// ascending, then width descending
|
|
keys.sort(function(a, b){
|
|
return a - b;
|
|
});
|
|
// Step through frames saving only the biggest bottom-up frames
|
|
// thanks to the sort order. This relies on the tree property
|
|
// where children are always smaller than their parents.
|
|
for (var k in keys) {
|
|
var x = parseInt(keys[k]);
|
|
var w = matches[keys[k]];
|
|
if (x >= lastx + lastw) {
|
|
count += w;
|
|
lastx = x;
|
|
lastw = w;
|
|
}
|
|
}
|
|
// display matched percent
|
|
matchedtxt.classList.remove("hide");
|
|
var pct = 100 * count / maxwidth;
|
|
if (pct != 100) pct = pct.toFixed(1);
|
|
matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%";
|
|
}
|
|
function format_percent(n) {
|
|
return n.toFixed(4) + "%";
|
|
}
|
|
]]></script><rect x="0" y="0" width="100%" height="918" fill="url(#background)"/><text id="title" fill="rgb(0,0,0)" x="50.0000%" y="24.00">Flame Graph</text><text id="details" fill="rgb(0,0,0)" x="10" y="901.00"> </text><text id="unzoom" class="hide" fill="rgb(0,0,0)" x="10" y="24.00">Reset Zoom</text><text id="search" fill="rgb(0,0,0)" x="1190" y="24.00">Search</text><text id="matched" fill="rgb(0,0,0)" x="1190" y="901.00"> </text><svg id="frames" x="10" width="1180" total_samples="155688399"><g><title><alloc::string::String as core::fmt::Write>::write_str (1,932,904 samples, 1.24%)</title><rect x="0.0000%" y="837" width="1.2415%" height="15" fill="rgb(227,0,7)" fg:x="0" fg:w="1932904"/><text x="0.2500%" y="847.50"></text></g><g><title><console::utils::StyledObject<D> as core::fmt::Display>::fmt (501,504 samples, 0.32%)</title><rect x="1.2415%" y="837" width="0.3221%" height="15" fill="rgb(217,0,24)" fg:x="1932904" fg:w="501504"/><text x="1.4915%" y="847.50"></text></g><g><title><diesel::sqlite::connection::SqliteConnection as diesel::connection::Connection>::establish (1,202,489 samples, 0.77%)</title><rect x="1.5636%" y="837" width="0.7724%" height="15" fill="rgb(221,193,54)" fg:x="2434408" fg:w="1202489"/><text x="1.8136%" y="847.50"></text></g><g><title><diesel::sqlite::query_builder::SqliteQueryBuilder as diesel::query_builder::QueryBuilder<diesel::sqlite::backend::Sqlite>>::push_sql (1,045,240 samples, 0.67%)</title><rect x="2.3360%" y="837" width="0.6714%" height="15" fill="rgb(248,212,6)" fg:x="3636897" fg:w="1045240"/><text x="2.5860%" y="847.50"></text></g><g><title>[db] (652,185 samples, 0.42%)</title><rect x="3.0074%" y="837" width="0.4189%" height="15" fill="rgb(208,68,35)" fg:x="4682137" fg:w="652185"/><text x="3.2574%" y="847.50"></text></g><g><title>std::io::Write::write_all (652,185 samples, 0.42%)</title><rect x="3.0074%" y="821" width="0.4189%" height="15" fill="rgb(232,128,0)" fg:x="4682137" fg:w="652185"/><text x="3.2574%" y="831.50"></text></g><g><title><serde_json::read::StrRead as serde_json::read::Read>::parse_str (880,273 samples, 0.57%)</title><rect x="3.4263%" y="821" width="0.5654%" height="15" fill="rgb(207,160,47)" fg:x="5334322" fg:w="880273"/><text x="3.6763%" y="831.50"></text></g><g><title>[unknown] (1,181,670 samples, 0.76%)</title><rect x="3.9917%" y="821" width="0.7590%" height="15" fill="rgb(228,23,34)" fg:x="6214595" fg:w="1181670"/><text x="4.2417%" y="831.50"></text></g><g><title>serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize (1,181,670 samples, 0.76%)</title><rect x="3.9917%" y="805" width="0.7590%" height="15" fill="rgb(218,30,26)" fg:x="6214595" fg:w="1181670"/><text x="4.2417%" y="815.50"></text></g><g><title>[unknown] (2,563,447 samples, 1.65%)</title><rect x="3.4263%" y="837" width="1.6465%" height="15" fill="rgb(220,122,19)" fg:x="5334322" fg:w="2563447"/><text x="3.6763%" y="847.50"></text></g><g><title>indicatif::state::ProgressState::eta (501,504 samples, 0.32%)</title><rect x="4.7507%" y="821" width="0.3221%" height="15" fill="rgb(250,228,42)" fg:x="7396265" fg:w="501504"/><text x="5.0007%" y="831.50"></text></g><g><title><diesel::sqlite::connection::SqliteConnection as diesel::connection::SimpleConnection>::batch_execute (829,243 samples, 0.53%)</title><rect x="5.0728%" y="645" width="0.5326%" height="15" fill="rgb(240,193,28)" fg:x="7897769" fg:w="829243"/><text x="5.3228%" y="655.50"></text></g><g><title>diesel::sqlite::connection::raw::RawConnection::exec (829,243 samples, 0.53%)</title><rect x="5.0728%" y="629" width="0.5326%" height="15" fill="rgb(216,20,37)" fg:x="7897769" fg:w="829243"/><text x="5.3228%" y="639.50"></text></g><g><title>sqlite3_prepare_v2 (829,243 samples, 0.53%)</title><rect x="5.0728%" y="613" width="0.5326%" height="15" fill="rgb(206,188,39)" fg:x="7897769" fg:w="829243"/><text x="5.3228%" y="623.50"></text></g><g><title><indicatif::rayon::ProgressFolder<C> as rayon::iter::plumbing::Folder<T>>::consume (1,330,747 samples, 0.85%)</title><rect x="5.0728%" y="677" width="0.8548%" height="15" fill="rgb(217,207,13)" fg:x="7897769" fg:w="1330747"/><text x="5.3228%" y="687.50"></text></g><g><title>db::db::connect (1,330,747 samples, 0.85%)</title><rect x="5.0728%" y="661" width="0.8548%" height="15" fill="rgb(231,73,38)" fg:x="7897769" fg:w="1330747"/><text x="5.3228%" y="671.50"></text></g><g><title>core::result::unwrap_failed (501,504 samples, 0.32%)</title><rect x="5.6054%" y="645" width="0.3221%" height="15" fill="rgb(225,20,46)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="655.50"></text></g><g><title>core::panicking::panic_fmt (501,504 samples, 0.32%)</title><rect x="5.6054%" y="629" width="0.3221%" height="15" fill="rgb(210,31,41)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="639.50"></text></g><g><title>__rustc::rust_begin_unwind (501,504 samples, 0.32%)</title><rect x="5.6054%" y="613" width="0.3221%" height="15" fill="rgb(221,200,47)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="623.50"></text></g><g><title>std::sys::backtrace::__rust_end_short_backtrace (501,504 samples, 0.32%)</title><rect x="5.6054%" y="597" width="0.3221%" height="15" fill="rgb(226,26,5)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="607.50"></text></g><g><title>std::panicking::panic_handler::{{closure}} (501,504 samples, 0.32%)</title><rect x="5.6054%" y="581" width="0.3221%" height="15" fill="rgb(249,33,26)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="591.50"></text></g><g><title>std::panicking::panic_with_hook (501,504 samples, 0.32%)</title><rect x="5.6054%" y="565" width="0.3221%" height="15" fill="rgb(235,183,28)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="575.50"></text></g><g><title>__rustc::rust_panic (501,504 samples, 0.32%)</title><rect x="5.6054%" y="549" width="0.3221%" height="15" fill="rgb(221,5,38)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="559.50"></text></g><g><title>_Unwind_RaiseException (501,504 samples, 0.32%)</title><rect x="5.6054%" y="533" width="0.3221%" height="15" fill="rgb(247,18,42)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="543.50"></text></g><g><title>_Unwind_RaiseException_Phase2 (501,504 samples, 0.32%)</title><rect x="5.6054%" y="517" width="0.3221%" height="15" fill="rgb(241,131,45)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="527.50"></text></g><g><title>rust_eh_personality (501,504 samples, 0.32%)</title><rect x="5.6054%" y="501" width="0.3221%" height="15" fill="rgb(249,31,29)" fg:x="8727012" fg:w="501504"/><text x="5.8554%" y="511.50"></text></g><g><title><&rayon::iter::par_bridge::IterParallelProducer<Iter> as rayon::iter::plumbing::UnindexedProducer>::fold_with (2,010,726 samples, 1.29%)</title><rect x="5.0728%" y="693" width="1.2915%" height="15" fill="rgb(225,111,53)" fg:x="7897769" fg:w="2010726"/><text x="5.3228%" y="703.50"></text></g><g><title><std::io::Lines<B> as core::iter::traits::iterator::Iterator>::next (679,979 samples, 0.44%)</title><rect x="5.9276%" y="677" width="0.4368%" height="15" fill="rgb(238,160,17)" fg:x="9228516" fg:w="679979"/><text x="6.1776%" y="687.50"></text></g><g><title>std::io::append_to_string (679,979 samples, 0.44%)</title><rect x="5.9276%" y="661" width="0.4368%" height="15" fill="rgb(214,148,48)" fg:x="9228516" fg:w="679979"/><text x="6.1776%" y="671.50"></text></g><g><title><flate2::gz::bufread::GzDecoder<R> as std::io::Read>::read (679,979 samples, 0.44%)</title><rect x="5.9276%" y="645" width="0.4368%" height="15" fill="rgb(232,36,49)" fg:x="9228516" fg:w="679979"/><text x="6.1776%" y="655.50"></text></g><g><title>flate2::zio::read (679,979 samples, 0.44%)</title><rect x="5.9276%" y="629" width="0.4368%" height="15" fill="rgb(209,103,24)" fg:x="9228516" fg:w="679979"/><text x="6.1776%" y="639.50"></text></g><g><title><flate2::mem::Decompress as flate2::zio::Ops>::run (679,979 samples, 0.44%)</title><rect x="5.9276%" y="613" width="0.4368%" height="15" fill="rgb(229,88,8)" fg:x="9228516" fg:w="679979"/><text x="6.1776%" y="623.50"></text></g><g><title>zlib_rs::stable::Inflate::decompress (679,979 samples, 0.44%)</title><rect x="5.9276%" y="597" width="0.4368%" height="15" fill="rgb(213,181,19)" fg:x="9228516" fg:w="679979"/><text x="6.1776%" y="607.50"></text></g><g><title>zlib_rs::inflate::inflate (679,979 samples, 0.44%)</title><rect x="5.9276%" y="581" width="0.4368%" height="15" fill="rgb(254,191,54)" fg:x="9228516" fg:w="679979"/><text x="6.1776%" y="591.50"></text></g><g><title>rayon::iter::plumbing::bridge_unindexed_producer_consumer (2,512,230 samples, 1.61%)</title><rect x="5.0728%" y="709" width="1.6136%" height="15" fill="rgb(241,83,37)" fg:x="7897769" fg:w="2512230"/><text x="5.3228%" y="719.50"></text></g><g><title>rayon_core::registry::in_worker (501,504 samples, 0.32%)</title><rect x="6.3643%" y="693" width="0.3221%" height="15" fill="rgb(233,36,39)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="703.50"></text></g><g><title>rayon_core::join::join_context::{{closure}} (501,504 samples, 0.32%)</title><rect x="6.3643%" y="677" width="0.3221%" height="15" fill="rgb(226,3,54)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="687.50"></text></g><g><title>rayon::iter::plumbing::bridge_unindexed_producer_consumer (501,504 samples, 0.32%)</title><rect x="6.3643%" y="661" width="0.3221%" height="15" fill="rgb(245,192,40)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="671.50"></text></g><g><title><&rayon::iter::par_bridge::IterParallelProducer<Iter> as rayon::iter::plumbing::UnindexedProducer>::fold_with (501,504 samples, 0.32%)</title><rect x="6.3643%" y="645" width="0.3221%" height="15" fill="rgb(238,167,29)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="655.50"></text></g><g><title><indicatif::rayon::ProgressFolder<C> as rayon::iter::plumbing::Folder<T>>::consume (501,504 samples, 0.32%)</title><rect x="6.3643%" y="629" width="0.3221%" height="15" fill="rgb(232,182,51)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="639.50"></text></g><g><title>db::db::connect (501,504 samples, 0.32%)</title><rect x="6.3643%" y="613" width="0.3221%" height="15" fill="rgb(231,60,39)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="623.50"></text></g><g><title><diesel::sqlite::connection::SqliteConnection as diesel::connection::SimpleConnection>::batch_execute (501,504 samples, 0.32%)</title><rect x="6.3643%" y="597" width="0.3221%" height="15" fill="rgb(208,69,12)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="607.50"></text></g><g><title>diesel::sqlite::connection::raw::RawConnection::exec (501,504 samples, 0.32%)</title><rect x="6.3643%" y="581" width="0.3221%" height="15" fill="rgb(235,93,37)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="591.50"></text></g><g><title>sqlite3_exec (501,504 samples, 0.32%)</title><rect x="6.3643%" y="565" width="0.3221%" height="15" fill="rgb(213,116,39)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="575.50"></text></g><g><title>sqlite3_prepare_v2 (501,504 samples, 0.32%)</title><rect x="6.3643%" y="549" width="0.3221%" height="15" fill="rgb(222,207,29)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="559.50"></text></g><g><title>sqlite3LockAndPrepare (501,504 samples, 0.32%)</title><rect x="6.3643%" y="533" width="0.3221%" height="15" fill="rgb(206,96,30)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="543.50"></text></g><g><title>sqlite3Prepare (501,504 samples, 0.32%)</title><rect x="6.3643%" y="517" width="0.3221%" height="15" fill="rgb(218,138,4)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="527.50"></text></g><g><title>sqlite3RunParser (501,504 samples, 0.32%)</title><rect x="6.3643%" y="501" width="0.3221%" height="15" fill="rgb(250,191,14)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="511.50"></text></g><g><title>yy_reduce.isra.0 (501,504 samples, 0.32%)</title><rect x="6.3643%" y="485" width="0.3221%" height="15" fill="rgb(239,60,40)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="495.50"></text></g><g><title>sqlite3Pragma (501,504 samples, 0.32%)</title><rect x="6.3643%" y="469" width="0.3221%" height="15" fill="rgb(206,27,48)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="479.50"></text></g><g><title>sqlite3ReadSchema (501,504 samples, 0.32%)</title><rect x="6.3643%" y="453" width="0.3221%" height="15" fill="rgb(225,35,8)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="463.50"></text></g><g><title>sqlite3Init (501,504 samples, 0.32%)</title><rect x="6.3643%" y="437" width="0.3221%" height="15" fill="rgb(250,213,24)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="447.50"></text></g><g><title>sqlite3InitOne (501,504 samples, 0.32%)</title><rect x="6.3643%" y="421" width="0.3221%" height="15" fill="rgb(247,123,22)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="431.50"></text></g><g><title>btreeBeginTrans (501,504 samples, 0.32%)</title><rect x="6.3643%" y="405" width="0.3221%" height="15" fill="rgb(231,138,38)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="415.50"></text></g><g><title>btreeGetPage (501,504 samples, 0.32%)</title><rect x="6.3643%" y="389" width="0.3221%" height="15" fill="rgb(231,145,46)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="399.50"></text></g><g><title>getPageNormal (501,504 samples, 0.32%)</title><rect x="6.3643%" y="373" width="0.3221%" height="15" fill="rgb(251,118,11)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="383.50"></text></g><g><title>pcache1FetchStage2 (501,504 samples, 0.32%)</title><rect x="6.3643%" y="357" width="0.3221%" height="15" fill="rgb(217,147,25)" fg:x="9908495" fg:w="501504"/><text x="6.6143%" y="367.50"></text></g><g><title>__GI___pthread_mutex_unlock_usercnt (869,878 samples, 0.56%)</title><rect x="7.2762%" y="389" width="0.5587%" height="15" fill="rgb(247,81,37)" fg:x="11328219" fg:w="869878"/><text x="7.5262%" y="399.50"></text></g><g><title>pcache1Destroy (1,708,933 samples, 1.10%)</title><rect x="7.8349%" y="357" width="1.0977%" height="15" fill="rgb(209,12,38)" fg:x="12198097" fg:w="1708933"/><text x="8.0849%" y="367.50"></text></g><g><title>pcache1EnforceMaxPage (1,708,933 samples, 1.10%)</title><rect x="7.8349%" y="341" width="1.0977%" height="15" fill="rgb(227,1,9)" fg:x="12198097" fg:w="1708933"/><text x="8.0849%" y="351.50"></text></g><g><title>sqlite3_free (1,708,933 samples, 1.10%)</title><rect x="7.8349%" y="325" width="1.0977%" height="15" fill="rgb(248,47,43)" fg:x="12198097" fg:w="1708933"/><text x="8.0849%" y="335.50"></text></g><g><title>_int_free_chunk (1,708,933 samples, 1.10%)</title><rect x="7.8349%" y="309" width="1.0977%" height="15" fill="rgb(221,10,30)" fg:x="12198097" fg:w="1708933"/><text x="8.0849%" y="319.50"></text></g><g><title>_int_free_maybe_consolidate.part.0 (1,708,933 samples, 1.10%)</title><rect x="7.8349%" y="293" width="1.0977%" height="15" fill="rgb(210,229,1)" fg:x="12198097" fg:w="1708933"/><text x="8.0849%" y="303.50"></text></g><g><title>malloc_consolidate (1,708,933 samples, 1.10%)</title><rect x="7.8349%" y="277" width="1.0977%" height="15" fill="rgb(222,148,37)" fg:x="12198097" fg:w="1708933"/><text x="8.0849%" y="287.50"></text></g><g><title>malloc_consolidate (827,944 samples, 0.53%)</title><rect x="9.3881%" y="277" width="0.5318%" height="15" fill="rgb(234,67,33)" fg:x="14616162" fg:w="827944"/><text x="9.6381%" y="287.50"></text></g><g><title>pcache1Truncate (2,839,838 samples, 1.82%)</title><rect x="8.9326%" y="357" width="1.8241%" height="15" fill="rgb(247,98,35)" fg:x="13907030" fg:w="2839838"/><text x="9.1826%" y="367.50">p..</text></g><g><title>pcache1TruncateUnsafe (2,839,838 samples, 1.82%)</title><rect x="8.9326%" y="341" width="1.8241%" height="15" fill="rgb(247,138,52)" fg:x="13907030" fg:w="2839838"/><text x="9.1826%" y="351.50">p..</text></g><g><title>sqlite3_free (2,130,706 samples, 1.37%)</title><rect x="9.3881%" y="325" width="1.3686%" height="15" fill="rgb(213,79,30)" fg:x="14616162" fg:w="2130706"/><text x="9.6381%" y="335.50"></text></g><g><title>_int_free_chunk (2,130,706 samples, 1.37%)</title><rect x="9.3881%" y="309" width="1.3686%" height="15" fill="rgb(246,177,23)" fg:x="14616162" fg:w="2130706"/><text x="9.6381%" y="319.50"></text></g><g><title>_int_free_maybe_consolidate.part.0 (2,130,706 samples, 1.37%)</title><rect x="9.3881%" y="293" width="1.3686%" height="15" fill="rgb(230,62,27)" fg:x="14616162" fg:w="2130706"/><text x="9.6381%" y="303.50"></text></g><g><title>unlink_chunk.isra.0 (1,302,762 samples, 0.84%)</title><rect x="9.9199%" y="277" width="0.8368%" height="15" fill="rgb(216,154,8)" fg:x="15444106" fg:w="1302762"/><text x="10.1699%" y="287.50"></text></g><g><title>sqlite3WalCheckpoint (1,202,432 samples, 0.77%)</title><rect x="10.7567%" y="341" width="0.7723%" height="15" fill="rgb(244,35,45)" fg:x="16746868" fg:w="1202432"/><text x="11.0067%" y="351.50"></text></g><g><title>fdatasync (1,202,432 samples, 0.77%)</title><rect x="10.7567%" y="325" width="0.7723%" height="15" fill="rgb(251,115,12)" fg:x="16746868" fg:w="1202432"/><text x="11.0067%" y="335.50"></text></g><g><title>__munmap (1,554,916 samples, 1.00%)</title><rect x="11.5290%" y="309" width="0.9987%" height="15" fill="rgb(240,54,50)" fg:x="17949300" fg:w="1554916"/><text x="11.7790%" y="319.50"></text></g><g><title>sqlite3_free (1,498,544 samples, 0.96%)</title><rect x="12.5277%" y="309" width="0.9625%" height="15" fill="rgb(233,84,52)" fg:x="19504216" fg:w="1498544"/><text x="12.7777%" y="319.50"></text></g><g><title>pthread_mutex_lock@@GLIBC_2.2.5 (1,498,544 samples, 0.96%)</title><rect x="12.5277%" y="293" width="0.9625%" height="15" fill="rgb(207,117,47)" fg:x="19504216" fg:w="1498544"/><text x="12.7777%" y="303.50"></text></g><g><title>sqlite3PagerClose.isra.0 (9,662,196 samples, 6.21%)</title><rect x="7.8349%" y="373" width="6.2061%" height="15" fill="rgb(249,43,39)" fg:x="12198097" fg:w="9662196"/><text x="8.0849%" y="383.50">sqlite3P..</text></g><g><title>sqlite3WalClose (5,113,425 samples, 3.28%)</title><rect x="10.7567%" y="357" width="3.2844%" height="15" fill="rgb(209,38,44)" fg:x="16746868" fg:w="5113425"/><text x="11.0067%" y="367.50">sql..</text></g><g><title>unixShmUnmap (3,910,993 samples, 2.51%)</title><rect x="11.5290%" y="341" width="2.5121%" height="15" fill="rgb(236,212,23)" fg:x="17949300" fg:w="3910993"/><text x="11.7790%" y="351.50">un..</text></g><g><title>unixShmPurge (3,910,993 samples, 2.51%)</title><rect x="11.5290%" y="325" width="2.5121%" height="15" fill="rgb(242,79,21)" fg:x="17949300" fg:w="3910993"/><text x="11.7790%" y="335.50">un..</text></g><g><title>unixGetpagesize (857,533 samples, 0.55%)</title><rect x="13.4903%" y="309" width="0.5508%" height="15" fill="rgb(211,96,35)" fg:x="21002760" fg:w="857533"/><text x="13.7403%" y="319.50"></text></g><g><title>__sysconf (857,533 samples, 0.55%)</title><rect x="13.4903%" y="293" width="0.5508%" height="15" fill="rgb(253,215,40)" fg:x="21002760" fg:w="857533"/><text x="13.7403%" y="303.50"></text></g><g><title><diesel::sqlite::connection::raw::RawConnection as core::ops::drop::Drop>::drop (12,562,857 samples, 8.07%)</title><rect x="6.6864%" y="437" width="8.0692%" height="15" fill="rgb(211,81,21)" fg:x="10409999" fg:w="12562857"/><text x="6.9364%" y="447.50"><diesel::sq..</text></g><g><title>sqlite3Close (11,644,637 samples, 7.48%)</title><rect x="7.2762%" y="421" width="7.4795%" height="15" fill="rgb(208,190,38)" fg:x="11328219" fg:w="11644637"/><text x="7.5262%" y="431.50">sqlite3Clo..</text></g><g><title>sqlite3LeaveMutexAndCloseZombie (11,644,637 samples, 7.48%)</title><rect x="7.2762%" y="405" width="7.4795%" height="15" fill="rgb(235,213,38)" fg:x="11328219" fg:w="11644637"/><text x="7.5262%" y="415.50">sqlite3Lea..</text></g><g><title>sqlite3BtreeClose.isra.0 (10,774,759 samples, 6.92%)</title><rect x="7.8349%" y="389" width="6.9207%" height="15" fill="rgb(237,122,38)" fg:x="12198097" fg:w="10774759"/><text x="8.0849%" y="399.50">sqlite3Bt..</text></g><g><title>sqlite3SchemaClear (1,112,563 samples, 0.71%)</title><rect x="14.0411%" y="373" width="0.7146%" height="15" fill="rgb(244,218,35)" fg:x="21860293" fg:w="1112563"/><text x="14.2911%" y="383.50"></text></g><g><title>deleteTable (1,112,563 samples, 0.71%)</title><rect x="14.0411%" y="357" width="0.7146%" height="15" fill="rgb(240,68,47)" fg:x="21860293" fg:w="1112563"/><text x="14.2911%" y="367.50"></text></g><g><title>sqlite3_free (1,112,563 samples, 0.71%)</title><rect x="14.0411%" y="341" width="0.7146%" height="15" fill="rgb(210,16,53)" fg:x="21860293" fg:w="1112563"/><text x="14.2911%" y="351.50"></text></g><g><title>_int_free_chunk (1,112,563 samples, 0.71%)</title><rect x="14.0411%" y="325" width="0.7146%" height="15" fill="rgb(235,124,12)" fg:x="21860293" fg:w="1112563"/><text x="14.2911%" y="335.50"></text></g><g><title>sqlite3_free (841,037 samples, 0.54%)</title><rect x="14.7557%" y="373" width="0.5402%" height="15" fill="rgb(224,169,11)" fg:x="22972856" fg:w="841037"/><text x="15.0057%" y="383.50"></text></g><g><title>cfree@GLIBC_2.2.5 (841,037 samples, 0.54%)</title><rect x="14.7557%" y="357" width="0.5402%" height="15" fill="rgb(250,166,2)" fg:x="22972856" fg:w="841037"/><text x="15.0057%" y="367.50"></text></g><g><title>core::ptr::drop_in_place<diesel::sqlite::connection::SqliteConnection> (14,481,464 samples, 9.30%)</title><rect x="6.6864%" y="453" width="9.3016%" height="15" fill="rgb(242,216,29)" fg:x="10409999" fg:w="14481464"/><text x="6.9364%" y="463.50">core::ptr::dr..</text></g><g><title><hashbrown::raw::RawTable<T,A> as core::ops::drop::Drop>::drop (1,918,607 samples, 1.23%)</title><rect x="14.7557%" y="437" width="1.2323%" height="15" fill="rgb(230,116,27)" fg:x="22972856" fg:w="1918607"/><text x="15.0057%" y="447.50"></text></g><g><title><diesel::sqlite::connection::stmt::Statement as core::ops::drop::Drop>::drop (1,918,607 samples, 1.23%)</title><rect x="14.7557%" y="421" width="1.2323%" height="15" fill="rgb(228,99,48)" fg:x="22972856" fg:w="1918607"/><text x="15.0057%" y="431.50"></text></g><g><title>sqlite3_finalize (1,918,607 samples, 1.23%)</title><rect x="14.7557%" y="405" width="1.2323%" height="15" fill="rgb(253,11,6)" fg:x="22972856" fg:w="1918607"/><text x="15.0057%" y="415.50"></text></g><g><title>sqlite3VdbeDelete (1,918,607 samples, 1.23%)</title><rect x="14.7557%" y="389" width="1.2323%" height="15" fill="rgb(247,143,39)" fg:x="22972856" fg:w="1918607"/><text x="15.0057%" y="399.50"></text></g><g><title>vdbeFreeOpArray (1,077,570 samples, 0.69%)</title><rect x="15.2959%" y="373" width="0.6921%" height="15" fill="rgb(236,97,10)" fg:x="23813893" fg:w="1077570"/><text x="15.5459%" y="383.50"></text></g><g><title>sqlite3_free (1,077,570 samples, 0.69%)</title><rect x="15.2959%" y="357" width="0.6921%" height="15" fill="rgb(233,208,19)" fg:x="23813893" fg:w="1077570"/><text x="15.5459%" y="367.50"></text></g><g><title>_int_free_chunk (1,077,570 samples, 0.69%)</title><rect x="15.2959%" y="341" width="0.6921%" height="15" fill="rgb(216,164,2)" fg:x="23813893" fg:w="1077570"/><text x="15.5459%" y="351.50"></text></g><g><title>diesel::connection::instrumentation::get_default_instrumentation (1,335,049 samples, 0.86%)</title><rect x="15.9880%" y="421" width="0.8575%" height="15" fill="rgb(220,129,5)" fg:x="24891463" fg:w="1335049"/><text x="16.2380%" y="431.50"></text></g><g><title>setupLookaside (1,026,983 samples, 0.66%)</title><rect x="16.8455%" y="389" width="0.6596%" height="15" fill="rgb(242,17,10)" fg:x="26226512" fg:w="1026983"/><text x="17.0955%" y="399.50"></text></g><g><title>sqlite3Malloc (1,026,983 samples, 0.66%)</title><rect x="16.8455%" y="373" width="0.6596%" height="15" fill="rgb(242,107,0)" fg:x="26226512" fg:w="1026983"/><text x="17.0955%" y="383.50"></text></g><g><title>sqlite3MemMalloc (1,026,983 samples, 0.66%)</title><rect x="16.8455%" y="357" width="0.6596%" height="15" fill="rgb(251,28,31)" fg:x="26226512" fg:w="1026983"/><text x="17.0955%" y="367.50"></text></g><g><title>__libc_malloc2 (1,026,983 samples, 0.66%)</title><rect x="16.8455%" y="341" width="0.6596%" height="15" fill="rgb(233,223,10)" fg:x="26226512" fg:w="1026983"/><text x="17.0955%" y="351.50"></text></g><g><title>_int_malloc (1,026,983 samples, 0.66%)</title><rect x="16.8455%" y="325" width="0.6596%" height="15" fill="rgb(215,21,27)" fg:x="26226512" fg:w="1026983"/><text x="17.0955%" y="335.50"></text></g><g><title>sqlite3BtreeOpen (990,467 samples, 0.64%)</title><rect x="17.5052%" y="389" width="0.6362%" height="15" fill="rgb(232,23,21)" fg:x="27253495" fg:w="990467"/><text x="17.7552%" y="399.50"></text></g><g><title>unixOpen (990,467 samples, 0.64%)</title><rect x="17.5052%" y="373" width="0.6362%" height="15" fill="rgb(244,5,23)" fg:x="27253495" fg:w="990467"/><text x="17.7552%" y="383.50"></text></g><g><title>sqlite3_create_module (1,042,935 samples, 0.67%)</title><rect x="18.1413%" y="373" width="0.6699%" height="15" fill="rgb(226,81,46)" fg:x="28243962" fg:w="1042935"/><text x="18.3913%" y="383.50"></text></g><g><title>sqlite3FindFunction (965,327 samples, 0.62%)</title><rect x="19.6604%" y="357" width="0.6200%" height="15" fill="rgb(247,70,30)" fg:x="30609020" fg:w="965327"/><text x="19.9104%" y="367.50"></text></g><g><title>__strlen_avx2 (965,327 samples, 0.62%)</title><rect x="19.6604%" y="341" width="0.6200%" height="15" fill="rgb(212,68,19)" fg:x="30609020" fg:w="965327"/><text x="19.9104%" y="351.50"></text></g><g><title>sqlite3Fts3Init (4,200,793 samples, 2.70%)</title><rect x="18.1413%" y="389" width="2.6982%" height="15" fill="rgb(240,187,13)" fg:x="28243962" fg:w="4200793"/><text x="18.3913%" y="399.50">sq..</text></g><g><title>sqlite3_overload_function (3,157,858 samples, 2.03%)</title><rect x="18.8112%" y="373" width="2.0283%" height="15" fill="rgb(223,113,26)" fg:x="29286897" fg:w="3157858"/><text x="19.0612%" y="383.50">s..</text></g><g><title>sqlite3_mprintf (870,408 samples, 0.56%)</title><rect x="20.2805%" y="357" width="0.5591%" height="15" fill="rgb(206,192,2)" fg:x="31574347" fg:w="870408"/><text x="20.5305%" y="367.50"></text></g><g><title>sqlite3_vmprintf (870,408 samples, 0.56%)</title><rect x="20.2805%" y="341" width="0.5591%" height="15" fill="rgb(241,108,4)" fg:x="31574347" fg:w="870408"/><text x="20.5305%" y="351.50"></text></g><g><title>strAccumFinishRealloc (870,408 samples, 0.56%)</title><rect x="20.2805%" y="325" width="0.5591%" height="15" fill="rgb(247,173,49)" fg:x="31574347" fg:w="870408"/><text x="20.5305%" y="335.50"></text></g><g><title>sqlite3Malloc (870,408 samples, 0.56%)</title><rect x="20.2805%" y="309" width="0.5591%" height="15" fill="rgb(224,114,35)" fg:x="31574347" fg:w="870408"/><text x="20.5305%" y="319.50"></text></g><g><title>sqlite3MemMalloc (870,408 samples, 0.56%)</title><rect x="20.2805%" y="293" width="0.5591%" height="15" fill="rgb(245,159,27)" fg:x="31574347" fg:w="870408"/><text x="20.5305%" y="303.50"></text></g><g><title>__libc_malloc2 (870,408 samples, 0.56%)</title><rect x="20.2805%" y="277" width="0.5591%" height="15" fill="rgb(245,172,44)" fg:x="31574347" fg:w="870408"/><text x="20.5305%" y="287.50"></text></g><g><title>fts5CreateAux (1,231,960 samples, 0.79%)</title><rect x="20.8395%" y="373" width="0.7913%" height="15" fill="rgb(236,23,11)" fg:x="32444755" fg:w="1231960"/><text x="21.0895%" y="383.50"></text></g><g><title>__strlen_avx2 (1,231,960 samples, 0.79%)</title><rect x="20.8395%" y="357" width="0.7913%" height="15" fill="rgb(205,117,38)" fg:x="32444755" fg:w="1231960"/><text x="21.0895%" y="367.50"></text></g><g><title>sqlite3Fts5Init (2,839,973 samples, 1.82%)</title><rect x="20.8395%" y="389" width="1.8241%" height="15" fill="rgb(237,72,25)" fg:x="32444755" fg:w="2839973"/><text x="21.0895%" y="399.50">s..</text></g><g><title>sqlite3_create_function (1,608,013 samples, 1.03%)</title><rect x="21.6308%" y="373" width="1.0328%" height="15" fill="rgb(244,70,9)" fg:x="33676715" fg:w="1608013"/><text x="21.8808%" y="383.50"></text></g><g><title>createFunctionApi (1,608,013 samples, 1.03%)</title><rect x="21.6308%" y="357" width="1.0328%" height="15" fill="rgb(217,125,39)" fg:x="33676715" fg:w="1608013"/><text x="21.8808%" y="367.50"></text></g><g><title>sqlite3CreateFunc (1,608,013 samples, 1.03%)</title><rect x="21.6308%" y="341" width="1.0328%" height="15" fill="rgb(235,36,10)" fg:x="33676715" fg:w="1608013"/><text x="21.8808%" y="351.50"></text></g><g><title>sqlite3FindFunction (501,504 samples, 0.32%)</title><rect x="22.3416%" y="325" width="0.3221%" height="15" fill="rgb(251,123,47)" fg:x="34783224" fg:w="501504"/><text x="22.5916%" y="335.50"></text></g><g><title>sqlite3HashInsert (501,504 samples, 0.32%)</title><rect x="22.3416%" y="309" width="0.3221%" height="15" fill="rgb(221,13,13)" fg:x="34783224" fg:w="501504"/><text x="22.5916%" y="319.50"></text></g><g><title>sqlite3DbMallocZero (1,213,206 samples, 0.78%)</title><rect x="23.6152%" y="309" width="0.7793%" height="15" fill="rgb(238,131,9)" fg:x="36766103" fg:w="1213206"/><text x="23.8652%" y="319.50"></text></g><g><title>dbMallocRawFinish (1,213,206 samples, 0.78%)</title><rect x="23.6152%" y="293" width="0.7793%" height="15" fill="rgb(211,50,8)" fg:x="36766103" fg:w="1213206"/><text x="23.8652%" y="303.50"></text></g><g><title>sqlite3Malloc (1,213,206 samples, 0.78%)</title><rect x="23.6152%" y="277" width="0.7793%" height="15" fill="rgb(245,182,24)" fg:x="36766103" fg:w="1213206"/><text x="23.8652%" y="287.50"></text></g><g><title>sqlite3MemMalloc (1,213,206 samples, 0.78%)</title><rect x="23.6152%" y="261" width="0.7793%" height="15" fill="rgb(242,14,37)" fg:x="36766103" fg:w="1213206"/><text x="23.8652%" y="271.50"></text></g><g><title>__libc_malloc2 (1,213,206 samples, 0.78%)</title><rect x="23.6152%" y="245" width="0.7793%" height="15" fill="rgb(246,228,12)" fg:x="36766103" fg:w="1213206"/><text x="23.8652%" y="255.50"></text></g><g><title>sqlite3RtreeInit (3,719,974 samples, 2.39%)</title><rect x="22.6637%" y="389" width="2.3894%" height="15" fill="rgb(213,55,15)" fg:x="35284728" fg:w="3719974"/><text x="22.9137%" y="399.50">sq..</text></g><g><title>sqlite3_create_function (3,719,974 samples, 2.39%)</title><rect x="22.6637%" y="373" width="2.3894%" height="15" fill="rgb(209,9,3)" fg:x="35284728" fg:w="3719974"/><text x="22.9137%" y="383.50">sq..</text></g><g><title>createFunctionApi (3,719,974 samples, 2.39%)</title><rect x="22.6637%" y="357" width="2.3894%" height="15" fill="rgb(230,59,30)" fg:x="35284728" fg:w="3719974"/><text x="22.9137%" y="367.50">cr..</text></g><g><title>sqlite3CreateFunc (3,719,974 samples, 2.39%)</title><rect x="22.6637%" y="341" width="2.3894%" height="15" fill="rgb(209,121,21)" fg:x="35284728" fg:w="3719974"/><text x="22.9137%" y="351.50">sq..</text></g><g><title>sqlite3FindFunction (3,719,974 samples, 2.39%)</title><rect x="22.6637%" y="325" width="2.3894%" height="15" fill="rgb(220,109,13)" fg:x="35284728" fg:w="3719974"/><text x="22.9137%" y="335.50">sq..</text></g><g><title>sqlite3HashInsert (1,025,393 samples, 0.66%)</title><rect x="24.3944%" y="309" width="0.6586%" height="15" fill="rgb(232,18,1)" fg:x="37979309" fg:w="1025393"/><text x="24.6444%" y="319.50"></text></g><g><title>diesel::sqlite::connection::raw::RawConnection::establish (13,401,569 samples, 8.61%)</title><rect x="16.8455%" y="421" width="8.6079%" height="15" fill="rgb(215,41,42)" fg:x="26226512" fg:w="13401569"/><text x="17.0955%" y="431.50">diesel::sqli..</text></g><g><title>openDatabase (13,401,569 samples, 8.61%)</title><rect x="16.8455%" y="405" width="8.6079%" height="15" fill="rgb(224,123,36)" fg:x="26226512" fg:w="13401569"/><text x="17.0955%" y="415.50">openDatabase</text></g><g><title>sqlite3_wal_autocheckpoint (623,379 samples, 0.40%)</title><rect x="25.0531%" y="389" width="0.4004%" height="15" fill="rgb(240,125,3)" fg:x="39004702" fg:w="623379"/><text x="25.3031%" y="399.50"></text></g><g><title>sqlite3_wal_hook (623,379 samples, 0.40%)</title><rect x="25.0531%" y="373" width="0.4004%" height="15" fill="rgb(205,98,50)" fg:x="39004702" fg:w="623379"/><text x="25.3031%" y="383.50"></text></g><g><title><&str as alloc::ffi::c_str::CString::new::SpecNewImpl>::spec_new_impl (843,610 samples, 0.54%)</title><rect x="25.4535%" y="405" width="0.5419%" height="15" fill="rgb(205,185,37)" fg:x="39628081" fg:w="843610"/><text x="25.7035%" y="415.50"></text></g><g><title>__memmove_avx_unaligned_erms (843,610 samples, 0.54%)</title><rect x="25.4535%" y="389" width="0.5419%" height="15" fill="rgb(238,207,15)" fg:x="39628081" fg:w="843610"/><text x="25.7035%" y="399.50"></text></g><g><title><diesel::sqlite::connection::SqliteConnection as diesel::connection::Connection>::establish (16,225,201 samples, 10.42%)</title><rect x="15.9880%" y="437" width="10.4216%" height="15" fill="rgb(213,199,42)" fg:x="24891463" fg:w="16225201"/><text x="16.2380%" y="447.50"><diesel::sqlite..</text></g><g><title>diesel::sqlite::connection::raw::RawConnection::register_sql_function (1,488,583 samples, 0.96%)</title><rect x="25.4535%" y="421" width="0.9561%" height="15" fill="rgb(235,201,11)" fg:x="39628081" fg:w="1488583"/><text x="25.7035%" y="431.50"></text></g><g><title>sqlite3_create_function_v2 (644,973 samples, 0.41%)</title><rect x="25.9953%" y="405" width="0.4143%" height="15" fill="rgb(207,46,11)" fg:x="40471691" fg:w="644973"/><text x="26.2453%" y="415.50"></text></g><g><title>createFunctionApi (644,973 samples, 0.41%)</title><rect x="25.9953%" y="389" width="0.4143%" height="15" fill="rgb(241,35,35)" fg:x="40471691" fg:w="644973"/><text x="26.2453%" y="399.50"></text></g><g><title>sqlite3CreateFunc (644,973 samples, 0.41%)</title><rect x="25.9953%" y="373" width="0.4143%" height="15" fill="rgb(243,32,47)" fg:x="40471691" fg:w="644973"/><text x="26.2453%" y="383.50"></text></g><g><title>sqlite3FindFunction (644,973 samples, 0.41%)</title><rect x="25.9953%" y="357" width="0.4143%" height="15" fill="rgb(247,202,23)" fg:x="40471691" fg:w="644973"/><text x="26.2453%" y="367.50"></text></g><g><title>sqlite3HashInsert (644,973 samples, 0.41%)</title><rect x="25.9953%" y="341" width="0.4143%" height="15" fill="rgb(219,102,11)" fg:x="40471691" fg:w="644973"/><text x="26.2453%" y="351.50"></text></g><g><title>sqlite3Malloc (644,973 samples, 0.41%)</title><rect x="25.9953%" y="325" width="0.4143%" height="15" fill="rgb(243,110,44)" fg:x="40471691" fg:w="644973"/><text x="26.2453%" y="335.50"></text></g><g><title>pthread_mutex_lock@@GLIBC_2.2.5 (644,973 samples, 0.41%)</title><rect x="25.9953%" y="309" width="0.4143%" height="15" fill="rgb(222,74,54)" fg:x="40471691" fg:w="644973"/><text x="26.2453%" y="319.50"></text></g><g><title>sqlite3VdbeDelete (897,945 samples, 0.58%)</title><rect x="26.4096%" y="389" width="0.5768%" height="15" fill="rgb(216,99,12)" fg:x="41116664" fg:w="897945"/><text x="26.6596%" y="399.50"></text></g><g><title>vdbeFreeOpArray (897,945 samples, 0.58%)</title><rect x="26.4096%" y="373" width="0.5768%" height="15" fill="rgb(226,22,26)" fg:x="41116664" fg:w="897945"/><text x="26.6596%" y="383.50"></text></g><g><title>freeP4 (897,945 samples, 0.58%)</title><rect x="26.4096%" y="357" width="0.5768%" height="15" fill="rgb(217,163,10)" fg:x="41116664" fg:w="897945"/><text x="26.6596%" y="367.50"></text></g><g><title>sqlite3GetToken (1,364,872 samples, 0.88%)</title><rect x="27.8177%" y="325" width="0.8767%" height="15" fill="rgb(213,25,53)" fg:x="43308947" fg:w="1364872"/><text x="28.0677%" y="335.50"></text></g><g><title>sqlite3FinishCoding (706,057 samples, 0.45%)</title><rect x="28.6944%" y="309" width="0.4535%" height="15" fill="rgb(252,105,26)" fg:x="44673819" fg:w="706057"/><text x="28.9444%" y="319.50"></text></g><g><title>sqlite3VdbeMakeReady (706,057 samples, 0.45%)</title><rect x="28.6944%" y="293" width="0.4535%" height="15" fill="rgb(220,39,43)" fg:x="44673819" fg:w="706057"/><text x="28.9444%" y="303.50"></text></g><g><title>resolveP2Values (706,057 samples, 0.45%)</title><rect x="28.6944%" y="277" width="0.4535%" height="15" fill="rgb(229,68,48)" fg:x="44673819" fg:w="706057"/><text x="28.9444%" y="287.50"></text></g><g><title>pagerPagecount (932,498 samples, 0.60%)</title><rect x="29.7517%" y="213" width="0.5990%" height="15" fill="rgb(252,8,32)" fg:x="46319880" fg:w="932498"/><text x="30.0017%" y="223.50"></text></g><g><title>unixFileSize (932,498 samples, 0.60%)</title><rect x="29.7517%" y="197" width="0.5990%" height="15" fill="rgb(223,20,43)" fg:x="46319880" fg:w="932498"/><text x="30.0017%" y="207.50"></text></g><g><title>__fstat64 (932,498 samples, 0.60%)</title><rect x="29.7517%" y="181" width="0.5990%" height="15" fill="rgb(229,81,49)" fg:x="46319880" fg:w="932498"/><text x="30.0017%" y="191.50"></text></g><g><title>pager_wait_on_lock (792,376 samples, 0.51%)</title><rect x="30.3506%" y="213" width="0.5089%" height="15" fill="rgb(236,28,36)" fg:x="47252378" fg:w="792376"/><text x="30.6006%" y="223.50"></text></g><g><title>unixLock (792,376 samples, 0.51%)</title><rect x="30.3506%" y="197" width="0.5089%" height="15" fill="rgb(249,185,26)" fg:x="47252378" fg:w="792376"/><text x="30.6006%" y="207.50"></text></g><g><title>__libc_fcntl64 (792,376 samples, 0.51%)</title><rect x="30.3506%" y="181" width="0.5089%" height="15" fill="rgb(249,174,33)" fg:x="47252378" fg:w="792376"/><text x="30.6006%" y="191.50"></text></g><g><title>__fcntl64_nocancel_adjusted (792,376 samples, 0.51%)</title><rect x="30.3506%" y="165" width="0.5089%" height="15" fill="rgb(233,201,37)" fg:x="47252378" fg:w="792376"/><text x="30.6006%" y="175.50"></text></g><g><title>btreeBeginTrans (3,166,382 samples, 2.03%)</title><rect x="29.1479%" y="245" width="2.0338%" height="15" fill="rgb(221,78,26)" fg:x="45379876" fg:w="3166382"/><text x="29.3979%" y="255.50">b..</text></g><g><title>sqlite3PagerSharedLock (3,166,382 samples, 2.03%)</title><rect x="29.1479%" y="229" width="2.0338%" height="15" fill="rgb(250,127,30)" fg:x="45379876" fg:w="3166382"/><text x="29.3979%" y="239.50">s..</text></g><g><title>walTryBeginRead (501,504 samples, 0.32%)</title><rect x="30.8596%" y="213" width="0.3221%" height="15" fill="rgb(230,49,44)" fg:x="48044754" fg:w="501504"/><text x="31.1096%" y="223.50"></text></g><g><title>walIndexReadHdr (501,504 samples, 0.32%)</title><rect x="30.8596%" y="197" width="0.3221%" height="15" fill="rgb(229,67,23)" fg:x="48044754" fg:w="501504"/><text x="31.1096%" y="207.50"></text></g><g><title>walIndexPageRealloc (501,504 samples, 0.32%)</title><rect x="30.8596%" y="181" width="0.3221%" height="15" fill="rgb(249,83,47)" fg:x="48044754" fg:w="501504"/><text x="31.1096%" y="191.50"></text></g><g><title>sqlite3Malloc (501,504 samples, 0.32%)</title><rect x="30.8596%" y="165" width="0.3221%" height="15" fill="rgb(215,43,3)" fg:x="48044754" fg:w="501504"/><text x="31.1096%" y="175.50"></text></g><g><title>sqlite3AddColumn (808,404 samples, 0.52%)</title><rect x="31.1817%" y="181" width="0.5192%" height="15" fill="rgb(238,154,13)" fg:x="48546258" fg:w="808404"/><text x="31.4317%" y="191.50"></text></g><g><title>sqlite3InitCallback (2,528,650 samples, 1.62%)</title><rect x="31.1817%" y="245" width="1.6242%" height="15" fill="rgb(219,56,2)" fg:x="48546258" fg:w="2528650"/><text x="31.4317%" y="255.50"></text></g><g><title>sqlite3Prepare (2,528,650 samples, 1.62%)</title><rect x="31.1817%" y="229" width="1.6242%" height="15" fill="rgb(233,0,4)" fg:x="48546258" fg:w="2528650"/><text x="31.4317%" y="239.50"></text></g><g><title>sqlite3RunParser (2,528,650 samples, 1.62%)</title><rect x="31.1817%" y="213" width="1.6242%" height="15" fill="rgb(235,30,7)" fg:x="48546258" fg:w="2528650"/><text x="31.4317%" y="223.50"></text></g><g><title>yy_reduce.isra.0 (2,528,650 samples, 1.62%)</title><rect x="31.1817%" y="197" width="1.6242%" height="15" fill="rgb(250,79,13)" fg:x="48546258" fg:w="2528650"/><text x="31.4317%" y="207.50"></text></g><g><title>sqlite3StartTable (1,720,246 samples, 1.10%)</title><rect x="31.7009%" y="181" width="1.1049%" height="15" fill="rgb(211,146,34)" fg:x="49354662" fg:w="1720246"/><text x="31.9509%" y="191.50"></text></g><g><title>sqlite3DbStrDup (853,088 samples, 0.55%)</title><rect x="32.2579%" y="165" width="0.5479%" height="15" fill="rgb(228,22,38)" fg:x="50221820" fg:w="853088"/><text x="32.5079%" y="175.50"></text></g><g><title>sqlite3DbMallocRawNN (853,088 samples, 0.55%)</title><rect x="32.2579%" y="149" width="0.5479%" height="15" fill="rgb(235,168,5)" fg:x="50221820" fg:w="853088"/><text x="32.5079%" y="159.50"></text></g><g><title>sqlite3GetToken (2,020,668 samples, 1.30%)</title><rect x="32.8059%" y="181" width="1.2979%" height="15" fill="rgb(221,155,16)" fg:x="51074908" fg:w="2020668"/><text x="33.0559%" y="191.50"></text></g><g><title>sqlite3AddPrimaryKey (1,309,420 samples, 0.84%)</title><rect x="34.1037%" y="165" width="0.8411%" height="15" fill="rgb(215,215,53)" fg:x="53095576" fg:w="1309420"/><text x="34.3537%" y="175.50"></text></g><g><title>sqlite3CreateIndex (1,309,420 samples, 0.84%)</title><rect x="34.1037%" y="149" width="0.8411%" height="15" fill="rgb(223,4,10)" fg:x="53095576" fg:w="1309420"/><text x="34.3537%" y="159.50"></text></g><g><title>sqlite3MPrintf (853,088 samples, 0.55%)</title><rect x="34.3969%" y="133" width="0.5479%" height="15" fill="rgb(234,103,6)" fg:x="53551908" fg:w="853088"/><text x="34.6469%" y="143.50"></text></g><g><title>sqlite3VMPrintf (853,088 samples, 0.55%)</title><rect x="34.3969%" y="117" width="0.5479%" height="15" fill="rgb(227,97,0)" fg:x="53551908" fg:w="853088"/><text x="34.6469%" y="127.50"></text></g><g><title>strAccumFinishRealloc (853,088 samples, 0.55%)</title><rect x="34.3969%" y="101" width="0.5479%" height="15" fill="rgb(234,150,53)" fg:x="53551908" fg:w="853088"/><text x="34.6469%" y="111.50"></text></g><g><title>dbMallocRawFinish (853,088 samples, 0.55%)</title><rect x="34.3969%" y="85" width="0.5479%" height="15" fill="rgb(228,201,54)" fg:x="53551908" fg:w="853088"/><text x="34.6469%" y="95.50"></text></g><g><title>sqlite3Malloc (853,088 samples, 0.55%)</title><rect x="34.3969%" y="69" width="0.5479%" height="15" fill="rgb(222,22,37)" fg:x="53551908" fg:w="853088"/><text x="34.6469%" y="79.50"></text></g><g><title>sqlite3MemMalloc (853,088 samples, 0.55%)</title><rect x="34.3969%" y="53" width="0.5479%" height="15" fill="rgb(237,53,32)" fg:x="53551908" fg:w="853088"/><text x="34.6469%" y="63.50"></text></g><g><title>malloc (853,088 samples, 0.55%)</title><rect x="34.3969%" y="37" width="0.5479%" height="15" fill="rgb(233,25,53)" fg:x="53551908" fg:w="853088"/><text x="34.6469%" y="47.50"></text></g><g><title>sqlite3EndTable (881,828 samples, 0.57%)</title><rect x="34.9448%" y="165" width="0.5664%" height="15" fill="rgb(210,40,34)" fg:x="54404996" fg:w="881828"/><text x="35.1948%" y="175.50"></text></g><g><title>sqlite3ShadowTableName (881,828 samples, 0.57%)</title><rect x="34.9448%" y="149" width="0.5664%" height="15" fill="rgb(241,220,44)" fg:x="54404996" fg:w="881828"/><text x="35.1948%" y="159.50"></text></g><g><title>sqlite3FindTable (881,828 samples, 0.57%)</title><rect x="34.9448%" y="133" width="0.5664%" height="15" fill="rgb(235,28,35)" fg:x="54404996" fg:w="881828"/><text x="35.1948%" y="143.50"></text></g><g><title>findElementWithHash (881,828 samples, 0.57%)</title><rect x="34.9448%" y="117" width="0.5664%" height="15" fill="rgb(210,56,17)" fg:x="54404996" fg:w="881828"/><text x="35.1948%" y="127.50"></text></g><g><title>sqlite3InitCallback (6,437,347 samples, 4.13%)</title><rect x="32.8059%" y="229" width="4.1348%" height="15" fill="rgb(224,130,29)" fg:x="51074908" fg:w="6437347"/><text x="33.0559%" y="239.50">sqlit..</text></g><g><title>sqlite3Prepare (6,437,347 samples, 4.13%)</title><rect x="32.8059%" y="213" width="4.1348%" height="15" fill="rgb(235,212,8)" fg:x="51074908" fg:w="6437347"/><text x="33.0559%" y="223.50">sqlit..</text></g><g><title>sqlite3RunParser (6,437,347 samples, 4.13%)</title><rect x="32.8059%" y="197" width="4.1348%" height="15" fill="rgb(223,33,50)" fg:x="51074908" fg:w="6437347"/><text x="33.0559%" y="207.50">sqlit..</text></g><g><title>yy_reduce.isra.0 (4,416,679 samples, 2.84%)</title><rect x="34.1037%" y="181" width="2.8369%" height="15" fill="rgb(219,149,13)" fg:x="53095576" fg:w="4416679"/><text x="34.3537%" y="191.50">yy..</text></g><g><title>sqlite3StartTable (2,225,431 samples, 1.43%)</title><rect x="35.5112%" y="165" width="1.4294%" height="15" fill="rgb(250,156,29)" fg:x="55286824" fg:w="2225431"/><text x="35.7612%" y="175.50"></text></g><g><title>sqlite3CheckObjectName (2,225,431 samples, 1.43%)</title><rect x="35.5112%" y="149" width="1.4294%" height="15" fill="rgb(216,193,19)" fg:x="55286824" fg:w="2225431"/><text x="35.7612%" y="159.50"></text></g><g><title>sqlite3_stricmp (2,225,431 samples, 1.43%)</title><rect x="35.5112%" y="133" width="1.4294%" height="15" fill="rgb(216,135,14)" fg:x="55286824" fg:w="2225431"/><text x="35.7612%" y="143.50"></text></g><g><title>sqlite3_column_text (940,004 samples, 0.60%)</title><rect x="36.9406%" y="229" width="0.6038%" height="15" fill="rgb(241,47,5)" fg:x="57512255" fg:w="940004"/><text x="37.1906%" y="239.50"></text></g><g><title>valueToText (940,004 samples, 0.60%)</title><rect x="36.9406%" y="213" width="0.6038%" height="15" fill="rgb(233,42,35)" fg:x="57512255" fg:w="940004"/><text x="37.1906%" y="223.50"></text></g><g><title>sqlite3Select (4,223,649 samples, 2.71%)</title><rect x="39.0867%" y="149" width="2.7129%" height="15" fill="rgb(231,13,6)" fg:x="60853499" fg:w="4223649"/><text x="39.3367%" y="159.50">sq..</text></g><g><title>sqlite3GenerateColumnNames (1,133,298 samples, 0.73%)</title><rect x="41.0717%" y="133" width="0.7279%" height="15" fill="rgb(207,181,40)" fg:x="63943850" fg:w="1133298"/><text x="41.3217%" y="143.50"></text></g><g><title>sqlite3VdbeMemSetStr (1,133,298 samples, 0.73%)</title><rect x="41.0717%" y="117" width="0.7279%" height="15" fill="rgb(254,173,49)" fg:x="63943850" fg:w="1133298"/><text x="41.3217%" y="127.50"></text></g><g><title>__memmove_avx_unaligned_erms (1,133,298 samples, 0.73%)</title><rect x="41.0717%" y="101" width="0.7279%" height="15" fill="rgb(221,1,38)" fg:x="63943850" fg:w="1133298"/><text x="41.3217%" y="111.50"></text></g><g><title>sqlite3_prepare_v2 (7,667,824 samples, 4.93%)</title><rect x="37.5444%" y="229" width="4.9251%" height="15" fill="rgb(206,124,46)" fg:x="58452259" fg:w="7667824"/><text x="37.7944%" y="239.50">sqlite..</text></g><g><title>sqlite3LockAndPrepare (7,667,824 samples, 4.93%)</title><rect x="37.5444%" y="213" width="4.9251%" height="15" fill="rgb(249,21,11)" fg:x="58452259" fg:w="7667824"/><text x="37.7944%" y="223.50">sqlite..</text></g><g><title>sqlite3Prepare (7,667,824 samples, 4.93%)</title><rect x="37.5444%" y="197" width="4.9251%" height="15" fill="rgb(222,201,40)" fg:x="58452259" fg:w="7667824"/><text x="37.7944%" y="207.50">sqlite..</text></g><g><title>sqlite3RunParser (7,667,824 samples, 4.93%)</title><rect x="37.5444%" y="181" width="4.9251%" height="15" fill="rgb(235,61,29)" fg:x="58452259" fg:w="7667824"/><text x="37.7944%" y="191.50">sqlite..</text></g><g><title>yy_reduce.isra.0 (5,266,584 samples, 3.38%)</title><rect x="39.0867%" y="165" width="3.3828%" height="15" fill="rgb(219,207,3)" fg:x="60853499" fg:w="5266584"/><text x="39.3367%" y="175.50">yy_..</text></g><g><title>sqlite3SrcListAppendFromTerm (1,042,935 samples, 0.67%)</title><rect x="41.7996%" y="149" width="0.6699%" height="15" fill="rgb(222,56,46)" fg:x="65077148" fg:w="1042935"/><text x="42.0496%" y="159.50"></text></g><g><title>sqlite3BtreeNext.isra.0 (1,058,960 samples, 0.68%)</title><rect x="42.4695%" y="197" width="0.6802%" height="15" fill="rgb(239,76,54)" fg:x="66120083" fg:w="1058960"/><text x="42.7195%" y="207.50"></text></g><g><title>sqlite3BtreeCommitPhaseTwo (1,322,123 samples, 0.85%)</title><rect x="43.1497%" y="181" width="0.8492%" height="15" fill="rgb(231,124,27)" fg:x="67179043" fg:w="1322123"/><text x="43.3997%" y="191.50"></text></g><g><title>pager_unlock (1,322,123 samples, 0.85%)</title><rect x="43.1497%" y="165" width="0.8492%" height="15" fill="rgb(249,195,6)" fg:x="67179043" fg:w="1322123"/><text x="43.3997%" y="175.50"></text></g><g><title>sqlite3WalEndReadTransaction.part.0 (1,322,123 samples, 0.85%)</title><rect x="43.1497%" y="149" width="0.8492%" height="15" fill="rgb(237,174,47)" fg:x="67179043" fg:w="1322123"/><text x="43.3997%" y="159.50"></text></g><g><title>unixShmLock (1,322,123 samples, 0.85%)</title><rect x="43.1497%" y="133" width="0.8492%" height="15" fill="rgb(206,201,31)" fg:x="67179043" fg:w="1322123"/><text x="43.3997%" y="143.50"></text></g><g><title>sqlite3_prepare_v2 (27,573,568 samples, 17.71%)</title><rect x="26.9863%" y="389" width="17.7107%" height="15" fill="rgb(231,57,52)" fg:x="42014609" fg:w="27573568"/><text x="27.2363%" y="399.50">sqlite3_prepare_v2</text></g><g><title>sqlite3LockAndPrepare (27,573,568 samples, 17.71%)</title><rect x="26.9863%" y="373" width="17.7107%" height="15" fill="rgb(248,177,22)" fg:x="42014609" fg:w="27573568"/><text x="27.2363%" y="383.50">sqlite3LockAndPrepare</text></g><g><title>sqlite3Prepare (27,573,568 samples, 17.71%)</title><rect x="26.9863%" y="357" width="17.7107%" height="15" fill="rgb(215,211,37)" fg:x="42014609" fg:w="27573568"/><text x="27.2363%" y="367.50">sqlite3Prepare</text></g><g><title>sqlite3RunParser (27,573,568 samples, 17.71%)</title><rect x="26.9863%" y="341" width="17.7107%" height="15" fill="rgb(241,128,51)" fg:x="42014609" fg:w="27573568"/><text x="27.2363%" y="351.50">sqlite3RunParser</text></g><g><title>yy_reduce.isra.0 (24,914,358 samples, 16.00%)</title><rect x="28.6944%" y="325" width="16.0027%" height="15" fill="rgb(227,165,31)" fg:x="44673819" fg:w="24914358"/><text x="28.9444%" y="335.50">yy_reduce.isra.0</text></g><g><title>sqlite3Pragma (24,208,301 samples, 15.55%)</title><rect x="29.1479%" y="309" width="15.5492%" height="15" fill="rgb(228,167,24)" fg:x="45379876" fg:w="24208301"/><text x="29.3979%" y="319.50">sqlite3Pragma</text></g><g><title>sqlite3ReadSchema (24,208,301 samples, 15.55%)</title><rect x="29.1479%" y="293" width="15.5492%" height="15" fill="rgb(228,143,12)" fg:x="45379876" fg:w="24208301"/><text x="29.3979%" y="303.50">sqlite3ReadSchema</text></g><g><title>sqlite3Init (24,208,301 samples, 15.55%)</title><rect x="29.1479%" y="277" width="15.5492%" height="15" fill="rgb(249,149,8)" fg:x="45379876" fg:w="24208301"/><text x="29.3979%" y="287.50">sqlite3Init</text></g><g><title>sqlite3InitOne (24,208,301 samples, 15.55%)</title><rect x="29.1479%" y="261" width="15.5492%" height="15" fill="rgb(243,35,44)" fg:x="45379876" fg:w="24208301"/><text x="29.3979%" y="271.50">sqlite3InitOne</text></g><g><title>sqlite3_exec (18,513,269 samples, 11.89%)</title><rect x="32.8059%" y="245" width="11.8912%" height="15" fill="rgb(246,89,9)" fg:x="51074908" fg:w="18513269"/><text x="33.0559%" y="255.50">sqlite3_exec</text></g><g><title>sqlite3_step (3,468,094 samples, 2.23%)</title><rect x="42.4695%" y="229" width="2.2276%" height="15" fill="rgb(233,213,13)" fg:x="66120083" fg:w="3468094"/><text x="42.7195%" y="239.50">s..</text></g><g><title>sqlite3VdbeExec (3,468,094 samples, 2.23%)</title><rect x="42.4695%" y="213" width="2.2276%" height="15" fill="rgb(233,141,41)" fg:x="66120083" fg:w="3468094"/><text x="42.7195%" y="223.50">s..</text></g><g><title>sqlite3VdbeHalt (2,409,134 samples, 1.55%)</title><rect x="43.1497%" y="197" width="1.5474%" height="15" fill="rgb(239,167,4)" fg:x="67179043" fg:w="2409134"/><text x="43.3997%" y="207.50"></text></g><g><title>sqlite3VdbeFreeCursorNN (1,087,011 samples, 0.70%)</title><rect x="43.9989%" y="181" width="0.6982%" height="15" fill="rgb(209,217,16)" fg:x="68501166" fg:w="1087011"/><text x="44.2489%" y="191.50"></text></g><g><title>db::db::connect (45,353,189 samples, 29.13%)</title><rect x="15.9880%" y="453" width="29.1307%" height="15" fill="rgb(219,88,35)" fg:x="24891463" fg:w="45353189"/><text x="16.2380%" y="463.50">db::db::connect</text></g><g><title><diesel::sqlite::connection::SqliteConnection as diesel::connection::SimpleConnection>::batch_execute (29,127,988 samples, 18.71%)</title><rect x="26.4096%" y="437" width="18.7092%" height="15" fill="rgb(220,193,23)" fg:x="41116664" fg:w="29127988"/><text x="26.6596%" y="447.50"><diesel::sqlite::connection::..</text></g><g><title>diesel::sqlite::connection::raw::RawConnection::exec (29,127,988 samples, 18.71%)</title><rect x="26.4096%" y="421" width="18.7092%" height="15" fill="rgb(230,90,52)" fg:x="41116664" fg:w="29127988"/><text x="26.6596%" y="431.50">diesel::sqlite::connection::r..</text></g><g><title>sqlite3_exec (29,127,988 samples, 18.71%)</title><rect x="26.4096%" y="405" width="18.7092%" height="15" fill="rgb(252,106,19)" fg:x="41116664" fg:w="29127988"/><text x="26.6596%" y="415.50">sqlite3_exec</text></g><g><title>sqlite3_step (656,475 samples, 0.42%)</title><rect x="44.6971%" y="389" width="0.4217%" height="15" fill="rgb(206,74,20)" fg:x="69588177" fg:w="656475"/><text x="44.9471%" y="399.50"></text></g><g><title>sqlite3VdbeExec (656,475 samples, 0.42%)</title><rect x="44.6971%" y="373" width="0.4217%" height="15" fill="rgb(230,138,44)" fg:x="69588177" fg:w="656475"/><text x="44.9471%" y="383.50"></text></g><g><title>sqlite3Checkpoint (656,475 samples, 0.42%)</title><rect x="44.6971%" y="357" width="0.4217%" height="15" fill="rgb(235,182,43)" fg:x="69588177" fg:w="656475"/><text x="44.9471%" y="367.50"></text></g><g><title>sqlite3WalCheckpoint (656,475 samples, 0.42%)</title><rect x="44.6971%" y="341" width="0.4217%" height="15" fill="rgb(242,16,51)" fg:x="69588177" fg:w="656475"/><text x="44.9471%" y="351.50"></text></g><g><title>cfree@GLIBC_2.2.5 (1,038,759 samples, 0.67%)</title><rect x="45.6795%" y="421" width="0.6672%" height="15" fill="rgb(248,9,4)" fg:x="71117631" fg:w="1038759"/><text x="45.9295%" y="431.50"></text></g><g><title>_int_free_chunk (5,204,256 samples, 3.34%)</title><rect x="46.3467%" y="373" width="3.3427%" height="15" fill="rgb(210,31,22)" fg:x="72156390" fg:w="5204256"/><text x="46.5967%" y="383.50">_in..</text></g><g><title>alloc::collections::btree::map::IntoIter<K,V,A>::dying_next (1,514,325 samples, 0.97%)</title><rect x="49.6894%" y="373" width="0.9727%" height="15" fill="rgb(239,54,39)" fg:x="77360646" fg:w="1514325"/><text x="49.9394%" y="383.50"></text></g><g><title>_int_free_chunk (448,032 samples, 0.29%)</title><rect x="50.3743%" y="357" width="0.2878%" height="15" fill="rgb(230,99,41)" fg:x="78426939" fg:w="448032"/><text x="50.6243%" y="367.50"></text></g><g><title>cfree@GLIBC_2.2.5 (1,091,913 samples, 0.70%)</title><rect x="50.6621%" y="373" width="0.7013%" height="15" fill="rgb(253,106,12)" fg:x="78874971" fg:w="1091913"/><text x="50.9121%" y="383.50"></text></g><g><title><alloc::collections::btree::map::BTreeMap<K,V,A> as core::ops::drop::Drop>::drop (10,933,067 samples, 7.02%)</title><rect x="45.1187%" y="437" width="7.0224%" height="15" fill="rgb(213,46,41)" fg:x="70244652" fg:w="10933067"/><text x="45.3687%" y="447.50"><alloc::c..</text></g><g><title>core::ptr::drop_in_place<serde_json::value::Value> (9,021,329 samples, 5.79%)</title><rect x="46.3467%" y="421" width="5.7945%" height="15" fill="rgb(215,133,35)" fg:x="72156390" fg:w="9021329"/><text x="46.5967%" y="431.50">core::p..</text></g><g><title><alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (9,021,329 samples, 5.79%)</title><rect x="46.3467%" y="405" width="5.7945%" height="15" fill="rgb(213,28,5)" fg:x="72156390" fg:w="9021329"/><text x="46.5967%" y="415.50"><alloc:..</text></g><g><title>core::ptr::drop_in_place<alloc::collections::btree::map::IntoIter<alloc::string::String,serde_json::value::Value>> (9,021,329 samples, 5.79%)</title><rect x="46.3467%" y="389" width="5.7945%" height="15" fill="rgb(215,77,49)" fg:x="72156390" fg:w="9021329"/><text x="46.5967%" y="399.50">core::p..</text></g><g><title>core::ptr::drop_in_place<serde_json::value::Value> (1,210,835 samples, 0.78%)</title><rect x="51.3634%" y="373" width="0.7777%" height="15" fill="rgb(248,100,22)" fg:x="79966884" fg:w="1210835"/><text x="51.6134%" y="383.50"></text></g><g><title><alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (1,210,835 samples, 0.78%)</title><rect x="51.3634%" y="357" width="0.7777%" height="15" fill="rgb(208,67,9)" fg:x="79966884" fg:w="1210835"/><text x="51.6134%" y="367.50"></text></g><g><title>core::ptr::drop_in_place<alloc::collections::btree::map::IntoIter<alloc::string::String,serde_json::value::Value>> (1,210,835 samples, 0.78%)</title><rect x="51.3634%" y="341" width="0.7777%" height="15" fill="rgb(219,133,21)" fg:x="79966884" fg:w="1210835"/><text x="51.6134%" y="351.50"></text></g><g><title>alloc::collections::btree::map::IntoIter<K,V,A>::dying_next (1,210,835 samples, 0.78%)</title><rect x="51.3634%" y="325" width="0.7777%" height="15" fill="rgb(246,46,29)" fg:x="79966884" fg:w="1210835"/><text x="51.6134%" y="335.50"></text></g><g><title>allocateCursor (1,182,090 samples, 0.76%)</title><rect x="54.6809%" y="373" width="0.7593%" height="15" fill="rgb(246,185,52)" fg:x="85131756" fg:w="1182090"/><text x="54.9309%" y="383.50"></text></g><g><title>sqlite3VdbeFreeCursorNN (1,182,090 samples, 0.76%)</title><rect x="54.6809%" y="357" width="0.7593%" height="15" fill="rgb(252,136,11)" fg:x="85131756" fg:w="1182090"/><text x="54.9309%" y="367.50"></text></g><g><title>btreeLast (2,209,826 samples, 1.42%)</title><rect x="55.4401%" y="373" width="1.4194%" height="15" fill="rgb(219,138,53)" fg:x="86313846" fg:w="2209826"/><text x="55.6901%" y="383.50"></text></g><g><title>moveToRoot (2,209,826 samples, 1.42%)</title><rect x="55.4401%" y="357" width="1.4194%" height="15" fill="rgb(211,51,23)" fg:x="86313846" fg:w="2209826"/><text x="55.6901%" y="367.50"></text></g><g><title>getAndInitPage (2,209,826 samples, 1.42%)</title><rect x="55.4401%" y="341" width="1.4194%" height="15" fill="rgb(247,221,28)" fg:x="86313846" fg:w="2209826"/><text x="55.6901%" y="351.50"></text></g><g><title>getPageNormal (2,209,826 samples, 1.42%)</title><rect x="55.4401%" y="325" width="1.4194%" height="15" fill="rgb(251,222,45)" fg:x="86313846" fg:w="2209826"/><text x="55.6901%" y="335.50"></text></g><g><title>pcache1FetchStage2 (2,209,826 samples, 1.42%)</title><rect x="55.4401%" y="309" width="1.4194%" height="15" fill="rgb(217,162,53)" fg:x="86313846" fg:w="2209826"/><text x="55.6901%" y="319.50"></text></g><g><title>sqlite3BlobCompare (1,554,916 samples, 1.00%)</title><rect x="56.8595%" y="373" width="0.9987%" height="15" fill="rgb(229,93,14)" fg:x="88523672" fg:w="1554916"/><text x="57.1095%" y="383.50"></text></g><g><title>sqlite3BtreeInsert (1,093,591 samples, 0.70%)</title><rect x="57.8583%" y="373" width="0.7024%" height="15" fill="rgb(209,67,49)" fg:x="90078588" fg:w="1093591"/><text x="58.1083%" y="383.50"></text></g><g><title>__memmove_avx_unaligned_erms (1,093,591 samples, 0.70%)</title><rect x="57.8583%" y="357" width="0.7024%" height="15" fill="rgb(213,87,29)" fg:x="90078588" fg:w="1093591"/><text x="58.1083%" y="367.50"></text></g><g><title>unixSync (1,083,125 samples, 0.70%)</title><rect x="58.5607%" y="309" width="0.6957%" height="15" fill="rgb(205,151,52)" fg:x="91172179" fg:w="1083125"/><text x="58.8107%" y="319.50"></text></g><g><title>robust_close (1,083,125 samples, 0.70%)</title><rect x="58.5607%" y="293" width="0.6957%" height="15" fill="rgb(253,215,39)" fg:x="91172179" fg:w="1083125"/><text x="58.8107%" y="303.50"></text></g><g><title>__close (1,083,125 samples, 0.70%)</title><rect x="58.5607%" y="277" width="0.6957%" height="15" fill="rgb(221,220,41)" fg:x="91172179" fg:w="1083125"/><text x="58.8107%" y="287.50"></text></g><g><title>__memset_avx2_unaligned_erms (1,468,681 samples, 0.94%)</title><rect x="59.2564%" y="293" width="0.9433%" height="15" fill="rgb(218,133,21)" fg:x="92255304" fg:w="1468681"/><text x="59.5064%" y="303.50"></text></g><g><title>walIndexAppend (2,261,057 samples, 1.45%)</title><rect x="59.2564%" y="309" width="1.4523%" height="15" fill="rgb(221,193,43)" fg:x="92255304" fg:w="2261057"/><text x="59.5064%" y="319.50"></text></g><g><title>memset@plt (792,376 samples, 0.51%)</title><rect x="60.1997%" y="293" width="0.5089%" height="15" fill="rgb(240,128,52)" fg:x="93723985" fg:w="792376"/><text x="60.4497%" y="303.50"></text></g><g><title>pagerWalFrames (4,287,746 samples, 2.75%)</title><rect x="58.5607%" y="325" width="2.7541%" height="15" fill="rgb(253,114,12)" fg:x="91172179" fg:w="4287746"/><text x="58.8107%" y="335.50">pa..</text></g><g><title>walWriteOneFrame.isra.0 (943,564 samples, 0.61%)</title><rect x="60.7087%" y="309" width="0.6061%" height="15" fill="rgb(215,223,47)" fg:x="94516361" fg:w="943564"/><text x="60.9587%" y="319.50"></text></g><g><title>walEncodeFrame (943,564 samples, 0.61%)</title><rect x="60.7087%" y="293" width="0.6061%" height="15" fill="rgb(248,225,23)" fg:x="94516361" fg:w="943564"/><text x="60.9587%" y="303.50"></text></g><g><title>walChecksumBytes (943,564 samples, 0.61%)</title><rect x="60.7087%" y="277" width="0.6061%" height="15" fill="rgb(250,108,0)" fg:x="94516361" fg:w="943564"/><text x="60.9587%" y="287.50"></text></g><g><title><diesel::sqlite::connection::SqliteConnection as diesel::connection::Connection>::execute_returning_count (14,927,179 samples, 9.59%)</title><rect x="52.1411%" y="437" width="9.5879%" height="15" fill="rgb(228,208,7)" fg:x="81177719" fg:w="14927179"/><text x="52.3911%" y="447.50"><diesel::sqlit..</text></g><g><title>diesel::sqlite::connection::stmt::StatementUse::run (14,927,179 samples, 9.59%)</title><rect x="52.1411%" y="421" width="9.5879%" height="15" fill="rgb(244,45,10)" fg:x="81177719" fg:w="14927179"/><text x="52.3911%" y="431.50">diesel::sqlite..</text></g><g><title>sqlite3_step (14,927,179 samples, 9.59%)</title><rect x="52.1411%" y="405" width="9.5879%" height="15" fill="rgb(207,125,25)" fg:x="81177719" fg:w="14927179"/><text x="52.3911%" y="415.50">sqlite3_step</text></g><g><title>sqlite3VdbeExec (13,744,389 samples, 8.83%)</title><rect x="52.9009%" y="389" width="8.8281%" height="15" fill="rgb(210,195,18)" fg:x="82360509" fg:w="13744389"/><text x="53.1509%" y="399.50">sqlite3VdbeE..</text></g><g><title>sqlite3VdbeHalt (4,932,719 samples, 3.17%)</title><rect x="58.5607%" y="373" width="3.1683%" height="15" fill="rgb(249,80,12)" fg:x="91172179" fg:w="4932719"/><text x="58.8107%" y="383.50">sql..</text></g><g><title>sqlite3BtreeCommitPhaseOne.part.0 (4,932,719 samples, 3.17%)</title><rect x="58.5607%" y="357" width="3.1683%" height="15" fill="rgb(221,65,9)" fg:x="91172179" fg:w="4932719"/><text x="58.8107%" y="367.50">sql..</text></g><g><title>sqlite3PagerCommitPhaseOne.part.0 (4,932,719 samples, 3.17%)</title><rect x="58.5607%" y="341" width="3.1683%" height="15" fill="rgb(235,49,36)" fg:x="91172179" fg:w="4932719"/><text x="58.8107%" y="351.50">sql..</text></g><g><title>walWriteOneFrame.isra.0 (644,973 samples, 0.41%)</title><rect x="61.3147%" y="325" width="0.4143%" height="15" fill="rgb(225,32,20)" fg:x="95459925" fg:w="644973"/><text x="61.5647%" y="335.50"></text></g><g><title>serde_core::ser::SerializeMap::serialize_entry (557,825 samples, 0.36%)</title><rect x="61.7290%" y="421" width="0.3583%" height="15" fill="rgb(215,141,46)" fg:x="96104898" fg:w="557825"/><text x="61.9790%" y="431.50"></text></g><g><title>serde_core::ser::Serializer::collect_seq (854,934 samples, 0.55%)</title><rect x="62.0873%" y="357" width="0.5491%" height="15" fill="rgb(250,160,47)" fg:x="96662723" fg:w="854934"/><text x="62.3373%" y="367.50"></text></g><g><title>serde_json::value::ser::<impl serde_core::ser::Serialize for serde_json::value::Value>::serialize (854,934 samples, 0.55%)</title><rect x="62.0873%" y="341" width="0.5491%" height="15" fill="rgb(216,222,40)" fg:x="96662723" fg:w="854934"/><text x="62.3373%" y="351.50"></text></g><g><title>serde_json::ser::format_escaped_str (854,934 samples, 0.55%)</title><rect x="62.0873%" y="325" width="0.5491%" height="15" fill="rgb(234,217,39)" fg:x="96662723" fg:w="854934"/><text x="62.3373%" y="335.50"></text></g><g><title><alloc::string::String as core::fmt::Write>::write_str (1,010,853 samples, 0.65%)</title><rect x="63.2476%" y="325" width="0.6493%" height="15" fill="rgb(207,178,40)" fg:x="98469159" fg:w="1010853"/><text x="63.4976%" y="335.50"></text></g><g><title>alloc::raw_vec::RawVecInner<A>::reserve::do_reserve_and_handle (1,010,853 samples, 0.65%)</title><rect x="63.2476%" y="309" width="0.6493%" height="15" fill="rgb(221,136,13)" fg:x="98469159" fg:w="1010853"/><text x="63.4976%" y="319.50"></text></g><g><title>alloc::raw_vec::RawVecInner<A>::finish_grow (1,010,853 samples, 0.65%)</title><rect x="63.2476%" y="293" width="0.6493%" height="15" fill="rgb(249,199,10)" fg:x="98469159" fg:w="1010853"/><text x="63.4976%" y="303.50"></text></g><g><title>realloc (1,010,853 samples, 0.65%)</title><rect x="63.2476%" y="277" width="0.6493%" height="15" fill="rgb(249,222,13)" fg:x="98469159" fg:w="1010853"/><text x="63.4976%" y="287.50"></text></g><g><title>_int_realloc (1,010,853 samples, 0.65%)</title><rect x="63.2476%" y="261" width="0.6493%" height="15" fill="rgb(244,185,38)" fg:x="98469159" fg:w="1010853"/><text x="63.4976%" y="271.50"></text></g><g><title>__memmove_avx_unaligned_erms (1,010,853 samples, 0.65%)</title><rect x="63.2476%" y="245" width="0.6493%" height="15" fill="rgb(236,202,9)" fg:x="98469159" fg:w="1010853"/><text x="63.4976%" y="255.50"></text></g><g><title>serde_core::ser::Serializer::collect_seq (4,577,800 samples, 2.94%)</title><rect x="62.0873%" y="389" width="2.9404%" height="15" fill="rgb(250,229,37)" fg:x="96662723" fg:w="4577800"/><text x="62.3373%" y="399.50">se..</text></g><g><title>serde_json::value::ser::<impl serde_core::ser::Serialize for serde_json::value::Value>::serialize (4,577,800 samples, 2.94%)</title><rect x="62.0873%" y="373" width="2.9404%" height="15" fill="rgb(206,174,23)" fg:x="96662723" fg:w="4577800"/><text x="62.3373%" y="383.50">se..</text></g><g><title>serde_json::ser::format_escaped_str (3,722,866 samples, 2.39%)</title><rect x="62.6364%" y="357" width="2.3912%" height="15" fill="rgb(211,33,43)" fg:x="97517657" fg:w="3722866"/><text x="62.8864%" y="367.50">se..</text></g><g><title>std::io::Write::write_all (2,771,364 samples, 1.78%)</title><rect x="63.2476%" y="341" width="1.7801%" height="15" fill="rgb(245,58,50)" fg:x="98469159" fg:w="2771364"/><text x="63.4976%" y="351.50">s..</text></g><g><title><core::fmt::Formatter as core::fmt::Write>::write_str (1,760,511 samples, 1.13%)</title><rect x="63.8969%" y="325" width="1.1308%" height="15" fill="rgb(244,68,36)" fg:x="99480012" fg:w="1760511"/><text x="64.1469%" y="335.50"></text></g><g><title><alloc::string::String as core::fmt::Write>::write_str (2,021,949 samples, 1.30%)</title><rect x="65.7848%" y="357" width="1.2987%" height="15" fill="rgb(232,229,15)" fg:x="102419242" fg:w="2021949"/><text x="66.0348%" y="367.50"></text></g><g><title>__memmove_avx_unaligned_erms (2,021,949 samples, 1.30%)</title><rect x="65.7848%" y="341" width="1.2987%" height="15" fill="rgb(254,30,23)" fg:x="102419242" fg:w="2021949"/><text x="66.0348%" y="351.50"></text></g><g><title>serde_json::ser::format_escaped_str (4,138,723 samples, 2.66%)</title><rect x="65.0277%" y="389" width="2.6583%" height="15" fill="rgb(235,160,14)" fg:x="101240523" fg:w="4138723"/><text x="65.2777%" y="399.50">se..</text></g><g><title>std::io::Write::write_all (2,960,004 samples, 1.90%)</title><rect x="65.7848%" y="373" width="1.9012%" height="15" fill="rgb(212,155,44)" fg:x="102419242" fg:w="2960004"/><text x="66.0348%" y="383.50">s..</text></g><g><title><core::fmt::Formatter as core::fmt::Write>::write_str (938,055 samples, 0.60%)</title><rect x="67.0835%" y="357" width="0.6025%" height="15" fill="rgb(226,2,50)" fg:x="104441191" fg:w="938055"/><text x="67.3335%" y="367.50"></text></g><g><title>serde_json::ser::format_escaped_str (1,613,455 samples, 1.04%)</title><rect x="67.6860%" y="373" width="1.0363%" height="15" fill="rgb(234,177,6)" fg:x="105379246" fg:w="1613455"/><text x="67.9360%" y="383.50"></text></g><g><title>serde_json::value::ser::<impl serde_core::ser::Serialize for serde_json::value::Value>::serialize (4,313,493 samples, 2.77%)</title><rect x="67.6860%" y="389" width="2.7706%" height="15" fill="rgb(217,24,9)" fg:x="105379246" fg:w="4313493"/><text x="67.9360%" y="399.50">se..</text></g><g><title>serde_json::value::ser::<impl serde_core::ser::Serialize for serde_json::value::Value>::serialize (2,700,038 samples, 1.73%)</title><rect x="68.7223%" y="373" width="1.7343%" height="15" fill="rgb(220,13,46)" fg:x="106992701" fg:w="2700038"/><text x="68.9723%" y="383.50"></text></g><g><title>serde_json::ser::format_escaped_str (2,700,038 samples, 1.73%)</title><rect x="68.7223%" y="357" width="1.7343%" height="15" fill="rgb(239,221,27)" fg:x="106992701" fg:w="2700038"/><text x="68.9723%" y="367.50"></text></g><g><title>std::io::Write::write_all (1,038,759 samples, 0.67%)</title><rect x="69.7894%" y="341" width="0.6672%" height="15" fill="rgb(222,198,25)" fg:x="108653980" fg:w="1038759"/><text x="70.0394%" y="351.50"></text></g><g><title><alloc::string::String as core::fmt::Write>::write_str (1,038,759 samples, 0.67%)</title><rect x="69.7894%" y="325" width="0.6672%" height="15" fill="rgb(211,99,13)" fg:x="108653980" fg:w="1038759"/><text x="70.0394%" y="335.50"></text></g><g><title>__memmove_avx_unaligned_erms (1,038,759 samples, 0.67%)</title><rect x="69.7894%" y="309" width="0.6672%" height="15" fill="rgb(232,111,31)" fg:x="108653980" fg:w="1038759"/><text x="70.0394%" y="319.50"></text></g><g><title>db::db::insert_word (41,233,075 samples, 26.48%)</title><rect x="45.1187%" y="453" width="26.4844%" height="15" fill="rgb(245,82,37)" fg:x="70244652" fg:w="41233075"/><text x="45.3687%" y="463.50">db::db::insert_word</text></g><g><title><serde_json::value::Value as core::fmt::Display>::fmt (15,372,829 samples, 9.87%)</title><rect x="61.7290%" y="437" width="9.8741%" height="15" fill="rgb(227,149,46)" fg:x="96104898" fg:w="15372829"/><text x="61.9790%" y="447.50"><serde_json::v..</text></g><g><title>serde_core::ser::Serializer::collect_seq (14,815,004 samples, 9.52%)</title><rect x="62.0873%" y="421" width="9.5158%" height="15" fill="rgb(218,36,50)" fg:x="96662723" fg:w="14815004"/><text x="62.3373%" y="431.50">serde_core::se..</text></g><g><title>serde_json::value::ser::<impl serde_core::ser::Serialize for serde_json::value::Value>::serialize (14,815,004 samples, 9.52%)</title><rect x="62.0873%" y="405" width="9.5158%" height="15" fill="rgb(226,80,48)" fg:x="96662723" fg:w="14815004"/><text x="62.3373%" y="415.50">serde_json::va..</text></g><g><title>std::io::Write::write_all (1,784,988 samples, 1.15%)</title><rect x="70.4566%" y="389" width="1.1465%" height="15" fill="rgb(238,224,15)" fg:x="109692739" fg:w="1784988"/><text x="70.7066%" y="399.50"></text></g><g><title><alloc::string::String as core::fmt::Write>::write_str (1,784,988 samples, 1.15%)</title><rect x="70.4566%" y="373" width="1.1465%" height="15" fill="rgb(241,136,10)" fg:x="109692739" fg:w="1784988"/><text x="70.7066%" y="383.50"></text></g><g><title>__memmove_avx_unaligned_erms (1,784,988 samples, 1.15%)</title><rect x="70.4566%" y="357" width="1.1465%" height="15" fill="rgb(208,32,45)" fg:x="109692739" fg:w="1784988"/><text x="70.7066%" y="367.50"></text></g><g><title>indicatif::progress_bar::ProgressBar::tick_inner (2,889,432 samples, 1.86%)</title><rect x="71.6031%" y="453" width="1.8559%" height="15" fill="rgb(207,135,9)" fg:x="111477727" fg:w="2889432"/><text x="71.8531%" y="463.50">i..</text></g><g><title>indicatif::state::BarState::update_estimate_and_draw (2,889,432 samples, 1.86%)</title><rect x="71.6031%" y="437" width="1.8559%" height="15" fill="rgb(206,86,44)" fg:x="111477727" fg:w="2889432"/><text x="71.8531%" y="447.50">i..</text></g><g><title>pow@@GLIBC_2.29 (2,889,432 samples, 1.86%)</title><rect x="71.6031%" y="421" width="1.8559%" height="15" fill="rgb(245,177,15)" fg:x="111477727" fg:w="2889432"/><text x="71.8531%" y="431.50">p..</text></g><g><title>__ieee754_pow_fma (1,539,727 samples, 0.99%)</title><rect x="72.4700%" y="405" width="0.9890%" height="15" fill="rgb(206,64,50)" fg:x="112827432" fg:w="1539727"/><text x="72.7200%" y="415.50"></text></g><g><title>alloc::raw_vec::RawVec<T,A>::grow_one (889,215 samples, 0.57%)</title><rect x="74.7571%" y="389" width="0.5712%" height="15" fill="rgb(234,36,40)" fg:x="116388107" fg:w="889215"/><text x="75.0071%" y="399.50"></text></g><g><title>alloc::raw_vec::RawVecInner<A>::finish_grow (889,215 samples, 0.57%)</title><rect x="74.7571%" y="373" width="0.5712%" height="15" fill="rgb(213,64,8)" fg:x="116388107" fg:w="889215"/><text x="75.0071%" y="383.50"></text></g><g><title>__libc_malloc2 (889,215 samples, 0.57%)</title><rect x="74.7571%" y="357" width="0.5712%" height="15" fill="rgb(210,75,36)" fg:x="116388107" fg:w="889215"/><text x="75.0071%" y="367.50"></text></g><g><title><serde_json::de::MapAccess<R> as serde_core::de::MapAccess>::next_key_seed::has_next_key (786,492 samples, 0.51%)</title><rect x="75.8527%" y="341" width="0.5052%" height="15" fill="rgb(229,88,21)" fg:x="118093799" fg:w="786492"/><text x="76.1027%" y="351.50"></text></g><g><title><serde_json::de::MapAccess<R> as serde_core::de::MapAccess>::next_key_seed (1,394,303 samples, 0.90%)</title><rect x="75.8527%" y="357" width="0.8956%" height="15" fill="rgb(252,204,47)" fg:x="118093799" fg:w="1394303"/><text x="76.1027%" y="367.50"></text></g><g><title>__libc_malloc2 (607,811 samples, 0.39%)</title><rect x="76.3578%" y="341" width="0.3904%" height="15" fill="rgb(208,77,27)" fg:x="118880291" fg:w="607811"/><text x="76.6078%" y="351.50"></text></g><g><title>_int_malloc (607,811 samples, 0.39%)</title><rect x="76.3578%" y="325" width="0.3904%" height="15" fill="rgb(221,76,26)" fg:x="118880291" fg:w="607811"/><text x="76.6078%" y="335.50"></text></g><g><title>alloc::collections::btree::map::BTreeMap<K,V,A>::insert (2,893,469 samples, 1.86%)</title><rect x="76.7482%" y="357" width="1.8585%" height="15" fill="rgb(225,139,18)" fg:x="119488102" fg:w="2893469"/><text x="76.9982%" y="367.50">a..</text></g><g><title>alloc::collections::btree::map::entry::VacantEntry<K,V,A>::insert_entry (2,893,469 samples, 1.86%)</title><rect x="76.7482%" y="341" width="1.8585%" height="15" fill="rgb(230,137,11)" fg:x="119488102" fg:w="2893469"/><text x="76.9982%" y="351.50">a..</text></g><g><title>alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::Leaf>,alloc::collections::btree::node::marker::Edge>::insert_recursing (2,893,469 samples, 1.86%)</title><rect x="76.7482%" y="325" width="1.8585%" height="15" fill="rgb(212,28,1)" fg:x="119488102" fg:w="2893469"/><text x="76.9982%" y="335.50">a..</text></g><g><title>__memmove_avx_unaligned_erms (1,713,388 samples, 1.10%)</title><rect x="77.5062%" y="309" width="1.1005%" height="15" fill="rgb(248,164,17)" fg:x="120668183" fg:w="1713388"/><text x="77.7562%" y="319.50"></text></g><g><title><serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize::ValueVisitor as serde_core::de::Visitor>::visit_map (1,417,641 samples, 0.91%)</title><rect x="78.6067%" y="341" width="0.9106%" height="15" fill="rgb(222,171,42)" fg:x="122381571" fg:w="1417641"/><text x="78.8567%" y="351.50"></text></g><g><title>alloc::collections::btree::map::BTreeMap<K,V,A>::insert (1,417,641 samples, 0.91%)</title><rect x="78.6067%" y="325" width="0.9106%" height="15" fill="rgb(243,84,45)" fg:x="122381571" fg:w="1417641"/><text x="78.8567%" y="335.50"></text></g><g><title>alloc::collections::btree::map::entry::VacantEntry<K,V,A>::insert_entry (1,417,641 samples, 0.91%)</title><rect x="78.6067%" y="309" width="0.9106%" height="15" fill="rgb(252,49,23)" fg:x="122381571" fg:w="1417641"/><text x="78.8567%" y="319.50"></text></g><g><title>alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::Leaf>,alloc::collections::btree::node::marker::Edge>::insert_recursing (1,417,641 samples, 0.91%)</title><rect x="78.6067%" y="293" width="0.9106%" height="15" fill="rgb(215,19,7)" fg:x="122381571" fg:w="1417641"/><text x="78.8567%" y="303.50"></text></g><g><title>__libc_malloc2 (1,886,098 samples, 1.21%)</title><rect x="79.5173%" y="341" width="1.2115%" height="15" fill="rgb(238,81,41)" fg:x="123799212" fg:w="1886098"/><text x="79.7673%" y="351.50"></text></g><g><title>_int_malloc (607,811 samples, 0.39%)</title><rect x="80.3384%" y="325" width="0.3904%" height="15" fill="rgb(210,199,37)" fg:x="125077499" fg:w="607811"/><text x="80.5884%" y="335.50"></text></g><g><title>alloc::raw_vec::RawVec<T,A>::grow_one (1,301,901 samples, 0.84%)</title><rect x="80.7288%" y="341" width="0.8362%" height="15" fill="rgb(244,192,49)" fg:x="125685310" fg:w="1301901"/><text x="80.9788%" y="351.50"></text></g><g><title>alloc::raw_vec::RawVecInner<A>::finish_grow (1,301,901 samples, 0.84%)</title><rect x="80.7288%" y="325" width="0.8362%" height="15" fill="rgb(226,211,11)" fg:x="125685310" fg:w="1301901"/><text x="80.9788%" y="335.50"></text></g><g><title>realloc (1,301,901 samples, 0.84%)</title><rect x="80.7288%" y="309" width="0.8362%" height="15" fill="rgb(236,162,54)" fg:x="125685310" fg:w="1301901"/><text x="80.9788%" y="319.50"></text></g><g><title>_int_realloc (1,301,901 samples, 0.84%)</title><rect x="80.7288%" y="293" width="0.8362%" height="15" fill="rgb(220,229,9)" fg:x="125685310" fg:w="1301901"/><text x="80.9788%" y="303.50"></text></g><g><title>_int_malloc (1,301,901 samples, 0.84%)</title><rect x="80.7288%" y="277" width="0.8362%" height="15" fill="rgb(250,87,22)" fg:x="125685310" fg:w="1301901"/><text x="80.9788%" y="287.50"></text></g><g><title>malloc (1,652,383 samples, 1.06%)</title><rect x="81.5650%" y="341" width="1.0613%" height="15" fill="rgb(239,43,17)" fg:x="126987211" fg:w="1652383"/><text x="81.8150%" y="351.50"></text></g><g><title><serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize::ValueVisitor as serde_core::de::Visitor>::visit_map (12,392,671 samples, 7.96%)</title><rect x="75.3282%" y="373" width="7.9599%" height="15" fill="rgb(231,177,25)" fg:x="117277322" fg:w="12392671"/><text x="75.5782%" y="383.50"><serde_json..</text></g><g><title>serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize (7,288,422 samples, 4.68%)</title><rect x="78.6067%" y="357" width="4.6814%" height="15" fill="rgb(219,179,1)" fg:x="122381571" fg:w="7288422"/><text x="78.8567%" y="367.50">serde..</text></g><g><title>serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize (1,030,399 samples, 0.66%)</title><rect x="82.6263%" y="341" width="0.6618%" height="15" fill="rgb(238,219,53)" fg:x="128639594" fg:w="1030399"/><text x="82.8763%" y="351.50"></text></g><g><title>alloc::raw_vec::RawVec<T,A>::grow_one (1,030,399 samples, 0.66%)</title><rect x="82.6263%" y="325" width="0.6618%" height="15" fill="rgb(232,167,36)" fg:x="128639594" fg:w="1030399"/><text x="82.8763%" y="335.50"></text></g><g><title>alloc::raw_vec::RawVecInner<A>::finish_grow (1,030,399 samples, 0.66%)</title><rect x="82.6263%" y="309" width="0.6618%" height="15" fill="rgb(244,19,51)" fg:x="128639594" fg:w="1030399"/><text x="82.8763%" y="319.50"></text></g><g><title>__libc_malloc2 (1,030,399 samples, 0.66%)</title><rect x="82.6263%" y="293" width="0.6618%" height="15" fill="rgb(224,6,22)" fg:x="128639594" fg:w="1030399"/><text x="82.8763%" y="303.50"></text></g><g><title><indicatif::rayon::ProgressFolder<C> as rayon::iter::plumbing::Folder<T>>::consume (119,761,498 samples, 76.92%)</title><rect x="6.6864%" y="469" width="76.9238%" height="15" fill="rgb(224,145,5)" fg:x="10409999" fg:w="119761498"/><text x="6.9364%" y="479.50"><indicatif::rayon::ProgressFolder<C> as rayon::iter::plumbing::Folder<T>>::consume</text></g><g><title>serde_json::de::from_trait (15,804,338 samples, 10.15%)</title><rect x="73.4590%" y="453" width="10.1513%" height="15" fill="rgb(234,130,49)" fg:x="114367159" fg:w="15804338"/><text x="73.7090%" y="463.50">serde_json::de:..</text></g><g><title>serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize (15,804,338 samples, 10.15%)</title><rect x="73.4590%" y="437" width="10.1513%" height="15" fill="rgb(254,6,2)" fg:x="114367159" fg:w="15804338"/><text x="73.7090%" y="447.50">serde_json::val..</text></g><g><title><serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize::ValueVisitor as serde_core::de::Visitor>::visit_map (15,804,338 samples, 10.15%)</title><rect x="73.4590%" y="421" width="10.1513%" height="15" fill="rgb(208,96,46)" fg:x="114367159" fg:w="15804338"/><text x="73.7090%" y="431.50"><serde_json::va..</text></g><g><title>serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize (15,804,338 samples, 10.15%)</title><rect x="73.4590%" y="405" width="10.1513%" height="15" fill="rgb(239,3,39)" fg:x="114367159" fg:w="15804338"/><text x="73.7090%" y="415.50">serde_json::val..</text></g><g><title>serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize (12,894,175 samples, 8.28%)</title><rect x="75.3282%" y="389" width="8.2820%" height="15" fill="rgb(233,210,1)" fg:x="117277322" fg:w="12894175"/><text x="75.5782%" y="399.50">serde_json::..</text></g><g><title>__libc_malloc2 (501,504 samples, 0.32%)</title><rect x="83.2882%" y="373" width="0.3221%" height="15" fill="rgb(244,137,37)" fg:x="129669993" fg:w="501504"/><text x="83.5382%" y="383.50"></text></g><g><title>_int_malloc (501,504 samples, 0.32%)</title><rect x="83.2882%" y="357" width="0.3221%" height="15" fill="rgb(240,136,2)" fg:x="129669993" fg:w="501504"/><text x="83.5382%" y="367.50"></text></g><g><title>zlib_rs::inflate::inflate_fast_help_avx2 (3,484,618 samples, 2.24%)</title><rect x="83.6103%" y="357" width="2.2382%" height="15" fill="rgb(239,18,37)" fg:x="130171497" fg:w="3484618"/><text x="83.8603%" y="367.50">z..</text></g><g><title><flate2::gz::bufread::GzDecoder<R> as std::io::Read>::read (4,328,228 samples, 2.78%)</title><rect x="83.6103%" y="437" width="2.7801%" height="15" fill="rgb(218,185,22)" fg:x="130171497" fg:w="4328228"/><text x="83.8603%" y="447.50"><f..</text></g><g><title>flate2::zio::read (4,328,228 samples, 2.78%)</title><rect x="83.6103%" y="421" width="2.7801%" height="15" fill="rgb(225,218,4)" fg:x="130171497" fg:w="4328228"/><text x="83.8603%" y="431.50">fl..</text></g><g><title><flate2::mem::Decompress as flate2::zio::Ops>::run (4,328,228 samples, 2.78%)</title><rect x="83.6103%" y="405" width="2.7801%" height="15" fill="rgb(230,182,32)" fg:x="130171497" fg:w="4328228"/><text x="83.8603%" y="415.50"><f..</text></g><g><title>zlib_rs::stable::Inflate::decompress (4,328,228 samples, 2.78%)</title><rect x="83.6103%" y="389" width="2.7801%" height="15" fill="rgb(242,56,43)" fg:x="130171497" fg:w="4328228"/><text x="83.8603%" y="399.50">zl..</text></g><g><title>zlib_rs::inflate::inflate (4,328,228 samples, 2.78%)</title><rect x="83.6103%" y="373" width="2.7801%" height="15" fill="rgb(233,99,24)" fg:x="130171497" fg:w="4328228"/><text x="83.8603%" y="383.50">zl..</text></g><g><title>zlib_rs::inflate::inftrees::inflate_table (843,610 samples, 0.54%)</title><rect x="85.8485%" y="357" width="0.5419%" height="15" fill="rgb(234,209,42)" fg:x="133656115" fg:w="843610"/><text x="86.0985%" y="367.50"></text></g><g><title>__GI___clone3 (127,564,696 samples, 81.94%)</title><rect x="5.0728%" y="837" width="81.9359%" height="15" fill="rgb(227,7,12)" fg:x="7897769" fg:w="127564696"/><text x="5.3228%" y="847.50">__GI___clone3</text></g><g><title>start_thread (127,564,696 samples, 81.94%)</title><rect x="5.0728%" y="821" width="81.9359%" height="15" fill="rgb(245,203,43)" fg:x="7897769" fg:w="127564696"/><text x="5.3228%" y="831.50">start_thread</text></g><g><title>std::sys::thread::unix::Thread::new::thread_start (127,564,696 samples, 81.94%)</title><rect x="5.0728%" y="805" width="81.9359%" height="15" fill="rgb(238,205,33)" fg:x="7897769" fg:w="127564696"/><text x="5.3228%" y="815.50">std::sys::thread::unix::Thread::new::thread_start</text></g><g><title>core::ops::function::FnOnce::call_once{{vtable.shim}} (127,564,696 samples, 81.94%)</title><rect x="5.0728%" y="789" width="81.9359%" height="15" fill="rgb(231,56,7)" fg:x="7897769" fg:w="127564696"/><text x="5.3228%" y="799.50">core::ops::function::FnOnce::call_once{{vtable.shim}}</text></g><g><title>std::sys::backtrace::__rust_begin_short_backtrace (127,564,696 samples, 81.94%)</title><rect x="5.0728%" y="773" width="81.9359%" height="15" fill="rgb(244,186,29)" fg:x="7897769" fg:w="127564696"/><text x="5.3228%" y="783.50">std::sys::backtrace::__rust_begin_short_backtrace</text></g><g><title>rayon_core::registry::ThreadBuilder::run (127,564,696 samples, 81.94%)</title><rect x="5.0728%" y="757" width="81.9359%" height="15" fill="rgb(234,111,31)" fg:x="7897769" fg:w="127564696"/><text x="5.3228%" y="767.50">rayon_core::registry::ThreadBuilder::run</text></g><g><title>rayon_core::registry::WorkerThread::wait_until_cold (127,564,696 samples, 81.94%)</title><rect x="5.0728%" y="741" width="81.9359%" height="15" fill="rgb(241,149,10)" fg:x="7897769" fg:w="127564696"/><text x="5.3228%" y="751.50">rayon_core::registry::WorkerThread::wait_until_cold</text></g><g><title><rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute (127,564,696 samples, 81.94%)</title><rect x="5.0728%" y="725" width="81.9359%" height="15" fill="rgb(249,206,44)" fg:x="7897769" fg:w="127564696"/><text x="5.3228%" y="735.50"><rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute</text></g><g><title>rayon_core::join::join_context::{{closure}} (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="709" width="80.3223%" height="15" fill="rgb(251,153,30)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="719.50">rayon_core::join::join_context::{{closure}}</text></g><g><title>rayon::iter::plumbing::bridge_unindexed_producer_consumer (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="693" width="80.3223%" height="15" fill="rgb(239,152,38)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="703.50">rayon::iter::plumbing::bridge_unindexed_producer_consumer</text></g><g><title>rayon_core::registry::in_worker (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="677" width="80.3223%" height="15" fill="rgb(249,139,47)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="687.50">rayon_core::registry::in_worker</text></g><g><title>rayon_core::join::join_context::{{closure}} (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="661" width="80.3223%" height="15" fill="rgb(244,64,35)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="671.50">rayon_core::join::join_context::{{closure}}</text></g><g><title>rayon::iter::plumbing::bridge_unindexed_producer_consumer (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="645" width="80.3223%" height="15" fill="rgb(216,46,15)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="655.50">rayon::iter::plumbing::bridge_unindexed_producer_consumer</text></g><g><title>rayon_core::registry::in_worker (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="629" width="80.3223%" height="15" fill="rgb(250,74,19)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="639.50">rayon_core::registry::in_worker</text></g><g><title>rayon_core::join::join_context::{{closure}} (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="613" width="80.3223%" height="15" fill="rgb(249,42,33)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="623.50">rayon_core::join::join_context::{{closure}}</text></g><g><title>rayon::iter::plumbing::bridge_unindexed_producer_consumer (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="597" width="80.3223%" height="15" fill="rgb(242,149,17)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="607.50">rayon::iter::plumbing::bridge_unindexed_producer_consumer</text></g><g><title>rayon_core::registry::in_worker (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="581" width="80.3223%" height="15" fill="rgb(244,29,21)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="591.50">rayon_core::registry::in_worker</text></g><g><title>rayon_core::join::join_context::{{closure}} (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="565" width="80.3223%" height="15" fill="rgb(220,130,37)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="575.50">rayon_core::join::join_context::{{closure}}</text></g><g><title>rayon::iter::plumbing::bridge_unindexed_producer_consumer (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="549" width="80.3223%" height="15" fill="rgb(211,67,2)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="559.50">rayon::iter::plumbing::bridge_unindexed_producer_consumer</text></g><g><title>rayon_core::registry::in_worker (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="533" width="80.3223%" height="15" fill="rgb(235,68,52)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="543.50">rayon_core::registry::in_worker</text></g><g><title>rayon_core::join::join_context::{{closure}} (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="517" width="80.3223%" height="15" fill="rgb(246,142,3)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="527.50">rayon_core::join::join_context::{{closure}}</text></g><g><title>rayon::iter::plumbing::bridge_unindexed_producer_consumer (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="501" width="80.3223%" height="15" fill="rgb(241,25,7)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="511.50">rayon::iter::plumbing::bridge_unindexed_producer_consumer</text></g><g><title><&rayon::iter::par_bridge::IterParallelProducer<Iter> as rayon::iter::plumbing::UnindexedProducer>::fold_with (125,052,466 samples, 80.32%)</title><rect x="6.6864%" y="485" width="80.3223%" height="15" fill="rgb(242,119,39)" fg:x="10409999" fg:w="125052466"/><text x="6.9364%" y="495.50"><&rayon::iter::par_bridge::IterParallelProducer<Iter> as rayon::iter::plumbing::UnindexedProducer>::fold_with</text></g><g><title><std::io::Lines<B> as core::iter::traits::iterator::Iterator>::next (5,290,968 samples, 3.40%)</title><rect x="83.6103%" y="469" width="3.3984%" height="15" fill="rgb(241,98,45)" fg:x="130171497" fg:w="5290968"/><text x="83.8603%" y="479.50"><st..</text></g><g><title>std::io::append_to_string (5,290,968 samples, 3.40%)</title><rect x="83.6103%" y="453" width="3.3984%" height="15" fill="rgb(254,28,30)" fg:x="130171497" fg:w="5290968"/><text x="83.8603%" y="463.50">std..</text></g><g><title>alloc::raw_vec::RawVecInner<A>::reserve::do_reserve_and_handle (962,740 samples, 0.62%)</title><rect x="86.3903%" y="437" width="0.6184%" height="15" fill="rgb(241,142,54)" fg:x="134499725" fg:w="962740"/><text x="86.6403%" y="447.50"></text></g><g><title>alloc::raw_vec::RawVecInner<A>::finish_grow (962,740 samples, 0.62%)</title><rect x="86.3903%" y="421" width="0.6184%" height="15" fill="rgb(222,85,15)" fg:x="134499725" fg:w="962740"/><text x="86.6403%" y="431.50"></text></g><g><title>__libc_malloc2 (962,740 samples, 0.62%)</title><rect x="86.3903%" y="405" width="0.6184%" height="15" fill="rgb(210,85,47)" fg:x="134499725" fg:w="962740"/><text x="86.6403%" y="415.50"></text></g><g><title>_int_malloc (962,740 samples, 0.62%)</title><rect x="86.3903%" y="389" width="0.6184%" height="15" fill="rgb(224,206,25)" fg:x="134499725" fg:w="962740"/><text x="86.6403%" y="399.50"></text></g><g><title>__syscall_cancel_arch_end (2,303,068 samples, 1.48%)</title><rect x="87.0087%" y="837" width="1.4793%" height="15" fill="rgb(243,201,19)" fg:x="135462465" fg:w="2303068"/><text x="87.2587%" y="847.50"></text></g><g><title>_start (501,504 samples, 0.32%)</title><rect x="88.4880%" y="837" width="0.3221%" height="15" fill="rgb(236,59,4)" fg:x="137765533" fg:w="501504"/><text x="88.7380%" y="847.50"></text></g><g><title>_dl_start (501,504 samples, 0.32%)</title><rect x="88.4880%" y="821" width="0.3221%" height="15" fill="rgb(254,179,45)" fg:x="137765533" fg:w="501504"/><text x="88.7380%" y="831.50"></text></g><g><title>_dl_sysdep_start (501,504 samples, 0.32%)</title><rect x="88.4880%" y="805" width="0.3221%" height="15" fill="rgb(226,14,10)" fg:x="137765533" fg:w="501504"/><text x="88.7380%" y="815.50"></text></g><g><title>dl_main (501,504 samples, 0.32%)</title><rect x="88.4880%" y="789" width="0.3221%" height="15" fill="rgb(244,27,41)" fg:x="137765533" fg:w="501504"/><text x="88.7380%" y="799.50"></text></g><g><title>_dl_relocate_object (501,504 samples, 0.32%)</title><rect x="88.4880%" y="773" width="0.3221%" height="15" fill="rgb(235,35,32)" fg:x="137765533" fg:w="501504"/><text x="88.7380%" y="783.50"></text></g><g><title>_dl_relocate_object_no_relro (501,504 samples, 0.32%)</title><rect x="88.4880%" y="757" width="0.3221%" height="15" fill="rgb(218,68,31)" fg:x="137765533" fg:w="501504"/><text x="88.7380%" y="767.50"></text></g><g><title>_dl_lookup_symbol_x (501,504 samples, 0.32%)</title><rect x="88.4880%" y="741" width="0.3221%" height="15" fill="rgb(207,120,37)" fg:x="137765533" fg:w="501504"/><text x="88.7380%" y="751.50"></text></g><g><title>clap_builder::parser::parser::Parser::start_custom_arg (499,923 samples, 0.32%)</title><rect x="88.8101%" y="837" width="0.3211%" height="15" fill="rgb(227,98,0)" fg:x="138267037" fg:w="499923"/><text x="89.0601%" y="847.50"></text></g><g><title>indicatif::progress_bar::ProgressBar::inc (812,875 samples, 0.52%)</title><rect x="89.1312%" y="837" width="0.5221%" height="15" fill="rgb(207,7,3)" fg:x="138766960" fg:w="812875"/><text x="89.3812%" y="847.50"></text></g><g><title>pcache1Alloc (1,962,395 samples, 1.26%)</title><rect x="89.6533%" y="837" width="1.2605%" height="15" fill="rgb(206,98,19)" fg:x="139579835" fg:w="1962395"/><text x="89.9033%" y="847.50"></text></g><g><title>pcache1EnforceMaxPage (1,247,384 samples, 0.80%)</title><rect x="90.9138%" y="837" width="0.8012%" height="15" fill="rgb(217,5,26)" fg:x="141542230" fg:w="1247384"/><text x="91.1638%" y="847.50"></text></g><g><title>posixUnlock.constprop.0 (706,057 samples, 0.45%)</title><rect x="91.7150%" y="837" width="0.4535%" height="15" fill="rgb(235,190,38)" fg:x="142789614" fg:w="706057"/><text x="91.9650%" y="847.50"></text></g><g><title>pthreadMutexFree (445,637 samples, 0.29%)</title><rect x="92.1685%" y="837" width="0.2862%" height="15" fill="rgb(247,86,24)" fg:x="143495671" fg:w="445637"/><text x="92.4185%" y="847.50"></text></g><g><title>realloc (881,828 samples, 0.57%)</title><rect x="92.4547%" y="837" width="0.5664%" height="15" fill="rgb(205,101,16)" fg:x="143941308" fg:w="881828"/><text x="92.7047%" y="847.50"></text></g><g><title>_int_realloc (881,828 samples, 0.57%)</title><rect x="92.4547%" y="821" width="0.5664%" height="15" fill="rgb(246,168,33)" fg:x="143941308" fg:w="881828"/><text x="92.7047%" y="831.50"></text></g><g><title>serde_json::ser::format_escaped_str (1,700,364 samples, 1.09%)</title><rect x="93.0211%" y="837" width="1.0922%" height="15" fill="rgb(231,114,1)" fg:x="144823136" fg:w="1700364"/><text x="93.2711%" y="847.50"></text></g><g><title>sqlite3AddPrimaryKey (1,015,414 samples, 0.65%)</title><rect x="94.1133%" y="837" width="0.6522%" height="15" fill="rgb(207,184,53)" fg:x="146523500" fg:w="1015414"/><text x="94.3633%" y="847.50"></text></g><g><title>sqlite3BtreeCommitPhaseOne.part.0 (790,086 samples, 0.51%)</title><rect x="94.7655%" y="837" width="0.5075%" height="15" fill="rgb(224,95,51)" fg:x="147538914" fg:w="790086"/><text x="95.0155%" y="847.50"></text></g><g><title>sqlite3ExprListAppendNew (1,223,791 samples, 0.79%)</title><rect x="95.2730%" y="837" width="0.7861%" height="15" fill="rgb(212,188,45)" fg:x="148329000" fg:w="1223791"/><text x="95.5230%" y="847.50"></text></g><g><title>sqlite3ExprSetHeightAndFlags.part.0 (1,080,316 samples, 0.69%)</title><rect x="96.0590%" y="837" width="0.6939%" height="15" fill="rgb(223,154,38)" fg:x="149552791" fg:w="1080316"/><text x="96.3090%" y="847.50"></text></g><g><title>sqlite3WhereEnd (1,875,442 samples, 1.20%)</title><rect x="96.7529%" y="837" width="1.2046%" height="15" fill="rgb(251,22,52)" fg:x="150633107" fg:w="1875442"/><text x="97.0029%" y="847.50"></text></g><g><title>std::io::Write::write_all (974,812 samples, 0.63%)</title><rect x="97.9576%" y="837" width="0.6261%" height="15" fill="rgb(229,209,22)" fg:x="152508549" fg:w="974812"/><text x="98.2076%" y="847.50"></text></g><g><title>unixClose (882,260 samples, 0.57%)</title><rect x="98.5837%" y="837" width="0.5667%" height="15" fill="rgb(234,138,34)" fg:x="153483361" fg:w="882260"/><text x="98.8337%" y="847.50"></text></g><g><title>all (155,688,399 samples, 100%)</title><rect x="0.0000%" y="869" width="100.0000%" height="15" fill="rgb(212,95,11)" fg:x="0" fg:w="155688399"/><text x="0.2500%" y="879.50"></text></g><g><title>db (155,688,399 samples, 100.00%)</title><rect x="0.0000%" y="853" width="100.0000%" height="15" fill="rgb(240,179,47)" fg:x="0" fg:w="155688399"/><text x="0.2500%" y="863.50">db</text></g><g><title>walIndexAppend (1,322,778 samples, 0.85%)</title><rect x="99.1504%" y="837" width="0.8496%" height="15" fill="rgb(240,163,11)" fg:x="154365621" fg:w="1322778"/><text x="99.4004%" y="847.50"></text></g></svg></svg> |