{"_id":"strong-express-metrics","_rev":"124-4b6b05abdbd31b3fdcbdd088889af85e","name":"strong-express-metrics","dist-tags":{"latest":"2.0.3"},"versions":{"1.0.0":{"name":"strong-express-metrics","version":"1.0.0","keywords":["StrongLoop","LoopBack","Express","Statistics","Metrics"],"license":{"url":"https://github.com/strongloop/strong-express-metrics/blob/master/LICENSE.md","name":"Dual Artistic-2.0/StrongLoop"},"_id":"strong-express-metrics@1.0.0","maintainers":[{"name":"bajtos","email":"miro.bajtos@gmail.com"}],"homepage":"https://github.com/strongloop/strong-express-metrics","bugs":{"url":"https://github.com/strongloop/strong-express-metrics/issues"},"dist":{"shasum":"9be5bd7583bd8f08ce38fd897a2e18aaeea1f1dc","tarball":"https://registry.npmjs.org/strong-express-metrics/-/strong-express-metrics-1.0.0.tgz","integrity":"sha512-2llc73Rip5qmSjFlvSMfpWt/8HpHhqAzOP4knTNFGf/3gj/n0CGndbLTaqX+GCzR3o6CL3Ret0+t6BSFO5iVZQ==","signatures":[{"sig":"MEUCIQCqz9t8Cr1vllCB8ks5cgjy6Ur6qzwL+JgZ2lfuAjV2iwIgecdi6FFcp6GUh7j2rdppTxu4oed87zG4Uwz3p57bGNw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"9be5bd7583bd8f08ce38fd897a2e18aaeea1f1dc","gitHead":"eb2f0c2d73e2e42dba904a139e40cc001565c52c","scripts":{"test":"mocha","pretest":"jscs . && jshint ."},"_npmUser":{"name":"bajtos","email":"miro.bajtos@gmail.com"},"repository":{"url":"https://github.com/strongloop/strong-express-metrics","type":"git"},"_npmVersion":"2.2.0","description":"An Express middleware for collecting HTTP statistics.","directories":{},"_nodeVersion":"1.0.3","dependencies":{},"devDependencies":{"chai":"^1.10.0","jscs":"^1.10.0","mocha":"^2.1.0","jshint":"^2.6.0","express":"^4.11.1","supertest":"^0.15.0"}},"1.0.1":{"name":"strong-express-metrics","version":"1.0.1","keywords":["StrongLoop","LoopBack","Express","Statistics","Metrics"],"license":{"url":"https://github.com/strongloop/strong-express-metrics/blob/master/LICENSE.md","name":"Dual Artistic-2.0/StrongLoop"},"_id":"strong-express-metrics@1.0.1","maintainers":[{"name":"bajtos","email":"miro.bajtos@gmail.com"}],"homepage":"https://github.com/strongloop/strong-express-metrics","bugs":{"url":"https://github.com/strongloop/strong-express-metrics/issues"},"dist":{"shasum":"14c8df167a975a3b76de2754b000868a860a098e","tarball":"https://registry.npmjs.org/strong-express-metrics/-/strong-express-metrics-1.0.1.tgz","integrity":"sha512-89HFEEfbUjetx9OpbieQotIzKedn2XNSLcehJbyfFI1b/zccdOW1LHrQKbibxX7Dj847yvJkr9gdAjV/qd0qQw==","signatures":[{"sig":"MEUCIG6dD53LSRtpXhqUFedgSwjPg61PBwDflZDplcavipAfAiEAjfa07rX+8tfvC0wEGt0nGKFRpwHDnhc12+Ki2k/eUOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"14c8df167a975a3b76de2754b000868a860a098e","gitHead":"e27d5ff1c32344297e9f36d897438c8a51ce1573","scripts":{"test":"mocha","pretest":"jscs . && jshint ."},"_npmUser":{"name":"bajtos","email":"miro.bajtos@gmail.com"},"repository":{"url":"https://github.com/strongloop/strong-express-metrics","type":"git"},"_npmVersion":"2.2.0","description":"An Express middleware for collecting HTTP statistics.","directories":{},"_nodeVersion":"1.0.3","dependencies":{},"devDependencies":{"chai":"^1.10.0","jscs":"^1.10.0","mocha":"^2.1.0","jshint":"^2.6.0","express":"^4.11.1","supertest":"^0.15.0"}},"1.1.0":{"name":"strong-express-metrics","version":"1.1.0","keywords":["StrongLoop","LoopBack","Express","Statistics","Metrics"],"license":{"url":"https://github.com/strongloop/strong-express-metrics/blob/master/LICENSE.md","name":"Dual Artistic-2.0/StrongLoop"},"_id":"strong-express-metrics@1.1.0","maintainers":[{"name":"bajtos","email":"miro.bajtos@gmail.com"}],"homepage":"https://github.com/strongloop/strong-express-metrics","bugs":{"url":"https://github.com/strongloop/strong-express-metrics/issues"},"dist":{"shasum":"8922f1866f37b64e73ce037cb65687a224e588d0","tarball":"https://registry.npmjs.org/strong-express-metrics/-/strong-express-metrics-1.1.0.tgz","integrity":"sha512-BfEcpaI64UWqsSrSZSYf8F545+sXXe5+ruiwfTU4mxBMnKkdP6aS6Fe4Pbt5AvaZu0B1xR7cB5tYm8B0iKRdsA==","signatures":[{"sig":"MEYCIQCc03t86X01BkIDNcPnil/8hfuNKdv9z8CdOO5DeuQsSgIhAIfhDyzMZvKYNPkr3aCcNk0152PWLAyNWr7FqOvcJj38","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"8922f1866f37b64e73ce037cb65687a224e588d0","gitHead":"4ffa508170c8bb265ae8dcd51b7a440bea6a0084","scripts":{"test":"mocha","pretest":"jscs . && jshint ."},"_npmUser":{"name":"bajtos","email":"miro.bajtos@gmail.com"},"repository":{"url":"https://github.com/strongloop/strong-express-metrics","type":"git"},"_npmVersion":"1.4.28","description":"An Express middleware for collecting HTTP statistics.","directories":{},"dependencies":{},"devDependencies":{"chai":"^1.10.0","jscs":"^1.10.0","mocha":"^2.1.0","jshint":"^2.6.0","express":"^4.11.1","loopback":"^2.15.0","supertest":"^0.15.0","loopback-datasource-juggler":"^2.23.0"}},"2.0.0":{"name":"strong-express-metrics","version":"2.0.0","keywords":["StrongLoop","LoopBack","Express","Statistics","Metrics"],"license":{"url":"https://github.com/strongloop/strong-express-metrics/blob/master/LICENSE","name":"StrongLoop"},"_id":"strong-express-metrics@2.0.0","maintainers":[{"name":"bajtos","email":"miro.bajtos@gmail.com"},{"name":"rfeng","email":"enjoyjava@gmail.com"},{"name":"strongloop","email":"callback@strongloop.com"},{"name":"ritch","email":"skawful@gmail.com"},{"name":"altsang","email":"al@strongloop.com"}],"homepage":"https://github.com/strongloop/strong-express-metrics#readme","bugs":{"url":"https://github.com/strongloop/strong-express-metrics/issues"},"dist":{"shasum":"ce400bc8d1b401b537261abf487a85cb89f99451","tarball":"https://registry.npmjs.org/strong-express-metrics/-/strong-express-metrics-2.0.0.tgz","integrity":"sha512-ZpFk3xaPNvliZUqnve//77bi/dnwZJo+x9TTfhiio6WoV4JW4DJmtS1Gcj4Qo4X7WFCDGtwu5qndxbIQKCwfmg==","signatures":[{"sig":"MEQCIFD2DC4zBE755OVuh4Rgw2IOa6eL6GPu76DB/CWALYPdAiABe+jyJMXizGpxuwd0nngf91OaXMjsToXtcqs04xFAKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ce400bc8d1b401b537261abf487a85cb89f99451","gitHead":"5ebc99a740b413cc2be2e4c6418c78fef4954861","scripts":{"test":"mocha","pretest":"jscs . && jshint ."},"_npmUser":{"name":"bajtos","email":"miro.bajtos@gmail.com"},"repository":{"url":"git+https://github.com/strongloop/strong-express-metrics.git","type":"git"},"_npmVersion":"2.10.1","description":"An Express middleware for collecting HTTP statistics.","directories":{},"_nodeVersion":"2.1.0","dependencies":{},"devDependencies":{"chai":"^1.10.0","jscs":"^1.10.0","mocha":"^2.1.0","jshint":"^2.6.0","express":"^4.11.1","loopback":"^2.15.0","supertest":"^0.15.0","loopback-datasource-juggler":"^2.23.0"}},"2.0.1":{"name":"strong-express-metrics","version":"2.0.1","keywords":["StrongLoop","LoopBack","Express","Statistics","Metrics"],"license":{"url":"https://github.com/strongloop/strong-express-metrics/blob/master/LICENSE","name":"StrongLoop"},"_id":"strong-express-metrics@2.0.1","maintainers":[{"name":"bajtos","email":"miro.bajtos@gmail.com"},{"name":"rfeng","email":"enjoyjava@gmail.com"},{"name":"strongloop","email":"callback@strongloop.com"},{"name":"ritch","email":"skawful@gmail.com"},{"name":"altsang","email":"al@strongloop.com"}],"homepage":"https://github.com/strongloop/strong-express-metrics","bugs":{"url":"https://github.com/strongloop/strong-express-metrics/issues"},"dist":{"shasum":"b91fcbc89626fd8774a093dcb6865f3fb30a214c","tarball":"https://registry.npmjs.org/strong-express-metrics/-/strong-express-metrics-2.0.1.tgz","integrity":"sha512-idjEivAqN/MrfRpzCv8+mqFgPwecWmbvMnesMrSv6s9J7g0oh2E1O8sV3jqPvdmYFo1r9H/cXQJMe1x1DRcvng==","signatures":[{"sig":"MEUCIHd9IzSP1ejGqMkrHieF/pHSUUYdUrbe8qjqdFrm1ESOAiEAw/Jrcc1DHkvKxOeKCKcgIi/pDN3grMRpDxavyJeQ7R8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"b91fcbc89626fd8774a093dcb6865f3fb30a214c","gitHead":"7d98c6237ac6b389cbde60c450937d8e85de538f","scripts":{"test":"mocha","pretest":"jscs . && jshint ."},"_npmUser":{"name":"rfeng","email":"enjoyjava@gmail.com"},"repository":{"url":"https://github.com/strongloop/strong-express-metrics","type":"git"},"_npmVersion":"1.4.28","description":"An Express middleware for collecting HTTP statistics.","directories":{},"dependencies":{"debug":"^2.2.0"},"devDependencies":{"chai":"^3.0.0","jscs":"^1.13.1","mocha":"^2.1.0","jshint":"^2.8.0","express":"^4.11.1","loopback":"^2.18.0","supertest":"^1.0.1","loopback-datasource-juggler":"^2.30.1"}},"2.0.3":{"name":"strong-express-metrics","version":"2.0.3","keywords":["StrongLoop","LoopBack","Express","Statistics","Metrics"],"license":"SEE LICENSE IN LICENSE.md","_id":"strong-express-metrics@2.0.3","maintainers":[{"name":"bajtos","email":"mbajtoss@gmail.com"},{"name":"chandadharap","email":"chanda_dharap@yahoo.com"},{"name":"ibmcloud-admin","email":"rmg@ca.ibm.com"},{"name":"kraman","email":"kraman@gmail.com"},{"name":"octet","email":"vieuxtech@gmail.com"},{"name":"rfeng","email":"enjoyjava@gmail.com"},{"name":"ritch","email":"skawful@gmail.com"},{"name":"rmg","email":"r.m.graham@gmail.com"},{"name":"strongloop","email":"strngops@us.ibm.com"}],"homepage":"https://github.com/strongloop/strong-express-metrics#readme","bugs":{"url":"https://github.com/strongloop/strong-express-metrics/issues"},"dist":{"shasum":"090a906980461fd33e88e12ac70ec7bbb5062ee5","tarball":"https://registry.npmjs.org/strong-express-metrics/-/strong-express-metrics-2.0.3.tgz","integrity":"sha512-tbF97La5qjb6iFW/CSlXAMOKX24UeSyXrUE6CJo8GucZzUI7yIPI+xKkAX6RsC3pdw4NWw4YR6T5fQKKRpcMZQ==","signatures":[{"sig":"MEQCICZFj0G52wm9ifhO/0mrwg1zSynwetLePvk26/Yo5A3FAiBQhB7WGZOa5f6/c2lx5rNbjjimSjpgQosWXF20T1sJbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"090a906980461fd33e88e12ac70ec7bbb5062ee5","gitHead":"3db876a8b8645a581cf6e799a03b09d73cd924f0","scripts":{"test":"mocha","pretest":"jscs . && jshint ."},"_npmUser":{"name":"rmg","email":"r.m.graham@gmail.com"},"repository":{"url":"git+https://github.com/strongloop/strong-express-metrics.git","type":"git"},"_npmVersion":"3.8.8","description":"An Express middleware for collecting HTTP statistics.","directories":{},"_nodeVersion":"4.4.3","dependencies":{"debug":"^2.2.0"},"devDependencies":{"chai":"^3.0.0","jscs":"^1.13.1","mocha":"^2.1.0","jshint":"^2.8.0","express":"^4.11.1","loopback":"^2.18.0","supertest":"^1.0.1","loopback-datasource-juggler":"^2.30.1"},"_npmOperationalInternal":{"tmp":"tmp/strong-express-metrics-2.0.3.tgz_1462573776227_0.2627274710685015","host":"packages-12-west.internal.npmjs.com"}}},"time":{"created":"2015-02-04T07:19:19.165Z","modified":"2026-04-14T15:10:43.462Z","1.0.0":"2015-02-04T07:19:19.165Z","1.0.1":"2015-02-04T07:43:00.817Z","1.1.0":"2015-04-15T15:45:33.388Z","2.0.0":"2015-05-25T15:03:42.597Z","2.0.1":"2015-06-24T18:41:43.965Z","2.0.3":"2016-05-06T22:29:36.844Z"},"bugs":{"url":"https://github.com/strongloop/strong-express-metrics/issues"},"license":"SEE LICENSE IN LICENSE.md","homepage":"https://github.com/strongloop/strong-express-metrics#readme","keywords":["StrongLoop","LoopBack","Express","Statistics","Metrics"],"repository":{"url":"git+https://github.com/strongloop/strong-express-metrics.git","type":"git"},"description":"An Express middleware for collecting HTTP statistics.","maintainers":[],"readme":"# strong-express-metrics\n\nAn Express middleware for collecting HTTP statistics.\n\n## Installation\n\n```\n$ npm install strong-express-metrics\n```\n\n## Usage\n\n```js\nvar express = require('express');\nvar metrics = require('strong-express-metrics');\n\nvar app = express();\napp.use(metrics());\napp.listen(3000);\n```\n\nYou can extend the metrics reported by the middleware by providing\na builder function. The output of this builder function will be merged\nwith the default record produced by the middleware.\n\n```js\napp.use(metrics(function buildRecord(req, res) {\n  return {\n    client: {\n      id: req.authInfo.app.id,\n      username: req.authInfo.user.email\n    },\n    data: {\n      // put your custom metrics here\n    }\n  };\n}));\n```\n\nIf your application is not running inside StrongLoop's Supervisor,\nyou can provide a custom function to process and report the statistics.\n\n```js\nmetrics.onRecord(function(data) {\n  // simple statsd output\n  console.log('url:%s|1|c', data.request.url);\n  console.log('status:%s|1|c', data.response.status);\n  console.log('response-time|%s|ms', data.duration);\n});\n```\n\n## Record format\n\nThe middleware produces records in the following format.\n\n```js\n{\n  version: require('./package.json').version,\n  timestamp: Date.now(),\n  client: {\n    address: req.socket.address().address,\n    id: undefined, // builder should override\n    username: undefined // builder should override\n  },\n  request: {\n    method: req.method,\n    url: req.url\n  },\n  response: {\n    status: res.statusCode,\n    duration: res.durationInMs,\n    bytes: undefined // TODO\n  },\n  process: {\n    pid: process.pid,\n    workerId: cluster.worker && cluster.workerId\n  },\n  data: {\n    // placeholder for user-provided data\n  },\n  // extra info filled for LoopBack applications only\n  loopback: {\n    modelName: 'User',\n    remoteMethod: 'prototype.updateAttributes',\n    // instanceId is undefined for static methods\n    // e.g. User.find() or User.login()\n    instanceId: 1234\n  }\n}\n```\n","readmeFilename":"README.md","users":{"mrnoname":true,"ganeshkbhat":true}}