{"_id":"event-loop-inspector","_rev":"2771277","name":"event-loop-inspector","description":"Dump event loop data.","dist-tags":{"latest":"1.2.2"},"maintainers":[{"name":"wallet77","email":""}],"time":{"modified":"2022-05-23T09:39:34.000Z","created":"2018-02-01T10:58:00.148Z","1.2.2":"2018-09-18T15:49:55.726Z","1.2.1":"2018-09-18T09:37:26.637Z","1.2.0":"2018-08-31T13:07:18.189Z","1.1.0":"2018-08-01T12:52:19.013Z","1.0.1":"2018-04-30T10:05:31.676Z","1.0.0":"2018-02-20T17:07:30.833Z","0.5.1":"2018-02-01T11:02:22.364Z","0.5.0":"2018-02-01T10:58:00.148Z"},"users":{},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"versions":{"1.2.2":{"name":"event-loop-inspector","version":"1.2.2","description":"Dump event loop data.","main":"index.js","engines":{"node":">=4.0.0"},"keywords":["event-loop","event loop","libuv","inspector","nextTick","setImmediate","getActiveHandles","getActiveRequests","dump","monitoring","stats","loop"],"homepage":"https://github.com/keymetrics/event-loop-inspector","directories":{"test":"test"},"scripts":{"test":"mocha ./test/**/*.mocha.js","test-coverage":"nyc --reporter=html --reporter=text mocha ./test/**/*.mocha.js","test-thread":"node --experimental-worker node_modules/mocha/bin/_mocha ./test/**/*.mocha.js","test-coverage-thread":"nyc --reporter=html --reporter=text node --experimental-worker node_modules/mocha/bin/_mocha ./test/**/*.mocha.js","lint":"eslint ./test ./index.js"},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"license":"MIT","devDependencies":{"eslint":"^5.6.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","mocha":"^5.2.0","nyc":"^13.0.1","semver":"^5.5.1"},"gitHead":"569ae57d188d9428e053b39c58730bed7bccc69a","_id":"event-loop-inspector@1.2.2","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"wallet77","email":"wallet77@gmail.com"},"dist":{"shasum":"e56ed73f50a8b0b9193cc36be877fea18641aceb","size":4378,"noattachment":false,"key":"/event-loop-inspector/-/event-loop-inspector-1.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/event-loop-inspector/download/event-loop-inspector-1.2.2.tgz"},"maintainers":[{"name":"wallet77","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-loop-inspector_1.2.2_1537285795614_0.7273820662687855"},"_hasShrinkwrap":false,"publish_time":1537285795726,"_cnpm_publish_time":1537285795726,"_cnpmcore_publish_time":"2021-12-16T23:48:21.844Z"},"1.2.1":{"name":"event-loop-inspector","version":"1.2.1","description":"Dump event loop data.","main":"index.js","engines":{"node":">=4.0.0"},"keywords":["event-loop","event loop","libuv","inspector","nextTick","setImmediate","getActiveHandles","getActiveRequests","dump","monitoring","stats","loop"],"homepage":"https://github.com/keymetrics/event-loop-inspector","directories":{"test":"test"},"scripts":{"test":"mocha ./test/**/*.mocha.js","test-coverage":"nyc --reporter=html --reporter=text mocha ./test/**/*.mocha.js","test-thread":"node --experimental-worker node_modules/mocha/bin/_mocha ./test/**/*.mocha.js","test-coverage-thread":"nyc --reporter=html --reporter=text node --experimental-worker node_modules/mocha/bin/_mocha ./test/**/*.mocha.js","lint":"eslint ./test ./index.js"},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"license":"MIT","devDependencies":{"eslint":"^4.15.0","eslint-config-standard":"^11.0.0-beta.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","mocha":"^5.0.0","mysql":"^2.15.0","nyc":"^11.4.1","semver":"^5.5.0"},"gitHead":"0970485d4aa2eea52eb06e89b7903de0563e907e","_id":"event-loop-inspector@1.2.1","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"wallet77","email":"wallet77@gmail.com"},"dist":{"shasum":"f985b86788defe5b3f22ff5207cc3896ad881322","size":4387,"noattachment":false,"key":"/event-loop-inspector/-/event-loop-inspector-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/event-loop-inspector/download/event-loop-inspector-1.2.1.tgz"},"maintainers":[{"name":"wallet77","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-loop-inspector_1.2.1_1537263446475_0.20288372971688529"},"_hasShrinkwrap":false,"publish_time":1537263446637,"_cnpm_publish_time":1537263446637,"_cnpmcore_publish_time":"2021-12-16T23:48:22.043Z"},"1.2.0":{"name":"event-loop-inspector","version":"1.2.0","description":"Dump event loop data.","main":"index.js","engines":{"node":">=4.0.0"},"keywords":["event-loop","event loop","libuv","inspector","nextTick","setImmediate","getActiveHandles","getActiveRequests","dump","monitoring","stats","loop"],"homepage":"https://github.com/keymetrics/event-loop-inspector","directories":{"test":"test"},"scripts":{"test":"mocha ./test/**/*.mocha.js","test-coverage":"nyc --reporter=html --reporter=text mocha ./test/**/*.mocha.js","test-thread":"node --experimental-worker node_modules/mocha/bin/_mocha ./test/**/*.mocha.js","test-coverage-thread":"nyc --reporter=html --reporter=text node --experimental-worker node_modules/mocha/bin/_mocha ./test/**/*.mocha.js","lint":"eslint ./test ./index.js"},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"license":"MIT","devDependencies":{"eslint":"^4.15.0","eslint-config-standard":"^11.0.0-beta.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","mocha":"^5.0.0","mysql":"^2.15.0","nyc":"^11.4.1","semver":"^5.5.0"},"gitHead":"b7203e48a9dbc997e8cba46c9fea3e90cf8565ce","_id":"event-loop-inspector@1.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"wallet77","email":"wallet77@gmail.com"},"dist":{"shasum":"144d50c08c2dc52e4699de25af32216b8af7e7b2","size":86052,"noattachment":false,"key":"/event-loop-inspector/-/event-loop-inspector-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/event-loop-inspector/download/event-loop-inspector-1.2.0.tgz"},"maintainers":[{"name":"wallet77","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-loop-inspector_1.2.0_1535720838018_0.401484164164984"},"_hasShrinkwrap":false,"publish_time":1535720838189,"_cnpm_publish_time":1535720838189,"_cnpmcore_publish_time":"2021-12-16T23:48:22.603Z"},"1.1.0":{"name":"event-loop-inspector","version":"1.1.0","description":"Dump event loop data.","main":"index.js","engines":{"node":">=4.0.0"},"keywords":["event-loop","event loop","libuv","inspector","nextTick","setImmediate","getActiveHandles","getActiveRequests","dump","monitoring","stats","loop"],"homepage":"https://github.com/keymetrics/event-loop-inspector","directories":{"test":"test"},"scripts":{"test":"mocha ./test/**/*.mocha.js","test-coverage":"nyc --reporter=html --reporter=text mocha ./test/**/*.mocha.js","test-thread":"node --experimental-worker node_modules/mocha/bin/_mocha ./test/**/*.mocha.js","test-coverage-thread":"nyc --reporter=html --reporter=text node --experimental-worker node_modules/mocha/bin/_mocha ./test/**/*.mocha.js","lint":"eslint ./test ./index.js"},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"license":"MIT","devDependencies":{"eslint":"^4.15.0","eslint-config-standard":"^11.0.0-beta.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","mocha":"^5.0.0","mysql":"^2.15.0","nyc":"^11.4.1","semver":"^5.5.0"},"gitHead":"ff8386acfe4ecd522198c5f68ea29117b834de00","_id":"event-loop-inspector@1.1.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"wallet77","email":"wallet77@gmail.com"},"dist":{"shasum":"12631c0251bf68a3bdd681ccc1185eea273ed3bf","size":6962,"noattachment":false,"key":"/event-loop-inspector/-/event-loop-inspector-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/event-loop-inspector/download/event-loop-inspector-1.1.0.tgz"},"maintainers":[{"name":"wallet77","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-loop-inspector_1.1.0_1533127938940_0.617745737556689"},"_hasShrinkwrap":false,"publish_time":1533127939013,"_cnpm_publish_time":1533127939013,"_cnpmcore_publish_time":"2021-12-16T23:48:23.203Z"},"1.0.1":{"name":"event-loop-inspector","version":"1.0.1","description":"Dump event loop data.","main":"index.js","engines":{"node":">=4.0.0"},"keywords":["event-loop","event loop","libuv","inspector","nextTick","setImmediate","getActiveHandles","getActiveRequests","dump","monitoring","stats","loop"],"homepage":"https://github.com/keymetrics/event-loop-inspector","directories":{"test":"test"},"scripts":{"test":"mocha ./test/**/*.mocha.js","test-coverage":"nyc --reporter=html --reporter=text mocha ./test/**/*.mocha.js","lint":"eslint ./test ./index.js"},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"license":"MIT","devDependencies":{"eslint":"^4.15.0","eslint-config-standard":"^11.0.0-beta.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","mocha":"^5.0.0","mysql":"^2.15.0","nyc":"^11.4.1","release-it":"^6.1.1"},"gitHead":"e46601f44169930a8836f42c5278705b346eed57","_id":"event-loop-inspector@1.0.1","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"wallet77","email":"wallet77@gmail.com"},"dist":{"shasum":"ef3632b90e716b2aa14372cb01d1263f51520188","size":6454,"noattachment":false,"key":"/event-loop-inspector/-/event-loop-inspector-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/event-loop-inspector/download/event-loop-inspector-1.0.1.tgz"},"maintainers":[{"name":"wallet77","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-loop-inspector_1.0.1_1525082731616_0.13904625590559605"},"_hasShrinkwrap":false,"publish_time":1525082731676,"_cnpm_publish_time":1525082731676,"_cnpmcore_publish_time":"2021-12-16T23:48:23.389Z"},"1.0.0":{"name":"event-loop-inspector","version":"1.0.0","description":"Dump event loop data.","main":"index.js","engines":{"node":">=4.0.0"},"keywords":["event-loop","event loop","libuv","inspector","nextTick","setImmediate","getActiveHandles","getActiveRequests","dump","monitoring","stats","loop"],"homepage":"https://github.com/keymetrics/event-loop-inspector","directories":{"test":"test"},"scripts":{"test":"mocha ./test/**/*.mocha.js","test-coverage":"nyc --reporter=html --reporter=text mocha ./test/**/*.mocha.js","lint":"eslint ./test ./index.js"},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"license":"MIT","devDependencies":{"eslint":"^4.15.0","eslint-config-standard":"^11.0.0-beta.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","mocha":"^5.0.0","mysql":"^2.15.0","nyc":"^11.4.1","release-it":"^6.1.1"},"gitHead":"7ceae89672741583604ee3de26dcc9848d8781a4","_id":"event-loop-inspector@1.0.0","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"wallet77","email":"wallet77@gmail.com"},"dist":{"shasum":"d3d76f4451bae16935e295b9c5410b39914b92da","size":6397,"noattachment":false,"key":"/event-loop-inspector/-/event-loop-inspector-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/event-loop-inspector/download/event-loop-inspector-1.0.0.tgz"},"maintainers":[{"name":"wallet77","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-loop-inspector_1.0.0_1519146450612_0.42306442521025733"},"_hasShrinkwrap":false,"publish_time":1519146450833,"_cnpm_publish_time":1519146450833,"_cnpmcore_publish_time":"2021-12-16T23:48:23.581Z"},"0.5.1":{"name":"event-loop-inspector","version":"0.5.1","description":"Dump event loop data.","main":"index.js","engines":{"node":">=4.0.0"},"keywords":["event-loop","inspector","nextTick","setImmediate","getActiveHandles","getActiveRequests","dump","monitoring","stats","loop"],"homepage":"https://github.com/keymetrics/event-loop-inspector","directories":{"test":"test"},"scripts":{"test":"mocha ./test/**/*.mocha.js","test-coverage":"nyc --reporter=html --reporter=text mocha ./test/**/*.mocha.js","lint":"eslint ./test ./index.js"},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"license":"MIT","devDependencies":{"eslint":"^4.15.0","eslint-config-standard":"^11.0.0-beta.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","mocha":"^5.0.0","mysql":"^2.15.0","nyc":"^11.4.1","release-it":"^6.1.1"},"gitHead":"e5651270cd68f0f02842eedd6a5d0ada99d680b8","_id":"event-loop-inspector@0.5.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"wallet77","email":"wallet77@gmail.com"},"dist":{"shasum":"edf36c3710ee90bbd91be041fdd8ec66a76dfc40","size":5814,"noattachment":false,"key":"/event-loop-inspector/-/event-loop-inspector-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/event-loop-inspector/download/event-loop-inspector-0.5.1.tgz"},"maintainers":[{"name":"wallet77","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-loop-inspector-0.5.1.tgz_1517482942288_0.5774910133332014"},"publish_time":1517482942364,"_hasShrinkwrap":false,"_cnpm_publish_time":1517482942364,"_cnpmcore_publish_time":"2021-12-16T23:48:23.815Z"},"0.5.0":{"name":"event-loop-inspector","version":"0.5.0","description":"Dump event loop data.","main":"index.js","engines":{"node":">=4.0.0"},"keywords":["envent-loop","inspector","nextTick","setImmediate","getActiveHandles","getActiveRequests","dump"],"homepage":"https://github.com/keymetrics/event-loop-inspector","directories":{"test":"test"},"scripts":{"test":"mocha ./test/**/*.mocha.js","test-coverage":"nyc --reporter=html --reporter=text mocha ./test/**/*.mocha.js","lint":"eslint ./test ./index.js"},"author":{"name":"Vincent Vallet","email":"wallet77@gmail.com","url":"https://github.com/wallet77"},"license":"MIT","devDependencies":{"eslint":"^4.15.0","eslint-config-standard":"^11.0.0-beta.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","mocha":"^5.0.0","mysql":"^2.15.0","nyc":"^11.4.1","release-it":"^6.1.1"},"gitHead":"ec10782ca0921c904fd9d99c1f334206e768c38c","_id":"event-loop-inspector@0.5.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"wallet77","email":"wallet77@gmail.com"},"dist":{"shasum":"d558ac62da4a35d27c013852f13554a29f64559b","size":5801,"noattachment":false,"key":"/event-loop-inspector/-/event-loop-inspector-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/event-loop-inspector/download/event-loop-inspector-0.5.0.tgz"},"maintainers":[{"name":"wallet77","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/event-loop-inspector-0.5.0.tgz_1517482679393_0.5035606685560197"},"publish_time":1517482680148,"_hasShrinkwrap":false,"_cnpm_publish_time":1517482680148,"_cnpmcore_publish_time":"2021-12-16T23:48:24.020Z"}},"readme":"<div align=\"center\">\n<b>Event loop inspector</b><br/>\n<br/><br/>\n\n<a href=\"https://badge.fury.io/js/event-loop-inspector\">\n   <img src=\"https://badge.fury.io/js/event-loop-inspector.svg\" alt=\"npm version\" height=\"18\">\n</a>\n</div>\n\n\n# Purpose\n\nDump event loop data.\nUseful to known which processes are running and potentially block your application.\nCan be used for real time monitoring also.\n\nIt basically call core NodeJs functions _getActiveHandles and _getActiveRequests to inspect event loop's state.\n\nNo dependency.\n\n# Compatibility\n\nSupported and tested : >= 4.x\nNot supported but should work : 0.12.x\n\n| Version       | Supported     | Tested         |\n| ------------- |:-------------:|:--------------:|\n| 9.x           | yes           | yes            |\n| 8.x           | yes           | yes            |\n| 7.x           | yes           | yes            |\n| 6.x           | yes           | yes            |\n| 4.x           | yes           | yes            |\n| 0.12.x        | no            | yes( manually) |\n| > 0.12.x      | no            | no             |\n\n# Installation\n\n```console\n$ npm install event-loop-inspector --save\n```\n\n# Usage\n\n## Basic usage\n```javascript\nconst inspector = require('event-loop-inspector')();\nconst dump = inspector.dump();\n\nconsole.log(dump);\n```\n\n## Output\n```javascript\n{\n  handles:\n      {\n        setTimeout:\n            [{\n              type: 'setTimeout',\n              startAfter: 311,\n              name: 'anonymous',\n              msecs: 2000\n            }],\n        Server:\n            [{\n              type: 'Server',\n              address: '::',\n              port: 8000,\n              listeners: [{name: 'connectionListener'}]\n            }],\n        Socket:\n            [{\n              type: 'Socket',\n              localAddress: '127.0.0.1',\n              localPort: 45014,\n              remoteAddress: '127.0.0.1',\n              remotePort: 8000,\n              remoteFamily: 'IPv4',\n              method: 'GET',\n              path: '/toto',\n              headers: {host: '127.0.0.1:8000'},\n              listeners: []\n            }]\n      },\n  requests:\n      {\n        TCPConnectWrap:\n            [{\n              type: 'TCPConnectWrap',\n              address: 'xxx.xxx.xxx.xxx',\n              port: xxxx,\n              localAddress: 'xxx.xxx.xxx.xxx',\n              localPort: xxxx\n            }]\n      },\n  setImmediates:\n      [\n        {type: 'setImmediate', name: 'setImmediateTest2'},\n        {type: 'setImmediate', name: 'anonymous'}\n      ],\n  nextTicks:\n      [\n        {type: 'nextTick', name: 'afterWrite'},\n        {type: 'nextTick', name: 'anonymous'}\n      ]\n}\n```\n\n## Inspect more functions\n\nBy default setImmediates and process.nextTick can't be retrieved with functions _getActiveHandles/_getActiveRequests.\nIf you want to allow event-loop-inspector to wrap some core functions, instantiate inspector with first argument set as true.\n\n```javascript\nconst inspector = require('event-loop-inspector')(true);\nconst dump = inspector.dump();\n\nconsole.log(dump);\n```\n\nFunctions that can be wrapped :\n* process.nextTick\n* setImmediate\n\n\n**/!\\ Enabling this option may lower performance of the functions involved.**\n\n# Test\n\n```console\n$ npm test\n```\n\nTo generate coverage :\n\n```console\n$ npm run test-coverage\n```\n\nCoverage report can be found in coverage/.\n","_attachments":{},"homepage":"https://github.com/keymetrics/event-loop-inspector","license":"MIT"}