d3-flame-graph
Version:
A d3.js library to produce flame graphs.
1 lines • 1.98 kB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.flamegraph=e():(t.flamegraph=t.flamegraph||{},t.flamegraph.colorMapper=e())}(self,(function(){return(()=>{"use strict";var t={d:(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function r(t,e){if(t.highlight)return e;return`rgb(${function(t,e,r){const o=r,n=1-o;return[Math.round(t[0]*o+e[0]*n),Math.round(t[1]*o+e[1]*n),Math.round(t[2]*o+e[2]*n)]}([0,255,40],[196,245,233],t.data.value/t.value).join()})`}function o(t,e){if(t.highlight)return e;const r=function(t){let e=0;if(t){const r=t.split("`");r.length>1&&(t=r[r.length-1]),e=function(t){let e=0,r=0,o=1;if(t){for(let n=0;n<t.length&&!(n>6);n++)e+=o*(t.charCodeAt(n)%10),r+=9*o,o*=.7;r>0&&(e/=r)}return e}(t=t.split("(")[0])}return e}(t.data.n||t.data.name);return"rgb("+(0+Math.round(55*(1-r)))+","+(0+Math.round(230*(1-r)))+","+(200+Math.round(55*r))+")"}function n(t,e){let r=e;const{v8_jit:o,javascript:n,optimized:a}=t.data.extras||{};if(o&&!n&&(r="#dadada"),n){let e=(a||0)/t.value,o=255,n=0,l=0;e<.4?(e*=2.5,o=240-200*e):e<.9?(e=2*(e-.4),o=0,l=200-200*e,n=100*e):(e=10*(e-.9),o=0,l=0,n=100+150*e),r=`rgb(${o} , ${n}, ${l})`}return r}function a(t,e){if(t.highlight)return e;let r=220,o=220,n=220;const a=t.delta||t.data.d||t.data.delta,l=Math.abs(a);let u=t.value||t.data.v||t.data.value;u<=l&&(u=l);const i=l/u;return a===u?(r=255,o=190,n=90):a>0?(n=Math.round(235*(1-i)),o=n):a<0&&(r=Math.round(235*(1-i)),o=r),"rgb("+r+","+o+","+n+")"}return t.r(e),t.d(e,{allocationColorMapper:()=>r,differentialColorMapper:()=>a,nodeJsColorMapper:()=>n,offCpuColorMapper:()=>o}),e})()}));