{"_id":"streamline-flamegraph","_rev":"26-a8f6ab8edaa7f37daccfb966e0d75eaa","name":"streamline-flamegraph","description":"Flame graphs for streamline.js","dist-tags":{"latest":"4.0.0"},"versions":{"0.1.0":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"0.1.0","repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=0.10.8"},"dependencies":{"streamline":"~0.10.2","ez-streams":"~0.1.3"},"author":{"name":"Bruno Jouhier"},"bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph","_id":"streamline-flamegraph@0.1.0","_shasum":"89761a87f14b4e539784e04bf79d7065ac0b84ad","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"bjouhier","email":"bjouhier@gmail.com"},"maintainers":[{"name":"bjouhier","email":"bjouhier@gmail.com"}],"dist":{"shasum":"89761a87f14b4e539784e04bf79d7065ac0b84ad","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-0.1.0.tgz","integrity":"sha512-75Eu3ptCr8ZiPYJKxXKRXoiNT+uyVMyOJj+8FyWrApsRlfXPBhesuacjUPRJ20uoQIkH/w/TEddexkc4b0OsRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCx1beJgJ7SrAOlIKAXQNgWKDZZPwplrBzU6X1xhoLNFwIgcoldmcZ7f7xuIxy+tWUziu/kIni9eAKYKn0gc+WxFX0="}]},"directories":{}},"0.1.1":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"0.1.1","repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=0.10.8"},"dependencies":{"streamline":"~0.10.13","ez-streams":"~0.1.3"},"author":{"name":"Bruno Jouhier"},"gitHead":"f95f97750b049f5d1e9aa8913ed494c4fd9be80a","bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph","_id":"streamline-flamegraph@0.1.1","scripts":{},"_shasum":"3667828e1a7704d8b4b706b3c4ad30308509759e","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"bjouhier","email":"bjouhier@gmail.com"},"maintainers":[{"name":"bjouhier","email":"bjouhier@gmail.com"}],"dist":{"shasum":"3667828e1a7704d8b4b706b3c4ad30308509759e","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-0.1.1.tgz","integrity":"sha512-BbjuAeuUxs8OxGy0cUPTtTRc6vFrk5fbcN1sVWmOrN1pyy+geGNW8u3CE+XG64AU7ucS9zvFVIQ/WkBsu1j5DQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCM5TBfiF959wGs7ndWCLn3YdHrZjseL9bH7RgKkfjNzAIhALTbsAJPdc3nPi47Yr3Kdbbup509BYdE8BtlgCpBrZtb"}]},"directories":{}},"0.1.4":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"0.1.4","repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=0.10.8"},"dependencies":{"streamline":"~0.10.13","ez-streams":"~0.1.4","commander":"~2.3.0"},"author":{"name":"Bruno Jouhier"},"bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph","_id":"streamline-flamegraph@0.1.4","_shasum":"d34dc0e0d2fd817408937696b83edb394d2cc6b0","_from":".","_npmVersion":"1.4.8","_npmUser":{"name":"bjouhier","email":"bjouhier@gmail.com"},"maintainers":[{"name":"bjouhier","email":"bjouhier@gmail.com"}],"dist":{"shasum":"d34dc0e0d2fd817408937696b83edb394d2cc6b0","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-0.1.4.tgz","integrity":"sha512-n58F+6SvxoUix+VtkzkWUlOjZQZborCrY98seBtb5XLiugUT3b4LFhNndamXAhul1HEVZAKo5Hzqgl2cdpBXLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPfAHSxSH0WfNP4SRQaoISazbpa0uYIlqtTR3Wy07RGgIhAMUHcp9FAhqSobmiXKSLkkWfJqQ5uN5Fci6YXzH8zdlM"}]},"directories":{}},"0.1.5":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"0.1.5","repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=0.10.8"},"dependencies":{"streamline":"^0.10.14","ez-streams":"^0.1.5","commander":"~2.3.0"},"author":{"name":"Bruno Jouhier"},"gitHead":"cb78921568942e5b9945237911daa4504d41dde7","bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph","_id":"streamline-flamegraph@0.1.5","scripts":{},"_shasum":"dc46f73442579b09fa267e6cacdd014ad2e4e743","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"bjouhier","email":"bjouhier@gmail.com"},"maintainers":[{"name":"bjouhier","email":"bjouhier@gmail.com"}],"dist":{"shasum":"dc46f73442579b09fa267e6cacdd014ad2e4e743","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-0.1.5.tgz","integrity":"sha512-vDTwHnlKOrQqAHugV5dI4/SbbIRBu3SU6CGDXrsdYRILPc5q55h8wxXhPHSHN+8n/pOsag5q9QqQY/z80+Efng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICvQnlQN0asdKCPNscvLSqeDXrK/nvXfAVBhr+7jS9LsAiEAl2+qP5bUEDSLwozxcEjyI3PnJmqp5lJD5jgEw5kFT1g="}]},"directories":{}},"0.1.6":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"0.1.6","repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=0.10.8"},"dependencies":{"streamline":"^0.10.15","ez-streams":"^0.1.6","commander":"~2.3.0"},"author":{"name":"Bruno Jouhier"},"gitHead":"b086a487c0f7762e6988694c83aa4e7946025c42","bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph","_id":"streamline-flamegraph@0.1.6","scripts":{},"_shasum":"0be4bab01c14284e11945b8f2314c497e3e0e2f3","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"bjouhier","email":"bjouhier@gmail.com"},"maintainers":[{"name":"bjouhier","email":"bjouhier@gmail.com"}],"dist":{"shasum":"0be4bab01c14284e11945b8f2314c497e3e0e2f3","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-0.1.6.tgz","integrity":"sha512-Y7vFNAWblfE6VYRR6cDDP8TxF9u/tMopZ0Kz0bM5V7s4EFGXfzAr9E6WPAdjkXFEN9eZgiion9RplX2Mx7pRZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFkGHHrijKh9x9hIPp3PFVNllmlWQkkivknkeRCvcHtyAiAzOW9GJMRcN3v5ZDm+3CfltpOrQP3B92RblV9q/QSoZA=="}]},"directories":{}},"0.1.7":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"0.1.7","author":{"name":"Bruno Jouhier"},"repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=0.10.8"},"dependencies":{"streamline-runtime":"^1.0.15","ez-streams":"^1.2.1","commander":"^2.9.0"},"bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph#readme","_id":"streamline-flamegraph@0.1.7","scripts":{},"_shasum":"27d0eee1d16a318ec3a5d6a0c7fc44e2d199dd63","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"bjouhier","email":"bjouhier@gmail.com"},"maintainers":[{"name":"bjouhier","email":"bjouhier@gmail.com"}],"dist":{"shasum":"27d0eee1d16a318ec3a5d6a0c7fc44e2d199dd63","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-0.1.7.tgz","integrity":"sha512-oMXD4SMBBNESV2MrNrY662cebT15bsJQMuNbu8o0Tn/J4lV3jq2Q7kv+recqIQ2EdDL1P8DXPzCD5SamJjce5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGQc6sKvvvfWwrTxCg9yP6/oYBxAXb1jmCc74diaraxiAiAb403DeZl2yxKIgVv4EYKPqd+56ZqydRsAaE8NakpBZg=="}]},"directories":{}},"2.0.0":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"2.0.0","author":{"name":"Bruno Jouhier"},"repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=0.10.8"},"dependencies":{"streamline-runtime":"^1.0.15","ez-streams":"^2.0.0","commander":"^2.9.0"},"gitHead":"4bb4e945277c079b0672542af7bafb159ca00c1b","bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph#readme","_id":"streamline-flamegraph@2.0.0","scripts":{},"_shasum":"34a76708d4aa2660ae1cfdd5c93496607eeebf8a","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.2","_npmUser":{"name":"bjouhier","email":"bjouhier@gmail.com"},"maintainers":[{"name":"bjouhier","email":"bjouhier@gmail.com"}],"dist":{"shasum":"34a76708d4aa2660ae1cfdd5c93496607eeebf8a","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-2.0.0.tgz","integrity":"sha512-vo6Wm4Gdz9w8vgD2w22Jt/x8jl3mhxOLRccb3bG4bwNMsuJZlsSo1TRDzyBLGC9L/Az5roKnF3Z/oFB5w8drXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDt5xw5cMKPjIpmJNdTlcfKL/pBqBfD6q+4/DTn5CoEUAiEA/ItWXdas4n+zpEcfUwLjYIP1EVgNqtOfaCGb66pSoDA="}]},"directories":{}},"3.0.0":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"3.0.0","author":{"name":"Bruno Jouhier"},"repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=0.12.0"},"dependencies":{"streamline-runtime":"^1.0.15","ez-streams":"^3.0.0","commander":"^2.9.0"},"gitHead":"16693c4e09e98b9b6e696b44c0d5b1858bcf26d9","bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph#readme","_id":"streamline-flamegraph@3.0.0","scripts":{},"_shasum":"c39f0fc3f8ec10ff101dcac07644809ece8f0440","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.2","_npmUser":{"name":"bjouhier","email":"bjouhier@gmail.com"},"maintainers":[{"name":"bjouhier","email":"bjouhier@gmail.com"}],"dist":{"shasum":"c39f0fc3f8ec10ff101dcac07644809ece8f0440","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-3.0.0.tgz","integrity":"sha512-GXJEe84BR6GEqHhQ4lZkjQDIXm6hfttXL6QktggtKRnwLiW7YOQ8Il/KJw/dnVbsdEiaYAWpz1z2qAJNH91TVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdTgwSQT25bj56RrI+5/MITL8+gU8wnXive8i9V+BxdAIhAJk8CDV81JkeRHnK9j+2B0v3LzIc8DOosvQu7tZEVp4n"}]},"directories":{}},"4.0.0":{"name":"streamline-flamegraph","description":"Flame graphs for streamline.js","version":"4.0.0","author":{"name":"Bruno Jouhier"},"repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"engines":{"node":">=10.0.0"},"dependencies":{"streamline-runtime":"^2.0.1","ez-streams":"^4.0.0","commander":"^5.0.0"},"gitHead":"7c582ace0ec5f771fecce9a6931011fde21fb7ff","bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"homepage":"https://github.com/Sage/streamline-flamegraph#readme","_id":"streamline-flamegraph@4.0.0","_nodeVersion":"12.16.0","_npmVersion":"6.14.1","dist":{"integrity":"sha512-J7TEPUgeQoBrQNuceLMQO+KumeLFojPRLpiQYkviEff+WOkOJ+6n18HXKHhGTUnVwBAq4hGFcExQt5emBx2Zzg==","shasum":"d472034221ac01803f6d54edf0dcd65a3b3cddee","tarball":"https://registry.npmjs.org/streamline-flamegraph/-/streamline-flamegraph-4.0.0.tgz","fileCount":18,"unpackedSize":341561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej53kCRA9TVsSAnZWagAAQQ8P/RRhvYdi84ZYmbyK4Gc8\n/mLcxN8+dtFn7813WDWJVVsXu5kheWqt+Uy+ZmE7jTbaybUjHN5475eQIA1H\n3rOXNrpYdK6688Bk2QbbHfw54AE+iTlcK5X3tGOf0cUKDGHai3ga6buPaWMq\n67GFxRKTZoyUb9vjTwXXJvJzsLwE5gWZPqutQggjAgF4F8g8nrk6HkgJ8+3E\nlmYHbu/Ofq6fJrHcRKGusBvc2gfMO0v4xTUTwv3+ILhIJzOKbjuZWHaTiNRD\nvgV3Y4I1x6xpSBX/FDwwTt+Vwctt02TJxD5hiWUEOh0kF2ebOBeDfB9Z78xR\nmChwRFezawF23d5nXLhpdXsmFJaCfNQrGxkAM0a+IiOedRNoY1bKF8i4CzwZ\nwGpcL9jr2ocfq9XK/Jz21YVsAkI2F1gwsX2xfXXJyJoNtL+Yprf+8tHmmbPl\ns1tTAjewTb9qLbxplll3m4+F+TjVxcKpoRfvQeMUf+rz4gHI/NTJi/EsyeGp\nYB8fan9oiOTiMNjLJsJbtYLP0aJFXzjz2XkGigsueDud0VTQogQTdaUVe1Tf\nqVH1CuIv/QHlDknY/niDEw2Wv3DCMkZL6MJy/KaT4UdjKMXo9ar7ES+Ljf6t\n7WCDH//quaoA288VFsJA3Ytv5qKPGmkylIQEF02pCLvA+nq0tMvo49Xu9kJu\noZwP\r\n=3Kh3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMZqb7uzPqeMMHcSWtDUObdLXwKMfz0CGc2R4Zo/5elwIhAIAi+Gvwt0CnuyHGADuWS1d3PTdV/dcUnrXlJTd8PMpn"}]},"maintainers":[{"email":"bjouhier@gmail.com","name":"bjouhier"},{"email":"eboureau@gmail.com","name":"eboureau"}],"_npmUser":{"name":"eboureau","email":"eboureau@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/streamline-flamegraph_4.0.0_1586470371543_0.9245408385490539"},"_hasShrinkwrap":false}},"readme":"[Flame graph](http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html) instrumentation for [streamline.js](https://github.com/Sage/streamlinejs), based on [Brendan Gregg's FlameGraph](https://github.com/brendangregg/FlameGraph)\n\n![](examples/perf-full.png?raw=true)\n\n<a name=\"installation\"/>\n\n## Installation\n\n``` sh\nnpm install streamline-flamegraph\n```\n\n<a name=\"recording\"/>\n\n## Recording\n\nFirst you need to instrument your code to record performance counters:\n\n``` javascript\nvar recorder = require('streamline-flamegraph/lib/record').create(options).run();\n```\n\nThis will start the recording and create a `perf-recorded.gz` file in the current working directory of the process.\n\nThe recording can be stopped by calling `recorder.stop()` but you don't need to call it if you want to record till the process exits.\n\nThe `options` argument allows you to pass configuration parameters (see [below](#configuration))\n\n<a name=\"gen-graph\"/>\n\n## Generating the flamegraph\n\nOnce you have recorded data, you need to transform it into a flame graph. This is done with a simple command:\n\n```sh\nbin/gen-graphs.sh\n```\n\nThis will generate two flame graphs in the current directory:\n\n* [perf-cpu.svg](examples/perf-cpu.png?raw=true): CPU only graph\n* [perf-full.svg](examples/perf-full.png?raw=true): CPU+IO graph\n\n<a name=\"configuration\"/>\n\n## Configuration\n\nYou can pass the following configuration options to the `create` call.\n\n``` javascript\n{\n\t// sampling rate, in milliseconds, 1 by default\n\trate: 1,\n\t// root of source tree (will be trimmed from full file names to get relative paths)\n\t// by default: \"\"\n\tsourceRoot: __dirname,\n\t// pattern for source link URLs\n\t// by default: \"file://{fullpath}#{line}\"\n\tsourceUrl: \"https://github.com/Sage/streamline-flamegraph/tree/master/{relpath}#L{line}\",\n}\n```\n\nThe `sourceUrl` option allows you to create hyperlinks to the your github repository, or to open your favorite source editor (for example `\"subl://open/?url=file://{fullpath}&line={line}\"` for Sublime Text with `subl://` URL handler extension).\n\n## Gotchas\n\nThe flamegraph only displays streamline stacks (but it displays the _async_ stacks). If you want a complete graph including sync JS calls and C++ stacks, see https://gist.github.com/trevnorris/9616784).\n\nThe [3 main streamline modes (callbacks, fibers, generators)](https://github.com/Sage/streamlinejs#generation-options) are supported, but streamline's [fast mode](https://github.com/Sage/streamlinejs#fast-mode) must be off.\n\nAPI may still evolve so I haven't documented it yet.\n\n\n## Credits\n\nThanks to Brendan Gregg for the great Perl script (`deps/flamegraph.pl`).\n\n## License\n\nMIT (streamline.js) + CDDL (see `deps/flamegraph.pl`)\n","maintainers":[{"email":"bjouhier@gmail.com","name":"bjouhier"},{"email":"eboureau@gmail.com","name":"eboureau"}],"time":{"modified":"2022-06-27T00:53:50.849Z","created":"2014-08-05T23:18:27.644Z","0.1.0":"2014-08-05T23:18:27.644Z","0.1.1":"2014-08-12T20:55:31.804Z","0.1.2":"2014-09-06T20:38:45.956Z","0.1.3":"2014-09-06T21:39:43.059Z","0.1.4":"2014-09-06T21:43:44.410Z","0.1.5":"2014-09-20T22:33:25.294Z","0.1.6":"2014-09-27T18:43:24.319Z","0.1.7":"2015-11-09T21:54:03.271Z","2.0.0":"2015-12-17T09:32:09.536Z","3.0.0":"2016-01-21T15:56:56.500Z","4.0.0":"2020-04-09T22:12:51.808Z"},"homepage":"https://github.com/Sage/streamline-flamegraph#readme","repository":{"type":"git","url":"git://github.com/Sage/streamline-flamegraph.git"},"author":{"name":"Bruno Jouhier"},"bugs":{"url":"https://github.com/Sage/streamline-flamegraph/issues"},"readmeFilename":"README.md"}