{"_id":"opentelemetry-instrumentation-mongoose","_rev":"62-4879b939f7bc8db1ad1ff3ebfd185578","name":"opentelemetry-instrumentation-mongoose","dist-tags":{"latest":"0.34.0","canary":"0.4.1-aws-import-one-serivce.0","alpha":"0.0.0-2022-07-11--08-09"},"versions":{"0.0.1":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.1","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.15.0","@opentelemetry/instrumentation":"^0.15.0","@opentelemetry/semantic-conventions":"^0.15.0"},"devDependencies":{"@opentelemetry/node":"^0.15.0","@opentelemetry/tracing":"^0.15.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"e8d21f42b740d31a42efb331b48bdb92e6e0fe05","_id":"opentelemetry-instrumentation-mongoose@0.0.1","_nodeVersion":"12.20.1","_npmVersion":"lerna/3.22.1/node@v12.20.1+x64 (linux)","dist":{"integrity":"sha512-V3uC9m8sDW9hxsIyCzZhoj6G/9nbVW40LfeZr8JCnLdHugpz02pNadMVuAQIK2wZICKIoFNo0UxE/hV66ns/pA==","shasum":"c9d6ab3c94f311d4244da5a9acfe48b8edea5b86","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.1.tgz","fileCount":28,"unpackedSize":126919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK/UpCRA9TVsSAnZWagAABEQP/1p9oeBSjo94qVzDYXyH\nXnEgDBZwUV9I/gQMdcu0vAKx4VFn4KMIRarJ+xSaD/BLs7WjhGEgEjUQjn9N\nXljOInD1vLWmHYQwUBtar+VyTk1R1DaQvBO2loF1DaB2eR7TNUzakLKKVKOh\npwB7sfXqdHOiEdVqW8EHu3zZysRsJPKP3EAkNj5OP2fiUN7R3Ie1PUzD7Oy3\nL5X2J0ugE4gBAVnhwTBN9KLd/31aGVTAlWCz+1BoKpLiWvYqAp6Qy2Alt0ww\nhLqoXzHS78+FbVr2RuO2VQeKwr8vwVh4H1eeXclYv81Jf/uO544d7MKY9Pkb\nivwZofviVtqeBnmR5jnUPPxKD/wsXihovZhUK1dAjsDfV0hx6sPYkQcQxgVL\nRFo2hRIJXMRGAN5H56fUuuhQnkQr/8syo9VUs3q/4WToswmDuuVQksP/RyV+\nBIKgwnZhEKItDTMZqeMJWEuRqCo0WBYwIBnAgYEOHx0l1F/scigow4RS5B4B\nkz+YAcI1YWJjmJ8yoI0DtZhMYv5l81JyBlIpsBvCaHdjej5CTWEV9FIRzBBi\n9trQSuGBAkyvTFqOe+LN/ZzNSUlI8XIvycICOyU977vDIo8bCW56HgbLtQAa\nJ9SzA+77SPJG5/tRBavkOrwYsX3UlHArrrIJ7vpafeydY/4sO0kvTKz1guu6\na0y3\r\n=j06o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDS9i2joO5c4e68O9lU7XiowFcUpNmJ6ZhWkFWWgZF5vQIhAPNOEeK8xw7CR2/TOW2XP7Wk/I1Rf5mSd60euXw7oRag"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.1_1613493545154_0.5570230568165215"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.1.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.1.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.16.0","@opentelemetry/instrumentation":"^0.16.0","@opentelemetry/semantic-conventions":"^0.16.0"},"devDependencies":{"@opentelemetry/node":"^0.16.0","@opentelemetry/tracing":"^0.16.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"d3efe60f70de750b826225c56659bb44be423869","_id":"opentelemetry-instrumentation-mongoose@0.1.0","_nodeVersion":"12.20.1","_npmVersion":"lerna/3.22.1/node@v12.20.1+x64 (linux)","dist":{"integrity":"sha512-ez1zHZnu8lvM6icIel1jOcCls5btaE6Yw1yeg7gJZaIvQLUobLTU6lyNTWbeWYGFRgCp/Ta/QYCvai/tE+GJQQ==","shasum":"2332c60e9d146fb1e3e79e24c62de94d98e56be3","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.1.0.tgz","fileCount":28,"unpackedSize":124998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLkwACRA9TVsSAnZWagAAYTYP/jRyrUzj4UXNcIPUboIR\nOYsjYjIrCL2NPkNIs/t5tqZ+V1I0oqzu4O4w3an9oBclCvi+G7lP7aJ0jakw\nmarn3syoNM8XuYcIxqfsMK4fy9ctlWL8CvNsbrsnqpXEYM3+5rgQAYvu4wlg\nr00sCTaeYQXOiFo6/ABjM4vGChBxXsaSQpgLLOWJa5WCDADkoKniMwpOhv8+\nx5amGuI5nzvZ/dkIUg9iXuNs7af9UUxJfEiecIyWksFC1VdRn16wsoXRrEh7\n6zf8xLldC+3BT9nSBh+OybFH0Yy2K8V3z1YVxE25GSpkJaLuCjaBohNgpEI2\nfO7XobZqwUlKD3w7LlAUNaygrS7BWIhoWR/yH31F3YYvq9pfRPVAvqtlj3q0\nLx30hYs100XK5+DwihH/LmfyeFkta41tDKGN2upQ4VJsXtLe5vJ0/1pxBpDc\nkihnYPLc0GND1zi0E0eN+C2vbv78DdmmYPl7RSOpdlarpDlH1jJ531GqwtXz\nhNrMlg6pGrTZ4Pbr98m2+3SJmzz7uzV/c7r72lCQ39kXB4JsRKiKH8Hz2H9x\nv0niH3hsvTP7J4wigqPfNP2aJIfgBaJV8iNJFgXt0+HwUGKC0t5yssR5yr7m\ndsyM082RKVt20bW4Y+l1bCwQj27zaUhAA6p6MEzjIo2lU74/7UvZXcftRy5J\nmsIe\r\n=GfWJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF+WdMplv/8Arz771sC4qa/PVDDQMPDNBuqYTfbuJdW1AiEAktATr+WKjVgPde+5JgXmmlSXZ9uzo82m01NbKhflQEs="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.1.0_1613646847454_0.7139455864113182"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.2":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.2","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.15.0","@opentelemetry/instrumentation":"^0.15.0","@opentelemetry/semantic-conventions":"^0.15.0"},"devDependencies":{"@opentelemetry/node":"^0.15.0","@opentelemetry/tracing":"^0.15.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"bc510f07a406b2b26f7e29b993efbb29367004f4","_id":"opentelemetry-instrumentation-mongoose@0.0.2","_nodeVersion":"12.20.1","_npmVersion":"lerna/3.22.1/node@v12.20.1+x64 (linux)","dist":{"integrity":"sha512-raZdJ0+SgEijfqo72DRj2dL2Sykfwn0GMU/fMeitv9QEFB0AtnyHj6rV3Q1hA4dpk1WbicYbmS6OVxgVbHVK4g==","shasum":"4278cae52943a4463fcf7fc669c63124241f973e","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.2.tgz","fileCount":28,"unpackedSize":124848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLmhfCRA9TVsSAnZWagAAJPQP/RKIqvSK60W8u3s++Ekd\ndmB8MjB4JRW/Gbc6m7/MaS7yxuW+DRufhC1q+iwEIZo3R2woeFs/otAAt6nS\n70HtaeaI/sAwH+qVsLYpEbuv08t807CV+a22iFF3tSYzqTIvgCB81z/To1EZ\nFX7IrdLiFYRJZaiwd1vvzM5wm/KhD7GbUMDMrPEI7BKINPudefexIb0Ppmd4\niMlrN7tJj5SyUYIa/FVIK49rZcAg+qABqySTtwGNa7hvjIXiAPY6PC++/Qa2\nGnmcZwcWn5WmNpnsr5Vsr+wz/F3rnGcDdq7/A83Vc4O+NCaQPdU5CR6X/cf9\nHr4N8/u/fXI9eXA4SRT8+0/IPGzj7LKvOknhMCxW79XBBPSRTO38c9K2zn5Q\niTt1HPXoCM8tE4vzl2c3WA9ZR3fdR82PWKParkmyKmahurW0b9/I+oeek6aY\nemUGcUfbm6QtSK695hNLhcY5OmmB30ozSd8KG9ChNnoDfN6AKsbdzle4V44z\n1oDzrEC6Ysca+M000lL3Dtla0O/dK49j9oLmzvhWguYhDGZGSHvCoHvDKPfF\naR27QDyeMc6m9Hd4Tv9lJwPKFfx0nXvuW3DHxtAOWFRR+Wez58Bi6xCjGZMM\nkc4gVY+/ZFFvNnEFonMKN+bp37/sapYiYLWLNuNlqaajrNrzr+Yos5ycafCu\nQyg3\r\n=Bymr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCl8wyjgz9U8trhqv0aKmG5Zc88PqL9N2qFaUebUGyxuQIhAI0bSUS/Iwa7kh3dSCeNTbT/I8D6hIAxbxQIrUmjmRC2"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.2_1613654110987_0.8619519667957893"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.2.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.2.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.17.0","@opentelemetry/instrumentation":"^0.17.0","@opentelemetry/semantic-conventions":"^0.17.0"},"devDependencies":{"@opentelemetry/node":"^0.17.0","@opentelemetry/tracing":"^0.17.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"22453519e8612436f2fe817f5feecfe486e32162","_id":"opentelemetry-instrumentation-mongoose@0.2.0","_nodeVersion":"12.20.1","_npmVersion":"lerna/3.22.1/node@v12.20.1+x64 (linux)","dist":{"integrity":"sha512-D8iUQ6c3sczd5BWqUTZD1j9Vf8esvCt0Svl3f0VE9Q3dT2r1wLMKoVZ8L/AN0rfCyaWZvpkL7gC7kFIQa/MSZA==","shasum":"d70c03973470dfe00277456a914e30b0f171cdbf","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.2.0.tgz","fileCount":28,"unpackedSize":124415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLoJ1CRA9TVsSAnZWagAAHHkP/itCQxj/uVuChfo8wVKQ\nFOcJ8Hm4uPUwe8Ihmjl/9tNFuOWLONxpewHFoKvlysGlSu3A38sDPaxy9KIG\njDPX5xhsidj8slxLmOPNEIFKg/7PTn6i7wtBuuayBkLKDqdOMmlVphxaEIVO\nqTzWqxg+gmGdm9akXXYu5wEYn4D8xFiV9EOt0TFV2911TSGvx1AUmm0XfPwa\nnqH0hAc+S41bCFnFFllVxVlZZhRr/7QNBa2MBatdxeU35BiIo7VdUMUjkSgO\n4nrnUBXcckAVoCzp6CClkHMBxLe9uyD56eRVL0p6KmMmJHNPyHnKwgPFN5DK\nYsm9unl7k8srwL67TiPBaX3mUvJuM4a4GKRu4503HtN92QWNYz35RWd8liUh\nL6QahFl1UKTHYkiysHMDkmed3jKox4nGpl8g1xylj7xOTFAC6i7NygTLLAjp\nOMZzs3bjOczcaWmblCWUlAUkQ3r7q3RgFbXNZ6G0+eI2ZwTkpQ+60O6GHJo1\nV0/rJGWGMc6BtFA/9fKOJt1rDFP5Fl8tO8mqC+nQn2DjMfFjbTWGig+FvYVh\nZluQFuOcErlu+g1ADOSVaM/xYBAghhv79Y8STfunyvTZVtnURDByn+N0PdU4\nBNU6554IqhvPAWDHV0LTIj/tmwsfPP97FZJJRfdzg6P2v6dzmiyCg45LggIX\nmo2Y\r\n=gCep\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHLe4iT755RjHJr69KMB1cTr+cmKObR53p6KFDpjgz+AiAnYNsTofFfsnzN+vYj3iB+DsHXp54rLi05P4FtRmHLVw=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.2.0_1613660782567_0.5481372064353394"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.2.1":{"name":"opentelemetry-instrumentation-mongoose","version":"0.2.1","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.17.0","@opentelemetry/instrumentation":"^0.17.0","@opentelemetry/semantic-conventions":"^0.17.0"},"devDependencies":{"@opentelemetry/node":"^0.17.0","@opentelemetry/tracing":"^0.17.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"0312aa58e73a215a2abba5ae23a08536517b3517","_id":"opentelemetry-instrumentation-mongoose@0.2.1","_nodeVersion":"12.20.2","_npmVersion":"lerna/3.22.1/node@v12.20.2+x64 (linux)","dist":{"integrity":"sha512-I2NJPeMoWRfXT90QcuHMlzuL8dXEeDIGrYgUcYIfk9vu58/meLH+Hx9xfPFMygWPxbFLInZ1DDpSc4UzrYq/BQ==","shasum":"96c1b426212b9395ab485ff09f58416b263ce6ab","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.2.1.tgz","fileCount":28,"unpackedSize":132039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPPUxCRA9TVsSAnZWagAA3WAQAIQT4YBHCZOT56SZHjnX\nWPtwLN4bkTrEMM3x1jg4AfU2B/FQkNSAFMjhjhAXbXLF3a56puFZA2OWNawG\nlbigsJbRAHbMVi07tbBK12MujC/iGmpuCwhW3bsMnVyW9lOWlAVaiEk1Uz16\nDOtwG3kr3FpP3tp+5K1vWuGW1kKiQSI8CAuqEwNMKoxxlD1/fBJH2vcWnIZj\nDl3Za8NIeyZhJJzhPQLfwGNvsOwehH/WyLI+D4/5GX8K5aZBeYh59cNNEgpE\njMbl9WYI4+zuDY+cwNPGS+HR4uI73fuGQB3cs9Z22hHSmYxkA7EgI2pEd5uK\nBsSTymfzHJMyWvDXPHFN+S/L7Fbd2ZKm/szezUaGwkF7m32MRn886vnH23aC\nNIPDWPljgoiWDcjwuxZMb0LxCqTQ1BnG/J9KV1xhFLrMfZYOZJPzY836zldY\nwzgv0D0nljRkYdSaf5yGfehwa+BAFeN0kEpSBuYm8Faz+9H41VLPo3clbWEF\n1T3IodFX0b3C39UN6r6L1KsvXYiQ8iPgaxOov/IleMnT00f28AnV76dELvR/\nD47Xs7Zo3q38+V4kc2ig05eHw/IWcUWUUEr7gNS3eZXbqzGnkku6nHcygMiL\n070GgVV/pRW3mfVReuxQlU/2pVo6yVjj/dNx3WqonZ7el0W3DyTtuorg+tcd\nibvf\r\n=32Q3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmk4ToUIPZ5GMhm37QxM8VcOh446KvyLuosrgVNwNegAiBhjMty/yy/+OE7ifqeVr5PFFAVychhCRqEEx7rWhBvRw=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.2.1_1614607664691_0.8574725102920717"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.2.2":{"name":"opentelemetry-instrumentation-mongoose","version":"0.2.2","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.17.0","@opentelemetry/instrumentation":"^0.17.0","@opentelemetry/semantic-conventions":"^0.17.0"},"devDependencies":{"@opentelemetry/node":"^0.17.0","@opentelemetry/tracing":"^0.17.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"99146cd88aace5c83f8d2034b81d44256ae4ac42","_id":"opentelemetry-instrumentation-mongoose@0.2.2","_nodeVersion":"12.21.0","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (linux)","dist":{"integrity":"sha512-IWHrJ5mufE4lw6MBntSLxNY5y1E1W5C/SJUwsFFLLQdlkBvGVMn0Wr95NKTzfSl8fzmmLX4lsZrDmQntDHwhqw==","shasum":"74866bc94db0b78b49d0dbc099487cc4836b8fcd","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.2.2.tgz","fileCount":28,"unpackedSize":132485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQN9RCRA9TVsSAnZWagAAutQQAJB13qU/AYTv+ZxKnacp\nvqixRlMm257IABxT2FCODZTYefsPvmWOSh8ZifaXzrE+9/ICwkBkUS1yWiWh\nPQ5VzvlsDoJWpr5UC0SaC9SpkWOXPQhWh687W1xDeOogE7O/Xc2nDUFeTnra\nfq/ApaEDGnRCE/yZUFhg7QvEA7zOVIAf4wzWLrF2e1zn+/THPxyOnvKD/OFH\niNP7wEhWq6dDWtMdxOv63SgHNSe5S5S5Aq334zE9dYIYSKOT4zhRn48I8S/Y\nnRmdWcSZs8gjSU++zYU4PVkMECq8lGKFx/myw1yVl9JekQ306yhLk5cFogiu\nKOjCZgzbTu3BdC/FpamX3zWkgppvxUMVgzfFoTWlFJS4OKejgXT0NyO45iFk\npgyACSGxBIZ+tafa7ct8Ggo6jekTc2xAYTp/bpx3ovJl+Iq9rjloYUMMtyG1\ngq9tlFAnFRTlXycgRez5lZhVosZoc7w81zYItInute86V9jUfXs4XBSAU9+A\nX/N+ihGMAM4225YpEjeeDgUeDO7ClTbX70SJcYR3tXexscof3OtGMjkTDkrw\nOc2HNDjgk1uLUZZxaQuOsHTx/5MApSgQuwG3Itv+26og51Vjxorms13bWk6w\nCrBYHTn3+dgPXXYge+59UMMGWUMhnkHIh/M74laVjK303zmo6CPuGAB7JOuk\nlv+z\r\n=8qbr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDChZ/Y2Pwz2Df1JOqwyEUyq+EfRLcLVKF/Plb8PCzy3gIhAK+pp9vLlX5lHmD3iFp8nx+Ied2kHrEoiwkBP7Uf8fIa"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.2.2_1614864209476_0.3001010419321195"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.2.3":{"name":"opentelemetry-instrumentation-mongoose","version":"0.2.3","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.17.0","@opentelemetry/instrumentation":"^0.17.0","@opentelemetry/semantic-conventions":"^0.17.0"},"devDependencies":{"@opentelemetry/node":"^0.17.0","@opentelemetry/tracing":"^0.17.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"38cf1a77aae5ae08ad5c156b2e05f926ab443696","_id":"opentelemetry-instrumentation-mongoose@0.2.3","_nodeVersion":"12.21.0","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (linux)","dist":{"integrity":"sha512-o0Ls3GuIIk9PgBTnHL17+MoD2+UTJBYzEbRtJAxCaJRbt3Um5ZLnFUxd5/tYZHOSU+UPUQrWDYmQdQqUZm644A==","shasum":"459de02aba8bcd32c969f2f403ac8241a827d4e4","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.2.3.tgz","fileCount":28,"unpackedSize":133363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRNqnCRA9TVsSAnZWagAAi6oP/06tD2aOep1r/JOpN2WR\nNDd9dEuYzGpqObNxqjQfLvq++oknmpG3fYKT7nrg5VRBphVzF+6uaJYKQYbw\nj34Ifg9WdE/yjUc4wK1omKIgRV66r9ldNR+B6I5MBPRRdu9uKQk3BzIeHfoj\najycMYG7rEkaO/ObV/KOsUHchI14RmtqEU3iS8o/MYLuAq9HzAa0v9atFJr3\n9ja8JinQRxL13CWJVuFlRol8GSYbrRxkmDqIII1auHfnZopujWGgWkjLk6CW\nFCsPumE/bVVUEpGbsl5PiUcp3v+J+R7AknK+nI0r9KDXulwDy0m6s/UZW7e7\n8GQBi1BWqnrOafWE09dL3+3iGCCsnFEp+uyrZF9YKGRSD3zYdYzeOCvzQetN\nLgjOYR0+zFBr5mFvy8ZPEUfqqcbPr3TYgSG4DX8i4rQ3YZpJz4hsEguUihXI\n4DKcja1Xvyl/Ixggsj5JsJv83xMyy6yqokVHGFd7DxXFpnBIK07jjyh1Prfp\nm8REaa500oocw5vNC3tp4OCuIq2+SuBj2h0agV7dZ540APdW4i8d9uT0kaXm\n17cgy7v5e0GL19KZVkh/910381VMeSs42tu/z/kMvGKx4Za0qS9TeUE/xvN3\nUPXjpfvEEFvXKdPfhFDd1O+X0ZIUL00ZKyV7mws4D3hs13u4E8mW2dDhQx2v\nD0I2\r\n=rhJS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBv6DhisliEqzlC1zBMQ1Feu9GpbLOCtEG5STOj4kF1AAiAGw+45IhXo6ZFGdl8W0PGXqe6pznYUSWCXL3H//22Kyg=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.2.3_1615125158486_0.5067242928836433"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.2.4":{"name":"opentelemetry-instrumentation-mongoose","version":"0.2.4","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.17.0","@opentelemetry/instrumentation":"^0.17.0","@opentelemetry/semantic-conventions":"^0.17.0"},"devDependencies":{"@opentelemetry/node":"^0.17.0","@opentelemetry/tracing":"^0.17.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"7db144c76afe71c7951fe939f8b073c85e18ce00","_id":"opentelemetry-instrumentation-mongoose@0.2.4","_nodeVersion":"12.21.0","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (linux)","dist":{"integrity":"sha512-UtPUIOULcHTmJeBcElq2hYuj2xiB9Fqu0BrFM/DtV4sLLIXOc51/wmDAxtLVlV7CD4pL89VHHWmaob+pGu0ZlQ==","shasum":"03c28d867b0a5a95fb165ee0ed82ce912ba4d0d1","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.2.4.tgz","fileCount":28,"unpackedSize":133483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTy21CRA9TVsSAnZWagAA3ZwP/362q6GM83OsIsh3s1vb\n0dJejD2r1vYm+uYk71dKXmzMnPg0wYLw61yaiz1w30m6/aRMIWXPuvMQ4hsq\nhvH8vUBYfEvMgnz01OQ8ssid+GUp9BZPm+Iplr2wbp5m+uP23TzY6Czo5Jhk\nGn6W9qcMhj1D51+LmDHIByhwvDsh3uQHZo9EWv32XlmHHDAt8OIOuQ+skCCS\nn66BbiMhv8oyhfjDpoPQT4Pcxpfb3t8iS8mtqLmArB7rdrl4FtVNk6ozMNzQ\n+GgxCJMMnaXq2NrP5Og3UV4hIQepRS/VgyfcvxtUYFKwj+/IFzetZQuC8Evl\n6oWg4sZ8YCnr83JBDKdzQu3jgi3s+n18iGfNf2hwHMHMDqBIQExZ1nO8SZsc\n1V4udQXPWe2zueg3qktOUyAz4eBPOSmzofCIDIpWBwGHY1yb3tAW36t9GLpA\nHENiqLCjxaRSPki3KFQEwoo9zTM5k54fgCkJ9lqpcKbwsgEw0lJCzACxxMLG\nIza5pQfLE8D58qfpziS7yIc0zQLNiOLNmPDX3Yv1bPJ+o0ZybEtH6iRKFFk5\ntgvQ5fM1oCd3c651ZLGGS0nxY1NSHOgCC5TCT+eh9xwn54Z6L4BvDS00ylG/\n5Srek8SOoyd2qmERDeaQ+he8jrO5M9ou8bZHRQKeFKCMZMRruv0N4cB9uKap\nYUvz\r\n=MIg8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDz678v8xM1q+4UbOLluAz0qmXhRE++kkwC4xHv5187LgIgJBOqLazpMpJ8SRJF06LC61EdeiKlDPCyZJr6BXTR+CM="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.2.4_1615801781550_0.38071104999014005"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.2.5-aws-sdk-v3.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.2.5-aws-sdk-v3.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.17.0","@opentelemetry/instrumentation":"^0.17.0","@opentelemetry/semantic-conventions":"^0.17.0"},"devDependencies":{"@opentelemetry/node":"^0.17.0","@opentelemetry/tracing":"^0.17.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"b344d60d0514c4e4487a12b86248995c16768a40","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.2.5-aws-sdk-v3.0","_nodeVersion":"12.21.0","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (linux)","dist":{"integrity":"sha512-lyHLZDxAaBOVaEW3d+/AFaAHGHI72zaBNvATDq/MOExnvSg2dshXbVEjJQzro3riyt5UbFrdOXm5eFP1rJamNw==","shasum":"d0acd3dcd8c2b412c5b397b9f0f8ebeca0449522","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.2.5-aws-sdk-v3.0.tgz","fileCount":28,"unpackedSize":133504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUKHaCRA9TVsSAnZWagAABt8P/20hGvhSih37/Gv+y5lf\n3Gs+/7dnQ54GVLBhSIsCnjlyErTPQCpDOx/UCTRG7TpEB9BrGJz7Gjt27CAy\nRC8lW52BFKPyZsHfDWz98XJfL9U4zsHShdj/XBBD4hFr3/yjWEII0rZHmusW\nzg0DFh0w2yhFHegCa8QT5B0rC1bQZUveDUJbB+RD/r4yL5deG+U4UXTIRjDS\nu/Z91s10/2sZwBh0ym6nrwzP/pLpUGLCLw9L/cfPyLHVgp9I7+xxuuAF9isE\nzo980N+zvFpNX2hAPOCXY4rh2Q/08eCfvJYSoaAjythp5r6N8Yh/WEFAAQYo\nmNUgBZO6l+mFyv179eilC1kp0OjX3H81nHTqgry+P/8aWLkIG1abjssuMxXe\n4FmZVVbf+59LMvyWi9biNkwFqxvuyQiH00kfKkS1tNLClkkf2Ub8khyRnLEs\nFkgyKw/q3zvp48urI5+vmuqTEmFfRh9+tj96ZN0qLXIvJ/3D1tMDL4Fb0xQh\n5PpZa07y391aJeVRZtk0FyHGDo/RqidbxBK+i1mXoUqYqcPUB3D50P4ONayV\nvmLuTCVSoVahdDqQY/XTkM1grErzJ4i4pxzytifZCnTxQtwqOvbmWAMJq2DJ\nZsL/Ow2kSjeJOM3ppkm+bfIpSr6uJ10a6LF0qd6zqaAG1LYqG6Xlkrb1zlEx\nZmLF\r\n=3Gww\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHG+pQ9MJ7SPsEPPnzKqyB0W/g5j9rfdMzEYZoGzZ7dqAiEA9QfvZyOvVdMoc1GY4MBF6oyh1T1YmNBsLVGRwiAS650="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.2.5-aws-sdk-v3.0_1615897050206_0.20952338670741044"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.3.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.3.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.18.0","@opentelemetry/instrumentation":"^0.18.0","@opentelemetry/semantic-conventions":"^0.18.0"},"devDependencies":{"@opentelemetry/node":"^0.18.0","@opentelemetry/tracing":"^0.18.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"3ba0a68be6bf32167217136346f1e4968a19e11e","_id":"opentelemetry-instrumentation-mongoose@0.3.0","_nodeVersion":"12.21.0","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (linux)","dist":{"integrity":"sha512-4J7pMauW4bjef5TYyktMeTOpTKmtKaEw8tyi14bvlU0iFoBn3fPZF9W2XtvvsVDzwZDbaSQVQpvw/JQ1gz6PBg==","shasum":"f11f929a21ec760b3288fe65bbfd9de43f08a2bc","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.3.0.tgz","fileCount":28,"unpackedSize":133966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUzFHCRA9TVsSAnZWagAAi3QQAIqMWOmZNJlUb/VwRomn\nSkcpbvzTUBcd3R8vn2HSI/P0pV+QjhF2Ux9xvdmJq9W5D+ehfja93NDdOTPA\nuxwP4jSbytt0MiS7JsoJBGaM88wx8x3p98I/xMRnLv5GTDgI2RGxUxNfQzRm\n1ozhbpebEyAKAJsg+Vl6veQpESjqnurdztqVLFaLdRSERnIuWvQg6aCCRtiH\n/I6z10t2TjzNDa1fQ3OSZZwRWGw+gOreq/q/FPXGzn+dxcPZXZ4UEo4wSFaf\n5VnqfisDSRSbWwR0eUt47MpSEdB1zD6F2qcj1/p/X0J7oB8p4Y0HZ4PQUgGo\nrMcmtNfHMVJsW9pFju1b9v5swGqdqvwMmwZl/LpZr62ZrrJqZaiYaVcniURH\npENSlKgzeE85TcWSX+mS0O7MMLjJN+EkkN0tIQBWbon5IrAiK673EWf3bRyy\n/nJ/zgRHn4GGq119v2anXO+JtRXE2yfGfvj1IFTA11a9Q0ESMU3Yg0Qmqwnm\n875a7Pgi5DxqSfLGsb96WzqUrQYieoxFsBY7Gv2Zbm2iObQdmw/hqfa2a8qd\nN7ufTh9mWdjtGyBoC3u/bPRnrC+cMXiaV1jxcrmDSqekhrCgN91zV4v/8KZ+\nrKHZo421ln8RifNtHkU4U+No+ftfzIg6DJMyyCtJ1qj7mgQqbXBfEiPtfpX3\n+4Vw\r\n=9TcD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfZZI1juTXHJZjuFE4QIKE1guxRGmTUzy8AMqmaObBPgIgSUX4TIZ9Gb8T0wcTFCQxEuyNCTVq/q4ZQoHkxRYItE8="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.3.0_1616064838830_0.1146197013979835"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.3.1-otel-v0.18.1.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.3.1-otel-v0.18.1.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.18.1","@opentelemetry/semantic-conventions":"^0.18.1"},"devDependencies":{"@opentelemetry/node":"^0.18.1","@opentelemetry/tracing":"^0.18.1","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"a196240634fd4cea8df6b5af60963bb7933c696d","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.3.1-otel-v0.18.1.0","_nodeVersion":"12.21.0","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (linux)","dist":{"integrity":"sha512-0ZBsNpuhmVc8wT5516RarhV9XqyERzLekYF3hO8FL23xxYdNgLAbkC2/ESJoQKu9GR7D6fmztljcARwER8SK+w==","shasum":"9d034630e2599c568918d6c22f23103f1823dfcd","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.3.1-otel-v0.18.1.0.tgz","fileCount":28,"unpackedSize":133993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYwR2CRA9TVsSAnZWagAAgT4P/0sccRcXbBs+hp2tbOWm\nkI+5M6izW8o/rJO3YcHb8TuxcYCRyrdSsHWV2G/cnSvDB4uyTH2tt7ChSAzM\nubfFGBTQsrtNaJgYwWSSFIIY16OHVoHJSr/XvGAWsydrAW2wC0gf0pvuwbgQ\n3iEZslLivTcH+WX5osVOEW7YvzW63yHJJymvYBHQTlTIEfMgzDs2JY2oIERA\nc3FbjGRpPxLgAGpBt4V3Niz9jtG9whKBQJ2CtVI8bQnfnbIIGlkDMucgWgTV\nhLpCtjnxDJvKlVl0pb02d5WNiZRiDgJgHB/qckr2UZd5mJ5tcQy69AtzKGJj\nip6scln+Z7igUX1ThgRIDkUtbLpJmWDstKQv6/uofOnHOTEaSbttZEhFv169\nBMc6e9RdgCaG1PWuM0t/CR1MROs5QV8nTwS3+cmRHDraPjZ9mjyzx6KXaFW0\nHLMQgIRd5dHdrxjTHQcCrWmI3DoE4Kn5upzqy89/ICpCuhnDFT+nN8ZWP0bY\nWE9vdZak2aLC+5piwUNLyeIQNEWMqrb5HUGkzbod5P2o4+GGKGcCBJHR89cV\niYFHy/rNujbiowwM8f+gEdHjXGp2TEG0cabpwK2bhjFrkZNH3LbEjpb/XaBk\nXPnpUuD/UqAXgf4udCoXLJchwJoNoXKOoYkI79T2Uht7oM0hy1D/E1NIPXhM\n3IbU\r\n=Zwhi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+rTSEqhIFQ70Du3NVJsvwZtaiBV7VzuGj77dp62UxNAIhAO/JYMPfKjqDviWqyr/mf7gfXESnj1Z2QfeDrg3+goKQ"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.3.1-otel-v0.18.1.0_1617101942400_0.8556670243051405"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.3.1-otel-v0.19.0.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.3.1-otel-v0.19.0.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"62794a132c5369023597e9fc3696a126a07b2473","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.3.1-otel-v0.19.0.0","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-9c/b4Cz2Mgju8kgLfMeWp5aKxcnmifBzFs0Y6CdtnwC0JYqt7rm33dNupNQ7q1nMmPRiZAwK5mFJxv280rw8DA==","shasum":"6c36a1a1e97d842752877bd339b987c446a91087","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.3.1-otel-v0.19.0.0.tgz","fileCount":28,"unpackedSize":134067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiB7MCRA9TVsSAnZWagAAi2EP/27HeZLvXNF1U+MWEqdn\nx0wCPpSt2hCPuPYZgS3lBL494+gQ8cqx+ssZi0glcoYz5XcbI3AGz6dKlAbe\nSetDJ+LMuwXJxD0ow77CepVPXqni5Oz+4/tlIDxFOj6qgIAQnmupBviyNz+q\nb5RN8XlFsSEDnLQJPWQ7rUqiA9UxS9miNGrAyxi4/lIk0TQyTcYc6EYRF1hl\nhrBM2EABlrLWT14SJkxcfOssObUThbziQcDx/jAh02zXKxBewlfMBTUjhhuQ\nW/OvwE0f3YYRrVKX8yErnD6yu9ePDQxkcHxIhd8HX5BehFYAbi4PxOETaAar\ngUyHAeqqHpc825Z37uBlUD41XD4U+nGATm3EAIGOqbIOvkn8ENUu8TGTMxuo\nFJx3w1rk3B9K4qJQX2kxv9TxC686CDuWnibJEZcNA34qtvl6f3nc4JPenUWA\nF2BYajcjmQ/Tv+KWDqVjfAbTsx/JSuOtEfVDpzJUB93wvxmm/+q6ZctELFMd\n7ree4I2CizKdfH2917W66Oadb+Q6wr7tbnG9PrTrF/k9DgWREpeAe+c1EO50\n1ivHy2G1RjpPWSoOZX/qoS4bHsThQXYMQshS9T/jjMAdBmzLkXjMeUKbHEN4\nNXb+UVvvnVlpj9CT11Y0Kbi7AC2gXciQq21t2ggVLje1KoqI/tEDx9qN4jv7\nD3SF\r\n=AUDd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGfzjO8NOWvnmOu+Ockw73Mi4yIHVCTlVhGM0Ii+tTxfAiEA5/Hp5dKzUg77Vu2bHVULByhAuCD2su45sgH+RvTjH+w="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.3.1-otel-v0.19.0.0_1619533516107_0.7359946284918444"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.4.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.4.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"1b74b8921ed523dbae077042585dc4feda0d602b","_id":"opentelemetry-instrumentation-mongoose@0.4.0","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-PFTYY8DC64xGD30wNaDMRdm37r8bA6Yd5yDlT1MMwOtsON0BLhfWPZ2wJxsBDg1Dz/MiLtq/6AuLH6pleNzFyQ==","shasum":"9e23306b45ba57334913a5e26a13f3506a81a767","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.4.0.tgz","fileCount":28,"unpackedSize":134304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiQXVCRA9TVsSAnZWagAAqOYP/iWrp1CT2nmUDT92a62/\nq88nXisEy40Ln4kWr00IRtuwUsgRatAx2mj/L4ifSMzO13WmOGuDXMUN3HQ7\nQJqyA8M7Cv9XDZX4ODW3ljMHaHA+l5OBOpiibVBshSdUS3Fe3DV6jA3/ItUL\nsWvk0fH2y2Ub+YtB1u41CzDo9qaB6V5g6fLtuAjiKfpbNUWACL+n1Mn/zPQT\nSV3Q6YcN7U8+enWTG/yfREaH40lby05cNAkKJByIlSpuDi/yjaqyIS2I/tt1\nLSC6MviYxPqqfnk6FeukxmnQXOr7FRuqGSJco91djdobyC0saU/9/Dl7kBmo\nNX0+liVVnYZyyqf/aaAat9Oz9/9xK/fzCp+WQbNDo0U+wvTK2mBhkgfO4Kul\nkTGiL9zry5+NOLaHs4kfkD8KXbAFDSJ4CgHcHL+lPo/HCS3elOhEi81INYAe\nNvKGh3BzJaPvWTmftId9Woc1IbWNYVRGiScC8BDE5pbe3QmuFIV6biKrcao1\nChiY2UD6qZ5kzvMEu/KOBknKMWoKp0PUaIqza86NllL60Zh61tnB8xjqBTlR\nEsAWVNEKMFLocF9rdvKlbOlMV2o5fNbtnvgheKJJJFsRN4M7ZWUI2Z0JHr8n\nmG8NReH+PByeUePMjsBPcs28ga58+cjgUyhfhzNsib8H6W8Hy/Y2WGS9ybfw\n5845\r\n=nwld\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCugdBeyIjePy0kdKBvDP5ZkBj8SWMo2ThnVcX5fzwsRQIgDlCsVRPAT0sm/ma1QMMzubsSfD0/V//bV033DflmxeQ="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.4.0_1619592661066_0.8350568606136999"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.4.1-aws-import-one-serivce.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.4.1-aws-import-one-serivce.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"863754d3c18e4293fec89dd79ce086b31cf4ece4","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.4.1-aws-import-one-serivce.0","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-wyBUeR0IM/PKYX3JV8PpmgSljg9uMOGZFq/DXXgAYeQdWJlLTpM+WTgu10md1EcZKG9bhS0m7TCikVVJEbXMRQ==","shasum":"51428ebdab0b72ae4b82572408bc0bb8a67d82c4","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.4.1-aws-import-one-serivce.0.tgz","fileCount":28,"unpackedSize":134337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiTNGCRA9TVsSAnZWagAAZxwP/inUn4wdbKH55Uu1Ox3A\nEtfeqHEb9kjDPqUsp5lIyPVQMU8qkapWBgAq0TWVF+ryp1z4lFfKl4J45fMM\nvLDJwt/xYLsZDFXYFGKC5EQKj71TbiF7puvSrNK2fS6kbYNfF58K1IuvEDUr\n0F/+SK+Pd94JFLN3WCy/EQa8uBYtMEIIjdXLhRCxlm0nJ8BQFuFX8RVGqk8s\nbdce4kCgWtN4D5whH4tnktHMVC3p9fn0uHAXRC3phbME0/6H9Exft/ZaG1Kz\nnPgwxkgO6iYMosf9p4+B+O7Rk8eBGrhcoqZMsrTbBd4EwpBaLyTwqUQU8Jkv\nEs7ABFRCggAviTHeVP6wk1t3V1c9uuImNm4lqHDLGboLRI0EswoUoMnmEtjv\nupLg/5b56v7/z/Em6RPxBBmWrSnfOO1kYRu9FTUzTAJMx+9mGe0pUZts+kOB\nhgsSEWW9G/XtYUPElg+fuI1EYobYlPiGWszGyotonuGYjsIc7loOFasOm7Eh\nCQH/F9ucE+LMaAQ8B2b+nhv7Xn6YhGV79MGUQn0IL+J9Ef0ELNRkgsFB44pB\nCcXeOdVXtbNU/xZY3EpYAXjMcNE9UgtL3l4EE7z7TZhA/zq+kRhl5fYK+0YG\n2Ys3vpRNv8lBulFrOgzWTPKaqlY7Iqo3GX9nYk3hOXYWhrPW13tbh27zUvrk\no/0v\r\n=0nd7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICuLLpY21HewuNpJfeUaH8USTlQ3MgK80N+pYoxk0mfiAiBsMyIU1n9naqAAK6v+XTTay6DF/0f3tqPYV32eSapB4Q=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.4.1-aws-import-one-serivce.0_1619604294051_0.06058344961290407"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.4.1":{"name":"opentelemetry-instrumentation-mongoose","version":"0.4.1","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"e9928659612059b6fb2af15605eebe0a32ef0d4f","_id":"opentelemetry-instrumentation-mongoose@0.4.1","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-7qP8cmE/Lv57N3L4mbxdJ+NWT1klkEzrnvEyhHOvvrSWLrnS/cxugXlSyN6gY/62N/18QGeNi0t/gYKfLjMI+w==","shasum":"ba7bedef6eaf5b7aeb54184d9ba2fd609d008787","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.4.1.tgz","fileCount":28,"unpackedSize":140435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgj9OICRA9TVsSAnZWagAAj8kQAJ2kmAmUgGr9cuYhPHJR\nVvCoUUlskHz9yQBkTCxZ0bvHamUSev6jPE7N45M79n9skTMuOmxgAxnSGGj4\nng7fdIC6+kDusmBzKSz9tSQT/P3EN1OZOpVuhXLaHCC/b5gu2abpcmsOHV2Q\n4WheveWWcAbv4kaT6wrvdxfxm6BgVlD5FVqWGXnYumacInwPkH9FtOBFcMQh\nPXfLMViu5yrFarPECfINyBxDCH2SkX3EfdBrWmRtUzabgBmAyDgj76bMR2Gg\nD5acp3rzJdYAr/bdK4l3rmeyP89TmXxt4tKoP7TsVhtZyyqbrc5NVGcVr4Ji\n59bmrbB/6kW4fBZfxtbvcZoWyFf3MCUVu3s2Qvr9sU/ph8kN+yNaWUBYyviv\nHSf29O0hYRlHIad8t8+11tFYVKD3Y6cXrJ+vWN4TEdn45QQ7Nv78hGgB3Fsu\nKVVVdZboP7W6lnZJdLRPdn2aLUHtRvt7QWIN6HQlVRZkuiAaw86UxjM96q+f\nMcGiO+mQ1NvDiQHp835GMXhWFM0kQe5N/EE0FLTp+LBakUu3mTGdDOzpGcbi\nNo2EP9ft/aBpWVzFUaTHnjdOzE0CUmPUB8CfF942nAzSvbOOLZFSyZEfbhyr\ntVPhiT9gRib9rotbOJTqUXImKzovfUEhYLn9da0A9xoXUGiRc7VBGgKO4oFT\nWL6b\r\n=LCx8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSg2KOJgcPZNy0NrTTS1zpeE1Q7OhT3WPrwKC4zhjMWAiAQuIARCftDYVZ/qGXJCBomAHnnP36S9VHTVDy2m+j5fQ=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.4.1_1620038536392_0.8341680460802543"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.4.2":{"name":"opentelemetry-instrumentation-mongoose","version":"0.4.2","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"1.0.0-rc.0"},"dependencies":{"@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/api":"1.0.0-rc.0","@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"51bf5256ec5f0e623cef5705be9fa04a8a829b9a","_id":"opentelemetry-instrumentation-mongoose@0.4.2","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-IymQNpfwRkkZpgvrjOXRN+6+kZoY97M1njdCU8BAG6ZOal1wbBDLJDlM2MFHwXdItDly29MZtdp4Gqmg92WigA==","shasum":"d4215e75345002f5c92b98a28d24507204b15795","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.4.2.tgz","fileCount":28,"unpackedSize":140771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpP30CRA9TVsSAnZWagAAAd8P/1w3uMJkjQsq7wwSk+9D\nIxF9C/9Ch1nF6eRoHKcGPNQbaF7Oz8uVgMCo3lIsSgTPoRRoAsDsSoayPnWR\nkj9bQJmJwuUKKTS30fYMUrJgd9jVPlNMYUcLwM5DkyIf1glDoaJRY3DroBxO\nfTTJJMu66wdeV+ht28ee3zHZK6q+vK4ZMkbBVvFkblZpZJrKmomBwbMCYH+b\nhZusfbutbGOQ2PKfT1oCENAsoScQzWdJU75Y+q+GxpVSMIIVgYHtZwf3RzrW\nsQDaHrKtJOIOoP2amAVHaKYraPQKZ0L6v/2/kD2GpabAReytjlXCWZj5ZT7g\n5V0j5D4XO2eJDQEGwQjknrSXaEYaNL30UPom0yNJEtjBDkVX50wDDWvgi4ra\n/MxwujJ6arAvAMu2Vf8lROS64y9CBe5pu/6jMXNqmE4RF3hVKj6jvLwJt0Gi\nQzlJaG07DCIIPszIac/Gb35rCO+3MYryAlm1lYUP2JNfnyzj7vY34jTebyNI\nuqgMbJPHSJ6EgGaI9ybUJmrnsa3QrOgh347l/jv5HF1froPei9fuNBuhHUpj\nMZH5C9wARYQaC9oUQo/Ok1z3la2Cc01v0QIazteDg3KRRdF4Yy0NlT+jy1xr\n2Ggkeqcuxossm5cGGZ/sVJupeyEuLMUqHEH39Jat5nmm3gxVZxQXZWQBBhqs\nBP46\r\n=mwHV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBcbvl+ixAY5fRecbZXtCGlReRVSQWyTpkcRl++T0ZDEAiBScVlCCVb58qK7UIIkaXBJhTgcCBISkljdo1BwSzBwkQ=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.4.2_1621425651620_0.8517681832781154"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.4.3":{"name":"opentelemetry-instrumentation-mongoose","version":"0.4.3","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"61891435509330061efea9e3ffcdf34b80a584a9","_id":"opentelemetry-instrumentation-mongoose@0.4.3","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-9+lKI7Vw0S3cBgDKKTvGNIV2FJV+na4fJzyXj6OlXjx1pjrEDY5RHCLjpGHsGGFTvoV7zWBzd0T2QY3EbUAtbw==","shasum":"68273f46da3b57727a70c9ef4661d72436facf96","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.4.3.tgz","fileCount":28,"unpackedSize":140957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpR38CRA9TVsSAnZWagAAd8IP/1NthcD5hSc4Wp5qUUoo\neiPM6FWvZSRCw6/ybW5L4vl8XR5GJ9P3UtTyM7cFOhblsZjH39F2fx4nYRr3\nzIqN6j3oqZ6q87CQjna+FIVqp+0T5oHTvIJZFYx3L/JaLlyU72jI/Zn3dt2P\nvEW8YQS/wz52CL3PcM9zqKadUoiP6Ibr6nf63EvSmUyScLAfBocIyxCOY6Sr\ntjyZPk6PMZNmgss/uNd8ViCZsgwxO1OZvJzKmMbRjXWILKT6/3MRJYTqsnUZ\nZsKjx5dCzgTebdqDXKvM9ScqK1N/CsO220+56L714xsSGw3xf8iI3aBv8bPE\nWmEQVdQPYnk57tuRffGU2PLywI43l7x625c+Elia6+6nuh7Fjr6Bqb6CxX7y\nOMLJy3ao4Pw2En3FpObiGvLIH3NqXAqAtGJBT3wCM+XppJojfl1cWiFoEm62\nLIAKLrsn6KO3T+4JBqXn7w4HP/C1j1TyzDt9ZQ3OKHLS1LGKLYPrcGBpHbpf\nVpwzQJhe906SPhG9WEjnWntnh50Ac/4GqDMCZfaGIteu+S2GAo6h3kdgnDWM\njaoiStMIAyPixriNzM7P8bbJPmo9FODsVDYZZyznP6jp5N0hlOSGgr2Djsit\nXH/YspRkoNfbUFnGeixkJBAGSawyHcNrAYfeOgT6dnEkws0UnwW8dgt1+s01\nJIW5\r\n=+jda\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3jaELm+GQfe8iUld1wOOyci4vF2gBb5NrFgTn7F1uFAIhAOZvzIHSmYZgE8GmxSHeCOl/fqLFCtfIapFYdSYk0hZK"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.4.3_1621433852433_0.46407880966609816"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-05-25--13-03":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-05-25--13-03","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"bd533753ec41cf4673d0393c42ed081d3a4e4f34","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-05-25--13-03","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-lyNI85BF3HmFKxhK6/ICQNTIGbSm2a9zwnqdUMnVCSjzIiNZVXvK2/XG000Qx3tmI4u1v3juPKLsk4BMbmspTA==","shasum":"40711a0c2b5df470062a0ab0d8aec1cf41066f84","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-05-25--13-03.tgz","fileCount":28,"unpackedSize":140509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrPXiCRA9TVsSAnZWagAAuyUQAJhHopoylH5ockUYeVM6\nyQbW7/jmYeir1EM/OdsUuZlumNxxMwBRmXeq06KjSNdBB2/wdkeCbxCqeoyV\nhB2NG8KHjDNnruA6MPa8owZ0Iioh+TG97nU19rjazoP/dQ0Ui6VvC+Cxzalw\nDJq4rcRz19qnYPzyNWDC0gPPXj6D4tmCQ43tBMcgerSoBUKBYRLX3OmCI64t\nDhrHYC5vlSTe1kUdnWTHqEBSeRlzply5sU3MuqHkqM0ymGsqtvFq4XIYQmol\nM0r/btRuxp/dZu1rZxgELeOazLg0yl62h6JTSmD9dMMkuZ1bPse9t6xkuxll\ncy3EbvVqzZUfVyrBD8TLTH+HNhsFKTy4KxM747gsG95wcRkunkOg2iVJXRpO\neZiAxHQZ5ia2zzhKdYA8uhPZH3CKIuglYsvetw/HBjexO7iGMRIzX55Dh6Kt\nSKcN88i9GlTaPTzorPzTn/xoNKteJRoglYqiHvExQ8PrSdotvOL0yThxqdoQ\nHWqOw4ujlerUVYu8OmufEFjdv8y5tHk3h1BdwGKgu1xlCXGkG4OfM1BC88+0\nvsYRtypgfl5JTJW0IdQ5jHE6j/mPLPWWpIZ/9Xyg4JORtTGkAWcqBjC8zyUe\nV7MDy15w8MwB5DS8L83XjAF5OvMGJQPF+x2Z539HYaGRVBUmazznsDUnzdBU\nT8eB\r\n=p2mG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGpAVChVspADQJ5riHsxILAYpH5g5awu+tFBk9hS3qnVAiAdqpPRjz5QdYIVw6KtJDiuk+KiqxBDtlXV52+GLri9XQ=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-05-25--13-03_1621947874214_0.600326745504888"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-05-26--07-22":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-05-26--07-22","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"2b31e4e63d0670d8067ee32ba46ce1979d17a6f8","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-05-26--07-22","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-7RQZT1Q59WpM3r7KRg2nPZAVKIFQH9ZMTPRXTGzmUFcs3sFT9gN1Q2VLfZ9Ua7E8OmpgBYd2TbdMZq1Tp8LnCA==","shasum":"a2c306771cceb2328102c1f9e060c3bee4bc37a2","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-05-26--07-22.tgz","fileCount":28,"unpackedSize":140509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrfdeCRA9TVsSAnZWagAAFGMP/3251uMmYTQZFjcSN3MU\n9eeQzhmQQmWstUvuAXQeUK1pA6qxiQ5fJr2PD0k/lcU44UI57lQeon8XAz7K\n/HBtXIw3X8ZNSqY2dzJyPAbsxAtZS4gpWjcFOV/K4PkYomxmstlH91lgENyh\nPmbt/6wVNaW0CxT/zuI4uqxJIU7qEj68ld3VLFvT4V39Jd03a6C0SwcwlOm7\n+m+hcXtPDVoP40pNOcQX+Q2UuN183mfHsRMihSRD0ZuqW1n8p1YF92g3WIGD\nLX1wGgf70zj87d0U3FTjvLBlBnI5m7/qe0rt6xcf3bwHVc1Hi2HpZ0ajH9O6\nQqkZsXZtkK27RUTzgY8m3HjWXjFsN9LaY65dnjDD0S+jCXOfwtuLMISuxYL0\nBAnIyZUb+SrsQYjw1muMsEretBUeG3Ir9z1QkCA7FfiOIoPAdHLIAv6lGNzr\ng3sZXDUw3zFF8oIUFatUqvn+fKBUT3y1gN/L2NBn0EMbIpl9MQFypLQ5oIRI\nUSdvxEvjVQ3Jp/j4Rtnmun/Sk/ecC/w6xjd3OZ19DfPBsUBuJiBTQ4P7fO8S\nk0LzXy4u6m4BlM/Re5aXm2eOn8znvh+H/LlBq9IwOxBRH+pBRqc+XZojWsx9\nGt2ICZ/neONK3EMQBHAe/+udwSnT/JZkiz/vvmxGOAKcqTHr6uIL09ETUPA+\nvsTD\r\n=0fTj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVa1HmfQDrUGDhlaxSZhLG2Cw/IVZMxK3+NatBga+4PgIgCmOOxscA2SpR7j5qDc7dgE2YIbB66oqIRps0aBdPNt0="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-05-26--07-22_1622013789609_0.26686708394818903"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-05-26--15-12":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-05-26--15-12","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.0","expect":"^26.6.2","mocha":"^8.3.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"6f64818f1e8c571b9e7341a8f019edb26605ea66","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-05-26--15-12","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-DJTtrkfKqfDJCxY5USX3NSF6thEPlgz24HGoW1lbdxXBECoyMMAqoz9V4QVx/OgVabBfVwSydO2U7IyERcUcYQ==","shasum":"483d967719c23750dfcaedfac13d4d4fad679b8c","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-05-26--15-12.tgz","fileCount":28,"unpackedSize":140509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrmWdCRA9TVsSAnZWagAA6KMP/327gfUA46dcb4csSjjl\nxS5chkMkk18EzDgckZ3pEucCcJm2eGW1uxHtNkdJMWKs0bNYTimuwQdANM2l\nIJdeJOrNoySvejsPmrL/zYv0iBM1TF9f6HbfkPyKmwVVdDYy/vEQXglp0cCa\nRuNnTS97leo91R7wLJ3PGIkrEM2KldoavpEN1oUnaKRn3DCs3t3j/sWzXgxP\nTmL+2eunE4t4HjoyX9LteCtRmmg8sV5RaSdzD2JDxcn3FuQB3406rC8YDdgk\n+OO8LEcFZUoTeSqJXsYT3isyQjx/LXt2EvHbw7XHU9S/MAT7tJhyS0voNky6\ne5o0hwNb8IZd5lcfvymjqgaCY5LMXHw2Zc4Pd6GPexnQwtuvk8BpSOkJkIF5\nvLFgUDDNO4aEd6OcCjZ1Or+bmbxu+3GdJLV5YmBre++7zdsI3zoo+Hvs6VaX\nlHdPNeVN/FsAPo8egypY4GMstroAowZ4YGvL+1Xpn7zbloLYjBoymEBLvo8h\n34Fv0Y421lRYxPMbqQVpUppK21PMuZ4XdSrk20GYbVsQC7uvelc6BJuzHcld\nvwV3ffh05x5x1I6pTPpO7Zm+nJ0MWD98Fh8RErOgI/wE4hTFOxGea9Kpl9KG\nUTLLereJmU0FJhNBjibBffml42S5sEWg46S6W2zUppLthHcukQTOWSp/M/Wz\nIln8\r\n=2MfZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmiRMwFrlzVo7V47JC3WMJSfd0N5M/GSgRd8DJDFFZcAiEAxuX+Of+UGVOpnY4jobjKhoMuHNpLe9YjVAoaQU2sq1I="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-05-26--15-12_1622042012520_0.4567606024320492"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.4.4":{"name":"opentelemetry-instrumentation-mongoose","version":"0.4.4","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"0ffb67e586f78c6b091b3af5fad8656fde819202","_id":"opentelemetry-instrumentation-mongoose@0.4.4","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-vPQfxaYMsFniats+TCPvJOtrFZmuoulNEhzzIjt2ljtitLCUTbUC3VL80lOToZODLQEa8Z0WhNhw7cOLB7jt5Q==","shasum":"c9f50d4bda6fd247ba8854b882198e56d1de8a44","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.4.4.tgz","fileCount":28,"unpackedSize":141218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtOdsCRA9TVsSAnZWagAAPEIP/0DO4gGyoO8AvlBmVJyK\nFEgxrJCG+9ojhzC1jeOiXYrSsxgFDGvP97rdnkup2xwp9BCX3/6LSeFR2SIq\n1pJc4ndWMWq59VdJlxmnlbK+yGLpozqVnx8EHk5IVIL45fDAQPgGq9RwapP4\nF36yKrfjocbuCqCMjP/HCed+b580et85nsqlxZVHag22YFF7NVuoHLaPktrN\nRVyRcgjLFZr3MgZtZh0MEBtdyYSa2wvmCjWdujblMHsF6I6HPS71D+jR0jq7\nu0P9EpzGL5cJJfdwboWZZBCbKSvdwFxw8WwOG8no9rUYkVlVf+l9dJvBdDKq\nJ2QruslGd5BU/lXlNkWDH8qY3aUQLsWOtUmpFGZJEl/CXgLo+jqcMk0KII8r\nZdwov4xvoWb3SirFdn3H7OxgxB7+C04zsRp+6gXY4AZ/XhTPDIZjyz4F9B/d\nnT/uiYf+fs050xriAUqJkMgF8y02rfmHNTeZr0dGh6GmbnX3GIs0gxmQeLt1\ndzPV/VWydjoh3fvPY7Bit9fG6tB4VZNITqoNMfEdECjICt41LtVXI/+d66ZH\ndpJtj8qh7tH6LLjcD9mQskNxnMgyxe4QOzvxlDQyx3XpEsLJvmMMYnM+SnZE\nzW/ph8+U3wSyL1Jg3cjfoONlTuG610O+g5ZpyOQHZI8B/0khHuvoI70IpYA9\nxUMZ\r\n=YrnI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVXR0KYXpxU1AsoWF7jIzm6k3qaMDg5eHwG+ojMK1xmQIhAPIgqJ6aPCmQxPK1GyOVLAHiftF3xWpI7Q+O8ou3ZrBO"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.4.4_1622468459779_0.26287823907853247"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-05-31--14-38":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-05-31--14-38","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha","test:ci":"yarn test","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/node":"^0.19.0","@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":"ts-node/register"},"gitHead":"bd5bce12191c8173f30d62733cb45d2dc0feb610","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-05-31--14-38","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-vfoqUWzcse4qcezniO72J7FvwvKb9j6PfPbF1qpZTUHs7GeQIUeUpwhR4168OFBz709xC2erULU7KivL2NkF2A==","shasum":"85e913cc065ddc22e4309beb106f81338bf0ab2a","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-05-31--14-38.tgz","fileCount":28,"unpackedSize":141292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtPUwCRA9TVsSAnZWagAAa3AQAIooyNyHTfE3dOgQYWmQ\nw0KXoK3tn58pUI6R2nr1vRY+10py78lz2S0jD2fT1Apvq8SNIAbosB7K5InX\nothQXaVlDPvJsHn1VgDz4U9PqTZBheH3HS+0jeH3DFMSR75RDKwnVZxi+kLm\nbMgy4GXRoVnU1+EW/OchPZ3HwrH1Cj0ddX0Vt4Q+KVh7DMvKFcZZ4WCZ1TeC\nYqz/pGUnfXVjt7gPMZkh3VV/hq2RABmsKRrjVqKIWobCua1ZPn6dXlFhKRhz\njEbTnv5Gg3k7yxQmFkuXegiLPk/KcO0oVwOa1LQUs4b6e14/42Zld1tgfcg9\nG8ZbMcPbACb3ZYVW9y1YJY9aYBYt+a+AfnmglQdKe3Jy5wkukTO5HLGIw5nZ\nybBVxpgZNSvBVbx9mNmCMVdAGkUrFs0sEHZKITGMhZvlxeTXdINhQyWpV92n\nQfb0cjklR9bw/fnd3maiKPW9e1AJCjvEvM6rktb2VptjZo9fhejE12f2/Wgi\nG2wcMy0YlFKBF72uUMCO3C2lU8nuEPRhlhj0sY0ajqe7vLsySAy0pgA7h8OJ\nFHrGO8DzIHbHqe00X3l9vyryvGz9VFluqeUq6m9XlV7DziChMzKkaK85p9AF\n9Vk2VNm5mzcnUd+QLeGNPWRjCkHP1EfMWyqPA6khJWWK27lBTtvTojvsXXUl\nDZd4\r\n=5ent\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJh96ohZ/pYO3h3WomWIqowrQ5oU2igg9OE5gRraiRlgIgeGaUvZEFprx3np40MGYhWPi+qVsCevcxvBCSvQDuDr0="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-05-31--14-38_1622471984010_0.9845393559807842"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.4.5":{"name":"opentelemetry-instrumentation-mongoose","version":"0.4.5","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^1.0.0-rc.0","@opentelemetry/instrumentation":"^0.19.0","@opentelemetry/semantic-conventions":"^0.19.0"},"devDependencies":{"@opentelemetry/tracing":"^0.19.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"^0.0.1-rc.0","opentelemetry-instrumentation-testing-utils":"^0.4.1","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"909b2e07091c7a7e88e29438f936bb30b6416c1f","_id":"opentelemetry-instrumentation-mongoose@0.4.5","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-3jLaPweMoLvFJ0FXkjmzqQ3/MICZ9ebljTtg/BOEyRkg85z8Z3SnQWv5QqnbWPqWnOhlEdfPcbNTuU3zlA2iiA==","shasum":"06011499be4f96197eee51ac92cbf84c148c590d","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.4.5.tgz","fileCount":28,"unpackedSize":143102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt25lCRA9TVsSAnZWagAA434QAJ2RlR+gGgnCg4m0Ol+q\nfGqpqPfkIDm7FVTe4hmhHBgFoXJV6WgRuGqUkgglL9gjR1wtRzFtXx16Q9zq\npEWGhRXT60b6nqbuXuPnzBULpNioUcrySOKXl0DRyC3bM8qKtCFed4u3QEpu\ndtw6ySR3KfGxDVh1WnrKSrmBglMbY7SEPQimc+jYmLr4AljIB0BoD+qPByT0\nkXdvkQkqZW3RJW9S5LQ/o/BApQs7gopmjkm8fkCu1EBtFKxU5BO1CiQcXSBh\nKJAg62MYHVIbgiEO6Dwo722lht5/XeqqJpMaitgrf079O3HDwm/pHIeZUjpg\nef9298KMRNOZMUNdNbuojM3lsIEz+AmZIeCBaF7ZptuWJkgmblkn30KQMUU4\nLoge6tJsa/yleH9SeRYHZk+goEqm2UAvDM5fAEDIXJmI6gBIGyhaNwPGDT29\nLwmaWHqo41cITr4Wsy5Q+kgda1AlVsad2dJzZXmpHt8riyOy0wKVzNe8xXas\nMLmfmRuAA5lzUD90KodGZ+mJQbLB7V/6bejubtn+dCanTYJfoNqV2egNT4bh\njt2FxrKX1EAt8sMGGyY3Z/WqxIJn1rrRNznhXsC1Fozlg9A+gcV5pt3bz4TY\nSczlmy89H7FBFUK13ZylM1iA9Ttt7GOrgmtvzcZ6MwK+iUOBth3g3cKn98dw\nGB4x\r\n=p5qs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgmYJitxac84C+y+ezSVK6NOLHaNje78vMA393bmxRRQIhAJgqFFKJz1fMSCCeo4Jis8z0aeKzpQ4ubZBbrFW3ayaa"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.4.5_1622634084440_0.31947639525903404"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-06-07--07-42":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-06-07--07-42","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.20.0","@opentelemetry/core":"^0.20.0","@opentelemetry/instrumentation":"^0.20.0","@opentelemetry/semantic-conventions":"^0.20.0"},"devDependencies":{"@opentelemetry/tracing":"^0.20.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"^0.0.1-rc.0","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-06-07--07-42","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"bb0e4af3e4a101755c22fdb692be07a6ddeef51d","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-06-07--07-42","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-31D0AplkRKrWViCdFylOnWHS7dgWkgjLZRRHDuhqB2Vl3nxbseb5fgsDHPM5CI39x/6YD/XJyET0KdTx9TFNRg==","shasum":"7f9ae522f1f89ec843bc8dd976e5b5d711b49035","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-06-07--07-42.tgz","fileCount":28,"unpackedSize":143435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvc4rCRA9TVsSAnZWagAAzfkQAKIFD+q4EN8avC66/oz6\n9csgmwcuzhpknd44fyc76SS+5KAsJRWZ3pgMyDuMdXQ4XSAjjb46ls51+xXa\nREnQv31YSaa7hVUP5B4iGjy0C+fptvwfNIIOGFisCVcTM4or5HbGGMUS0bQI\nkieFmqNzKa8eq0mubgWpqFE0dBPFu6WGxyjadcEwuDigZfTMNznINlx1ZkJU\n4dyaGI5kbuCi9VBm3FOvZNftB7aLtI0jBZgbBcQFGvObmnuclZvFrUIqQJ4B\nwiDisV2Um/pkM6It7vFIEiT6/2+HJWFouuACM3AhP0X3bngLH7Tqz31jvglg\nAMiDJVJdqAR7I3moEpw3350fjxUXskcxuBcwAag17BP8QMK+L71R3vrLCyPT\naG2awG80Sdu5rq6Gj8etf8vIRC72t6vomZLUynUc2EdInyF2Onf54NkUZOgS\noMqgAaJD2poO3GTMQ5Ce2aR04ml6zFY7PuJhM9SKuEQX5ZGBv+4IV135PQIU\nwyhl0fXzX7V4FYY2J+p3WQcEB5oVdSLQw4XSiCK254QR2fLmTEyZNS2H8Stl\nrKiMVj2sYFBoFhQG5kD8knN6RHxmd/OXNY0eiPQPKEaCImdBkKk5h6RiyvIN\nlu0AizEIVo3Aowadqge75XBQCxKuNnk1Z/X8EsLiNbypKcdNvu5ZwZgNnpDp\nAjHQ\r\n=h/ul\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB5Oc1FRQOGHYRAgkddHGYVYX3x52qUt50E9HS7aqN3pAiA0IyCccYXQDVVfVWwi51O/1J7iogMgnM5p9wrBuOgK4g=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-06-07--07-42_1623051819742_0.7389015461763828"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-06-09--06-50":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-06-09--06-50","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.20.0","@opentelemetry/core":"^0.20.0","@opentelemetry/instrumentation":"^0.20.0","@opentelemetry/semantic-conventions":"^0.20.0"},"devDependencies":{"@opentelemetry/tracing":"^0.20.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"^0.0.1-rc.1","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-06-09--06-50","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"89781f894dff1488c9794fd361dea0b63f4c9be3","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-06-09--06-50","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-MvPLRBnxrWKHx6BVzR8aQdnTcTmbo3Ex/YrcalW4SUC9MOOiLHtwr20pqg+WM5m30nhF+wXMxxw59d8LqbsGkg==","shasum":"855a2d1410a1ba39f76c9a653c8db7274127a115","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-06-09--06-50.tgz","fileCount":28,"unpackedSize":143435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwGTVCRA9TVsSAnZWagAA+Q0P/A/QgA+ODIMk+5bE4xF6\nnQmEqbx6EQR+1/LceVsqtl2yBogJYSgsoDyKrmqhwE0UN2s98rS+L8HLLKwW\nXFYIDn2hlgxMRpoEqHIIj8OVS/lPMfoBOrEdaV8K0THs3ExxZPy1htGz6KvR\nYqCFbCXeLKAPqcz5RLTx9WfQMbP3KM6oN/y+aWBoa0YgzYaLUgOeY9k63hBs\n/G1UM0JsTDdaeNg6j5RwTxZb8DImLuyAnvaWqqTfq7JNZBn/MZlq2uneISl0\nvOWQMiCDcN6KnaYxUssAYPNN2Zobc0PQQcctHB76hQfMdqqHHZFwiH2qOV9t\nuQiET3uL7lps9gn9DKMBqBM/nSWEnGIfkn7EQWQOa0LaMkDQdlS4KyFl0Dy5\n9aKdqbxcgKrmVZ+GgaMquomppcSjxEC0FTMbg8cUjL/AE23Sao0PmTxPECm6\nG7E0dd0rGuP6pzXZ7FvrzwVTOsi5Njv2xtWKVqEgdu9wXepX/N2K76nJhg4K\nMeKOthKLdqox93TTS7LsusnSjyBU7g1zO+Sxg5kJTyX+5PzVHRXramjbmCZI\nMrJE9CRP/XohNWC9BOmVJ5emBBxdbzNO1sDvxxLMlGPdTezEerP0OZzA82j/\nqgQBEa83UU/wO0OYyYo74tVUW5dgte/LVt7avbW82j4zGGbITu8LBlvDI3gI\njHvo\r\n=dmRW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5DxtdsMhEHVBJbrYHsAwgDJUx3mgUXEIG9nkAu/mVUQIhANE0g2geGCfXksAmle6NdGc+OE0/FcIL6rA+9iurYJfj"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-06-09--06-50_1623221461645_0.44839296533188455"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.5.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.5.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.20.0","@opentelemetry/core":"^0.20.0","@opentelemetry/instrumentation":"^0.20.0","@opentelemetry/semantic-conventions":"^0.20.0"},"devDependencies":{"@opentelemetry/tracing":"^0.20.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"^0.0.1-rc.1","opentelemetry-instrumentation-testing-utils":"^0.5.0","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"5d2d40dae3dde329743437740a7987ac53e7814d","_id":"opentelemetry-instrumentation-mongoose@0.5.0","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-EGIlCAjNHe2puvSfpBTqJgE2YxT7T43ryrFVSRLcU6yXs01hNCM6fpLm69Vlc2PM7MAwKKEAN2aD2ZO0IOlhqQ==","shasum":"4b4bc20fac5f8d48ba8b966b25ca69e3aafaab25","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.5.0.tgz","fileCount":28,"unpackedSize":143603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwIX+CRA9TVsSAnZWagAAugcP/R4U70zSMx1q8W+xeWGY\nJ90Iw0Z4PNeuwZnmQ08aIyUWahywLgElk5FmRu4NyC6NuRQzWLSZiGZiKEQ6\nfGbkXKcAWzMrN2on9qj21QFN5TVNn448xuxClJt9AyhIVfThQ/gsqXDpOgEA\njlDlID5jrZlmnxKc+oqotsRtySjYz9im3CtbLrtxfrz1AYDVDhcFikKyz/wz\n0DBgFgLw5UGVoDhRC+734ZXS0qqXWUBTD+wHEs/ZVJF7nrIV3XGSBDDOFnH3\nVdMyhx6Ev0JYpjPakXDwn0t/y6YPIgKVJAjBSzXw5gFiWHYjQZBbDinJlg+I\nie306mQv5aIWx9pN5ojNUviVdDBvhBY2ekUgxYrKKca4jH851AmhHF5m0Pvn\nXNg+TR0SQw7EAJ4OwWVQVNu34LMMLnMHOFqRGBuWAGGPp6rc6mIFBplxuAmB\nkvmqA8toMhuYG3FqDHkjsYXR1u6e2yUm25xFfVko8zASaXrMqnkJ6hxVqy16\nJ19PQKmpN7XKmFsqG+80IwSTJsl0qovnBckKLlpskYr89R4rLpAEAwGXpCS5\nMGNyM0hbI01mwSh3TGBu41rkH/otLWLSUn5HL0h3pE8q6o2wItoXu3g5eWd6\n5FifD9XX4BwjT0Re0i4RVLDFekU3Y6U925CaUmun5dhldVHpXdEpVPsbizkH\ngzVX\r\n=xpIz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmR7GgZdwG4/Z8BtbKD4Cnx71I9UZR3bd/1t4HhfRdcgIgWYxcRKEfgH5iGK579VwmL7G9ZU58L0F2//+9GpzAzdc="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.5.0_1623229950474_0.5456363145923635"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-06-14--13-06":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-06-14--13-06","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.20.0","@opentelemetry/core":"^0.20.0","@opentelemetry/instrumentation":"^0.20.0","@opentelemetry/semantic-conventions":"^0.20.0"},"devDependencies":{"@opentelemetry/tracing":"^0.20.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"^0.0.1-rc.1","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-06-14--13-06","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"7c1bec0d45e4e1729da931048881068dd80a4b90","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-06-14--13-06","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-MUAkl0QgJOMpDZ9OAcY/4f2nJJpgbMm4zI5cwv0U8Mu9SdrGuWR+wXR5IdEhzAs3P19nag3oUIe4K69VGmtoIg==","shasum":"30115ed72cc856ced0641869a387bc6964cb414d","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-06-14--13-06.tgz","fileCount":28,"unpackedSize":143695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx1R5CRA9TVsSAnZWagAAZhoP/2rNs5Xy6aluCf1mWd13\nAb3aWTzmB/qVM9xDAIgun8ZrIGT8sgbPiXTWyrdbOQ4Yk9YFuvAAj8rtP6Wb\nKG1IaCfK2LykR2BURPENa89zvMA5qNb4PsSWHk0+Aa8DSr+0bluCj/Pgmyqt\nj1dOWzkkwVaKvRRCebkvs/eXF4+zKE7XhFCr4g+qjKv/vZIOR1wn9lM0kfcI\nE4CLTQHlpxi4PHPwcIOOSZwX7xKqJjcjfzo8ouvbeX8LwlHq4wwd8BY5Vbw9\nOocnCbT7FN7cb0k6zzOXcVZgfmSEIhLCzJ69dLUuN3qkVobStDg/4PlPugUp\nZqsFyXXwTSzBt452JNMOC/vhe3nQDuzfchBcyWrAJN1iNr0ZHYKz3jQvjDQ4\nimRrKU8f+E48384R8Tt8E+4YaVWXlpkH54nEMPVQv6v3Nm6GpQJ1Q1KVy/pN\nEVHgr1L3atgD6J9njy/55LUSti+67uzgg8/30a3JjqcdH3M+8yNg0ZTSMj2+\nGa3JJRx7lXC0A7jxDguIWf4eSylR+ncY5TukexKTIJZNCe4zkbA1jJvD5xSW\nCcXdSXw53MrjmcgWElL0hqHQV4ZYn2qurJhrxHsEknt/VDV1aSKjlq7qnKIB\nNA11I4pi8CoOo8Ve7SqcRV5q8/Wv1rs/XLMFe9qhcLTnlWSwgmbdYVBx2R0v\nphX+\r\n=6AtY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWQhtvT4/9I4HMkDNGZVjncT/rzxIHBD+nDUMjPCANZQIhAJ9YoN5FDZBb3karsnQU3QbUyoe5+h2M79A0VISLHgtU"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-06-14--13-06_1623676025098_0.7096256500569149"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.5.1":{"name":"opentelemetry-instrumentation-mongoose","version":"0.5.1","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.20.0","@opentelemetry/core":"^0.20.0","@opentelemetry/instrumentation":"^0.20.0","@opentelemetry/semantic-conventions":"^0.20.0"},"devDependencies":{"@opentelemetry/tracing":"^0.20.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"^0.0.1-rc.1","opentelemetry-instrumentation-testing-utils":"^0.5.1","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"5922581fbe66f3590eeabc9e1983e33fc1ab3021","_id":"opentelemetry-instrumentation-mongoose@0.5.1","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-oAA/igxIGwSGLvfsVMl3ZtY/cjOs/zXQ5qrn843V548lVsOJESIM+XlRkejLNKUQnx6oyDdbm753rMBjLpmEdg==","shasum":"70591f825efee5620e931ec3a2bd28537220fa1d","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.5.1.tgz","fileCount":28,"unpackedSize":144054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgycJCCRA9TVsSAnZWagAA7BAP/2elSVkE5F5wrDSF5sZ2\niPTj1HbrYJ/TwE12e7jKuAlHB8+YKZTIrhgIVGfEanC/DQ/+8hWZBDfpc2fN\nsoGTNHK1rw45uHAH/ALTOlTaOSGCnOpdWR0fisaYosLoPxP/Swm+BJE76nb6\nyRAWubkbV34MVOt9reyqW1jM2LVsJXr7TUmnkynMN+N3CkYHu41k4AV/2LH3\n6MxRf3pJ0CxrvZ61ipWqKS/dikXohKSa+BUpaBAlrdH6HTNi9jSTu0JeTGa0\nrZnkx1dlTFcCc3O2YcFUkusa3GjVFscGRI4cx/Lts4tdq2Z0RMWZ0UmH3wDp\nMYHEvhZyww6xDDlwQxWYgJ6TSqgSdMNJyup7QBRgQ7thX9JWWT9zBIs/rkk9\nxSHHOdaCdUtjw2OfLAz9l3AMq/X7L2eyTEFmpYBkCvNNPE4Hg0S9uHt+IkgC\n2JaD/MBotHnSfOWIe9h8auU0VYZ4rafWCS5N2ZyysPMzumyfmsAgXZIykPUP\ntimY3CmYCtRPHG2pyNHNc9wLfCshWSZ5bEotuzoglISpbh3riP2KNhSRmHor\n/yS3zm1PFkLKjbgzRwzLStdpL7G0ihmGNp8jZUcjg8VTT0IXvS64EEJaae1v\n7DKDnp0T6oO/CMrzvbLYgG2GAEzUCbzw5CvIZCElva1cpLiwv3QtXec9gH1D\nouMX\r\n=uKTQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEOZS7ksWF8iANKDhohOquZEDuWAsp1riGSq3c+ltvffAiAGpj/t1B1gLgbn+2MmH3y6cVHrHoJTgC+tqra8mXgN1g=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.5.1_1623835201834_0.286444016737218"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-06-17--13-11":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-06-17--13-11","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"dependencies":{"@opentelemetry/api":"^0.20.0","@opentelemetry/core":"^0.20.0","@opentelemetry/instrumentation":"^0.20.0","@opentelemetry/semantic-conventions":"^0.20.0"},"devDependencies":{"@opentelemetry/tracing":"^0.20.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"^0.0.1-rc.1","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-06-17--13-11","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"394b69f3cbe81fb9c51c6571e782f08126d97735","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-06-17--13-11","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-X52Fm7d8k/Jx+jDxRgDWs7Bt91WgTIvAVhCv1Fs2rPKc0XdJJpnulXblKExUuaf0vbAAC3K7TcBsrWyD4KYrZQ==","shasum":"cbc5c21a5275b248f7bbd2441f0b0b7e01ef0265","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-06-17--13-11.tgz","fileCount":28,"unpackedSize":144146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy0otCRA9TVsSAnZWagAAlhkP/2e/6L7kw4Dm1cXkA4wc\ny4N7+T4BCHizoHNUteOLMp49ImbsnTD9JNZRzd9WDgjirqmMt0TtREDq4V5G\nLKwF2dxnlNUIvpQfQpYOuuOK/d4swQhYjOEDmzi8FQSkkYUl3v2/Qvo4UPwQ\nuNegF1nulDFjSjrdUr4qTohIPCnI6BLxspAWlYbY1WcGn8mqOiDHR/fp1MQ8\nsfcjeqZO9NCwmKqNx0YbqmDqzv4FNuS3y5m74uNuR7iohs22tl6zWYE/3Fy7\nQmvAtc8qhsD3foR5Lh6nsKjwhHfbq4lHUEUNFSehuCPDNNNqZPVEGmQcy4YN\n2bMKRfp3xQBEy+3RCjwm99ekfM6jEqZ1tKfRZtmQj/6iiDwsR3nLm4yckS/+\nIPtihQti68ppRT3vrwQLcO01dt5gZT/YWEcDVKw9nPxdyZwb7DCCAtmwwL6T\nmM7W7v13ssxquqD8O3kd8u1qxmKbrOuvW6CHoL1YWwfZ7MIBjsvS+7RB6Y92\nTKqvJ9M5/cQHbI/ua+7R+FoQlwrQsg+y1UuET7HUp1TX6jtI5WpeIC0MRjmx\nmarVVPBGkiLJfpkKVKk2DvEGlc6W5NpcmpistPLhjYZAXB4gsEOsr0OdvGqO\nLcw+3Zm4YGTBKaYfvYqjDraIRAiGPZvKDypTbpdxb1R4rhSvqSxukjXnl5rR\npMsS\r\n=jWIZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEtD1Xfqxlo84+Mfvw0NVtumW1AMpZZTIePLxvX7RTLUAiEA0JEbn6QGKIU+y0tnwvOo3x3YiV3t23pF8FVphKj5CHk="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-06-17--13-11_1623935533403_0.7137995078779797"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.21.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.21.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^0.21.0"},"dependencies":{"@opentelemetry/core":"^0.21.0","@opentelemetry/instrumentation":"^0.21.0","@opentelemetry/semantic-conventions":"^0.21.0"},"devDependencies":{"@opentelemetry/api":"^0.21.0","@opentelemetry/tracing":"^0.21.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.2","opentelemetry-instrumentation-testing-utils":"^0.21.0","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"0eb9c76b2bbcf85cb228e2301ce0cc1346076808","_id":"opentelemetry-instrumentation-mongoose@0.21.0","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-rY9yGWZePcCwDiGKQPnUXh/vtzE5O+s/ZKjH0HwfXociyM4SmP1NTKISz4T2i8SjnVIelcSuyj/OkdvDS/KSfA==","shasum":"24ce30b73e38af2a84b479ab6d73ba7f8019f6b5","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.21.0.tgz","fileCount":28,"unpackedSize":144393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzxMZCRA9TVsSAnZWagAAyhgP/3pCPm+gq4iIWxd1IVso\n0sN3N4gTEH0n1P2sSMOiXJ88j4XTxWRhLubuzeYjHfA7nlFq0LnWkE50tCUY\nffV+xWPJ63CoP4gyjibfKB+wo8aMxTCsgCo2CjiktcppeycMk/gzuVpfgXq/\nwh6+YlN0hM+9h/OzuCJZXNMIlEBRBTqZx5d1Cek18Y2LW66gXCXcBfWkSmdu\nx8rlov/OQXEywUmyTOBO2r4Ht5rr08u0SGhdm18nQYeKrxFUKiJYnY23nu5o\nhW91j6LxyqCetFqNQeTy77nhVC14doUpAEMgkg7MFQ5P9d7wdpnQyqmQatJC\n7Hea/45l9hZd1jYOzEPpAuWJ6W5S7kCXpM4bxZ1DdzxlP4ittVNRGBRq0+zb\ndFwXGMbkEJybemJ4+6oZG2M19Q+a/d5/5l51GRT/6hCZRqkFRn1bYBGXGptR\nptXIQQZjD+pQyQWXpvCQoxOn7gpRMvn/jkg9vS/i16XYjDkAY8I7j/qVbTe0\nH7gf4at3vPRP0jNO0FhCjKymQZTgHtWdOaIwzb6s+vi7ezzfd0YiQWWz9sGk\n3vO27543X6AlEQG8ct0R8+foHbaoEeOtDF1yxtjKjB2a6y1IoQTy/TKFFItZ\nTioJrUWY90UD4fBQp9hjurdu9HeeyB4Z1TatjarEmaHsaF1bxOQvwJqy93FX\npUbH\r\n=lv9J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDaCV46jRTdyK5/tqCzHgsiEU83EAa6ab6cwkce6uzbjAiBVoVFzE26h71gxeFAFTb1JO4QYRR3juglK7969bFFfWA=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.21.0_1624183577247_0.1258028150945314"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-06-23--07-47":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-06-23--07-47","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^0.21.0"},"dependencies":{"@opentelemetry/core":"^0.21.0","@opentelemetry/instrumentation":"^0.21.0","@opentelemetry/semantic-conventions":"^0.21.0"},"devDependencies":{"@opentelemetry/api":"^0.21.0","@opentelemetry/tracing":"^0.21.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.2","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-06-23--07-47","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"3aa46659e7d7b8cb0038645cab620fce3d08348d","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-06-23--07-47","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-zsgwTlPYiCM5Qda7u8ptp3LrmJQJeM39umngpdaAP3+kn6T+HPPfNPdZ3NSVAHZRtyAHiCQw1HdGewY+sghz4A==","shasum":"6e4e6ffbec9da98c4191194f6c69a6ec0e3e704b","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-06-23--07-47.tgz","fileCount":28,"unpackedSize":144480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0udiCRA9TVsSAnZWagAAXs8P/3upkVLLWBIfVZwDnCi6\nJTehqmvY+NXB7HE/Jdf0vB13iaH5JFCeNv4r5XncQKDv0XBOSFzeU6mWotAb\nyiiaxxK+nNffdOKk2tF3I38qzaZQR7Rb5h3adkZ8U3z4x5o5IigJDIPGFtpQ\nYrzVrEAnHO3czBakDOvleHdgya2ESwStyg5jL6O0fWqWLi8i3n4spH1AEFmQ\nLaqvqF5woJFAgPfo4DSFCWyM3Nyz4tr2kMRyIapIMxxOTzr+C/Mq/xQDxAMH\niy/gdDbJJuxIIOnVOGoPRWNY6QwN83njewypfjpbIaoNbCG5Rib/a0jSdkuE\n5FCYOLM5KYyX8nYHrUhpWLGwUHM9o+ynv/zm4F+vRNY/P+eN4K1dKbPBaItb\nthSR/p9BbfytU5k+3F4Jl40ng9R/cXBtlZgLaxfUeoDNaBm6i8a0kXRCJ75/\n3uNLNlOxy7Tk7d5T5jLhlD4DXonRAk3gQBP65Zy29zjxoH3VT0w75SZAXue9\ncLUrVNmq9gHLWbvWRSCmmf74llahvfGOOV+1djjtY9IhvkmzhW9yi1u32xDT\nbEfU9vWgBRTLldhiXEblRCpfx9tQci0f8Xtc6oFMjW9uTiLIowNhh198ifDo\nwyIOvgbWZI/r3QCeYEmOmPfQ3eEMvy+YT7zeB+CgyJhVyxGNxvLdVZ2IBVac\nr2QP\r\n=Zyr4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeD58x/FDGOO5a82fraat/bB+Kiu4rxC9sjz9HlKKilgIhAIuIm5G7nvl3w/GmRTpm9088aIMLn2l0zHOUlCjaJl+x"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-06-23--07-47_1624434529819_0.8168697178607602"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-06-23--08-12":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-06-23--08-12","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^0.21.0"},"dependencies":{"@opentelemetry/core":"^0.21.0","@opentelemetry/instrumentation":"^0.21.0","@opentelemetry/semantic-conventions":"^0.21.0"},"devDependencies":{"@opentelemetry/api":"^0.21.0","@opentelemetry/tracing":"^0.21.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.2","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-06-23--08-12","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"9219abdec94e8dbeb50e61b1c289c60309c0a56c","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-06-23--08-12","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-6JK1ZFgdWV5qDxqqp10gRTuROhA/KnJRTH6MaKd/lbv/tqZPBZgM4zCFVlMs0fAoGO1jRpqGPzdSAvEa3sMKJQ==","shasum":"bc878e9d4a139f095e03b9972d892476d5a955d2","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-06-23--08-12.tgz","fileCount":28,"unpackedSize":144480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0u0SCRA9TVsSAnZWagAAhSkP/1ZYe2E2FqchAe6ccFDG\nrSItT4e8B75aB8OD/a+spxLacT25MP/QooU24z3uaUM1opzLFbuvxnmWkZRG\njutQYqLU7QH+oKkY+JlIkNxozFepqBwDFlr3CXsM/QMbLRRrQc3qz3ijAtk0\nnd1f+npJpomdIzT/iLp7cA3a//Dcw6LDD32faIAH3lv88X6lRUC1ME9gWubL\nyFcuUXtN8h1rmfuLYSe+/2Uoq49O2GOMoNrE5FyjItzpwXr9PsMBd6z+IBh1\n5yT4m+f+Qy6I7D1HjJNch+iZc2cTmmMZptIuBYc4os25YQBEU589kv/xMobR\niwwwmg3HnPWpz1YRl9gPvW3ynD2NivzVifCFoZtH9KhSgPo9I3Q5jRLSsjNV\n2NskyxOjcgoiZAmp1dchfJ2SkEK9qcMNhaBTiQSsA5EL9QkM5kiDlGbuZH3L\nosh9p3I1Ej6SsR9xBwll9XWEY2jr+qaPN2UwuxTdQ14/2AOgoAnmNNY+AMJp\nKkr6zd1q/IPZFYQi097gJUjYhb4fjyw1QV/jc/BjpJAD3nq7lt855zJ4SiWk\nKuk31P4LOALtLLVSHAc2QG96sOSJoNHpOfsuA77gKOof9ciGihh4GSrHYFhC\nymHfKRJH6bqJw0q4O8W5yhaddLmkGdFUsr2d2EdCE8pp7aI7NstrcKSLaIMy\nWpYr\r\n=iQam\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMgeDMnFYOYefYM+5JUOzqER0J/5mQc6/7Ungu2CWPPAiEAoUv3sEPdpwFfnlMEwBSng+aTR+YGNsnRW0/Wufla52s="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-06-23--08-12_1624435985914_0.21623672283717088"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-06-23--15-11":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-06-23--15-11","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^0.21.0"},"dependencies":{"@opentelemetry/core":"^0.21.0","@opentelemetry/instrumentation":"^0.21.0","@opentelemetry/semantic-conventions":"^0.21.0"},"devDependencies":{"@opentelemetry/api":"^0.21.0","@opentelemetry/tracing":"^0.21.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.2","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-06-23--15-11","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"7faff48d9d7740fef1b799dbbaf1dddc673aa97e","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-06-23--15-11","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-238KcVfzMBpUgjUJrv5l5EzLwRmNcZzfXviwKYgEMOSe9hq0eEFKSyUUK8eO5urrqxJgDtBNXSU7fzLrEkqk4Q==","shasum":"9861b628ac5096755b7b91e140050b9ce68fb606","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-06-23--15-11.tgz","fileCount":28,"unpackedSize":144480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg009iCRA9TVsSAnZWagAA+wwP/iRLOeGyrM+XOL+M8P3P\n6yWYY+B6CmvqlHHcvpYaa83qRbopFMFT2hhSGNxYCwkLOj3xyJtqcJqiwe9Z\nLGEHzeS7v2WqWMVvYC4ModiuY0mitxRUEdbhtSbC5L6rHiYwTcbTA7MadJ51\no1y4HDexMig8gEfrOF5ZD/CVAPVlgbNw8qSlmXvu+O7gdF2Lij6xvQ3+kHXH\ndEz4FSZIuAZsOzznbiHxNpg4ssB5wk/0EZq/aRaocC1eHfCsOApYO6U4/0L9\nAJ0Vd+l0vKlJ+AqBnvhHWVDi9XXhAZokjBHIx9TZ3kUI0oquXV4kkIICDgY6\n5PfL7WcORZ72kxSq1QGMsSro0QHiTA9M9IDkZlEML0GD+pVCg9RoDLs/3mg3\nvg0P8JM6OEU597lPWnLO3XkHhCr+2qFm+KxsuI0Hm8hvEl+bkhKNoRWpHumU\nR8Xd55lNRM+IA+Xe5Wi6a3hAGeSFNfWza6cQBQmSW6wLrkN8cgVdclVTLbuP\njeuTzlZlQUHeA+Z6TEtjzYfNPd6Wv7y+/5Wy6L+JyR1sy9YbJtkTTRBYnt4v\neVV/lIgdQ8TjyS2hFCl5p+cm1ZktnzvwaatxCSCrGxUpIVxywUSvU8aU77Ol\nnmB7RpZXKPj+LccHgP4rbY66Oh+jrtZR3MGJUBQ8OfhxswK428i9ig5y8j2d\ngxUN\r\n=BKLJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC1UuzDurZQnZGiEsrqlqWi/rljwBs8VX17glV8IvzZ0AiEA4Dk+1V/oC0T1PX737RtG2JGACiRUUXg4pubV7zyshnc="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-06-23--15-11_1624461153635_0.14886226619902043"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.22.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.22.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.0"},"dependencies":{"@opentelemetry/core":"^0.22.0","@opentelemetry/instrumentation":"^0.22.0","@opentelemetry/semantic-conventions":"^0.22.0"},"devDependencies":{"@opentelemetry/api":"^1.0.0","@opentelemetry/tracing":"^0.22.0","@types/mocha":"^8.2.2","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.3","opentelemetry-instrumentation-testing-utils":"^0.22.0","ts-node":"^9.1.1","typescript":"^4.0.3"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"e9f830a131164f45fcfff1a527a0ade411e5e977","_id":"opentelemetry-instrumentation-mongoose@0.22.0","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-Zb24rM5zzf7V+VjbRNSFmFlAyKCeWulj3F3mau5aJErNEEkIknM1ikqLyNrB5kNtm/iH0BEgzrKUUkUbyExfhA==","shasum":"1513f5d41f949ac899120061103c52eaf0183f31","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.22.0.tgz","fileCount":28,"unpackedSize":144654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2Yg6CRA9TVsSAnZWagAAUSMP/3nLYAx3eEOAgCc/pZbw\nxMeIR894xGS8GHhFH1wopWbCFYUbCE34lO3UymN8Qb9mOe4GHNpXuHbe0ALz\nFFctP3A6GIW0NHqlnpmokCAqAGguGFZqi/pTlQYGBL6IzdU0bkjxiI2vaMdB\ng/Koc1OcTPOthkCCA+90OwWf2sMMBzObebAfj6D9BxSr5AOUVy6gBoRF/gxF\n09lha1rifn/I+5nObDXtNxKofSj+jBZqHWXuLhaG2W9k5DY81Ix+TX++MS8F\nUXvRUta2r/B//Sld8zjB/qDYf9xBU97614sdnyubRM97t12ErcY16G4nCVD4\nhkdoj5/LAQNiTXoV59MquJdRzmOEW9hqRv+oTLoOUei7lUNuBfFyXU/zxH3Q\n5SBjf3HxszV3L20uILqKcvdn5zzKo/WqZklns8tw26h+PAMfXYgT0U2T3xwG\nRQIFsKJ8J2T8bnXb6lmsNwoja/hRPm/Umv2PwTVsIBIo6FRjPmjwe1BMG+43\nzEm+9Yy0/tLs2fdlftXSecKse9AYi9hO2NAPqmqVSUIM4HyAyLKDPfYeAqTl\nm8/JqIxtOh7yFzYT6NXhBCrcnWf4lNVQemFRYJ/IiDCU+8s6vUcw8fbh97vi\n9yli3TEogCbjpVvIVu433DZuSAk7Wy6i6Bo4YwXTo3u3P22r/1C6wXv0P0Bo\nVvEr\r\n=Fy7q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZ2jDEzJPMgktXRsuIuPERhJvr9OzHnmr96a1NyXzh5gIgZIe3pmgfxOxNRs4eAucr5M2hAUO6D6p+mncT9mtzXpU="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.22.0_1624868921628_0.11061735299835807"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.22.1":{"name":"opentelemetry-instrumentation-mongoose","version":"0.22.1","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.0"},"dependencies":{"@opentelemetry/core":"^0.22.0","@opentelemetry/instrumentation":"^0.22.0","@opentelemetry/semantic-conventions":"^0.22.0"},"devDependencies":{"@opentelemetry/api":"^1.0.0","@opentelemetry/tracing":"^0.22.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.3","opentelemetry-instrumentation-testing-utils":"^0.22.1","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"1b95f429902c848b03570501648d88c82ce78d46","_id":"opentelemetry-instrumentation-mongoose@0.22.1","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-5dWGdrKUnd13gsUM140aAHLZxNeOh0rz7tH6HUUZC8usxNs+utnnaME8j1WuKnXqZ6tt/kEwfBDesNGHC/jRdQ==","shasum":"a28114b8ef835c863c3bdb7c901a42c101166027","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.22.1.tgz","fileCount":28,"unpackedSize":145143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4cS3CRA9TVsSAnZWagAAfX0QAJw8UfBLUVhpRcjWpNn7\nNLQvD9QJaJj/drfE9ttIDdskh5r6JJVvUJ/YZd3sO3JKApoIiaQWIchC1rdc\nPLt1A/3IwnuG8Uc/Yhxp01NV62H/+hjXvYp+sD7lViy23KCY8EPHWElTUHdl\ndQm/IO5Unwqele4MPPQXe6gBCwQS8n1wM19Q6ptnVTB9nYwhq1JaG3AWIeN2\nOFxLlG0U9xFzxv7vmlLIXHRcyUOkvFEpIutrh4n9ff2sUJuxKOpTGwaa7oMh\n+oeIVchHXSkCTZQLgN8XEjHjuR2nEOVNfUR+SZmjBc2uW7Nb8ZotVZ6HZaAx\n27seuY0yi5eAvdFZpTccbSDgheu3jIOxcUAqXLnTRmfighzNFSqU/DF1zBRY\nQCKS3kWr/ZE2crzHrJCnrBjYQzJRbaHOnxbyuHIS0ULl2QkDOJ/yjDjqXL10\nb5NLqLlL4QlN9FQLBCOeuE4a3jAFhYQaaK/owxyY8k/upiZxr17yP0a9aOm1\nsvkkK3VM9kllqaHEyJxqg4Sy++WMxp7nts318VKdxKhsqnV6HPaS2K7Na7Id\nBKay0MVj4L64jexyuj5TSuDFw1Oo5tZoETZBlT49wsrepGWndSPemhMme+7Q\nMI+f9nPXuJyEyZikKsKM00gJ3ShQak1y0enjPgUFO4/0ziXL3izB0lLcvnax\nLF/F\r\n=ufxf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNZj+zooAWvHyRUPZ0Mz71xl81pMv1pL5Oc1PqEKCTAQIgKbQ13cCf3UsfCo6T3U7oW6Mv3sUEy02QCDwnh1T00Xo="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.22.1_1625408694933_0.8347512294957189"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.23.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.23.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^0.23.0","@opentelemetry/instrumentation":"^0.23.0","@opentelemetry/semantic-conventions":"^0.23.0"},"devDependencies":{"@opentelemetry/api":"^1.0.1","@opentelemetry/tracing":"^0.23.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.4","opentelemetry-instrumentation-testing-utils":"^0.23.0","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"8467cdc1e0c3192d196b26d12ff05d63d5284f72","_id":"opentelemetry-instrumentation-mongoose@0.23.0","_nodeVersion":"12.22.1","_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","dist":{"integrity":"sha512-cGebuBqDXFWzQ7Eb2qZNdjqik8gxhkT3x/e6qu+tytUSX9tX2ZFxovAruPFd7c+XeQ5y2PRwCH1GLpVWTJikfQ==","shasum":"75b794a4fb70a84c5745a491b4876e6bc9c1db11","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.23.0.tgz","fileCount":28,"unpackedSize":148036,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4tbwCRA9TVsSAnZWagAAGEUP/1BucxzjiLQnY0DH0ryd\nTz4GS6XUShF8EHRt81wsqVRs3BKBUxXu3kb7ul2IQ/fxZRSwelkevDU+sDdr\nf9N6Mev/PEKlb7Vg5hpUwoIIXwi7dOdgA1InFarJ0szuXCgtugVkt6YsZKdl\npUOcTFgNriZUorgVnAQ+CPrq+uP1VfHZuSL79WksQlG/9ImyFz7JFu1e9dYm\nADUKNfOrh+JvbzcOUsigJslW35eihf5NnUI9WyLYhqOrRYfv8kLKq90lm2LI\nriQc41ejonMw/qxaa39ss5nZeP+WwShdip6+ACpS286ZRyj0H/O3aT0yLX4i\nYkiLof7uruJNhVNzUP+yFcshqVyoA71VNdFja971mqxcuqfcn/9R5qmVkYt+\ntfstQb53whZsK4IFQLmvlYX5NuLXn5wqhEgQ/XaTFyKLLzCm/Gfs5SxEwkO9\njSJ5c2Pjjj/el5DTc14PVVcjrBg6S5HVKWKxklSx00qCQofNrsFW0tJKnwHK\nCBcS7XZ4idALCNggS5OlgutE8PwpXQfQ7Oxv5+I93OffNGkwzrMTtOtljQsD\nedx6Z6E780PX6vmD6/42KssAnxcUBU2GE2cvPyJ39YIv3N0xToJwyHIIL8Fb\nlLwT12ZwGqiLdYqaxtC+0poMmQrPrHRxJTApK7Ljd5zYP5aSnwPO/YorHwkA\nbvT0\r\n=nq62\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHVEgngDbFReopYZriLwithvwjISGGft1ViIY4AVnxLPAiEAizEX0Qyee3E+Y8GLUnr3tuYQBEamRhJtws98g6HrhMw="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.23.0_1625478895754_0.3642251913471466"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-08-01--12-54":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-08-01--12-54","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^0.24.0","@opentelemetry/instrumentation":"^0.24.0","@opentelemetry/semantic-conventions":"^0.24.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/tracing":"^0.24.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.5","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-08-01--12-54","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"1c0b880a714e23ed5ba1ca97c35f49dc21064d8f","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-08-01--12-54","_nodeVersion":"12.22.3","_npmVersion":"lerna/3.22.1/node@v12.22.3+x64 (linux)","dist":{"integrity":"sha512-1kftDnCeqC4pZFcM9VdrYlG+yO8IQr1leCsh6E6O1jOO0dMwGsXo2FTU8YxGZn1WRU8IDgKjKZox7V3KW/b0bg==","shasum":"fe99fd03824e2014b4d312dc5174bc92f641f015","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-08-01--12-54.tgz","fileCount":28,"unpackedSize":148123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBpm2CRA9TVsSAnZWagAAEHMP/ikQe3kizOSrqqJrFnzb\nBrUsfB/GKdrCd05LGM41dK6AJRPAaAH9DeSd/lOUDipllSPdTRT+OPLou91i\nFb9DX4BbshRzo2Ct8TLTsBdWmJ3sQK4zCWtXka5qO2AgBuJE0rClCNHrZjZS\nZMk2c8+S+z2oKbPtMbHbH7Fv879WRwlqwwzAxPlhhm+V5ZYPmswy6iT3Lg5P\nnAAS3tKwsPBjCG+ojTFg0Xz0ccnmZvd6crJjF90XT1pZKr4lJ4udtlfRX5vM\nNomzUzDfdjyZxEvc+ZTabOpcux026IvbqHQhk/FZZV3eaBlx3N1mXH1GlBiv\nbZTVsek4Vh8JbcAkDjDeqknysKwf6dvJJqpilHyGwJAmYrVxS5ukBe3NHDft\n1SPItnAMM2IM7PFx+iJ7ln0YFDR/yioiz0Gjd7cSpQXqAHm6rkSS0LZrIbfm\nTAFnsnaQ535Yz/du2wKUTGI2mOw4FHzuMcDWc1X2WTZgXEQOzgPneDToJKAy\nphUi3+KQoe0TNEYHcjXEUtbqy9eyEda023rMt6vFstkUy0dpSdjnpGszZPLS\nxqXI7D5oFATt1hEek1XD9SG1c1WTlbMP2vjkRFORHDmNOtESq0nQk5d+DK2W\nsp/sz44MPsIyQW/TWG2skLAQr2jgT2+ag3pDN2gjzYBmYyLDwI+G4fMcouVZ\nE2EI\r\n=WGcf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC1DnEFXo38A/6nyGByAZ2wRXz2zO9L+wOsTiXfklL6aAiBi4lCLLTqp7eUQsCbnmUathrN4s8gHg/E08o/dhOrRfw=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-08-01--12-54_1627822518606_0.6769208502875321"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.24.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.24.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^0.24.0","@opentelemetry/instrumentation":"^0.24.0","@opentelemetry/semantic-conventions":"^0.24.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/tracing":"^0.24.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.5","opentelemetry-instrumentation-testing-utils":"^0.24.0","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"f9d08fb8dd95cfad7658ed979c154cf75c979262","_id":"opentelemetry-instrumentation-mongoose@0.24.0","_nodeVersion":"12.22.3","_npmVersion":"lerna/3.22.1/node@v12.22.3+x64 (linux)","dist":{"integrity":"sha512-eQ6jTf0NRLcVGh1+DxHHspOtPDhIrBYxrl7tzZVYGohyHlntJpmnJ6VfYwHSupudmDabgEVLrcXY9VEi1Sktpg==","shasum":"a26c6d7ff7cedb8c43e3f9853883db3660cad94b","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.24.0.tgz","fileCount":28,"unpackedSize":148299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBqzCCRA9TVsSAnZWagAATvoP/AjnMi9KY0WIJLrA6z7L\nCQ7u7/d64RDltP+P6OwTFMU/UrmrUCjEoNJKzzzokInlGcK+AtgPQgSiD6Oc\ndnibWCz8cng9JW5rsdBfVeNKwU5KgX+umMM/7tT8J0CXYP/bhbLNfMB8BAW4\nZMKIcFp/AgpnLrRteiNSwh/XsHvK2AqUr/31Tt3WZTXyCEFIOcF0/Cx24dMz\nX6C6dPksrdJ2MjRNXRRi7YDihBfhP/8aPNqnOPqOpOUkwxkAk58ogI+vtC9j\nYRwlLiuLCKZilL03jb6PObUwF1eSa1mg3KZ6eiZuMcktriWgWFdxp+m4fLm1\nN6e/xgseO89cw9xibyWT/JPOWJeC6cNNKmwcIoPqHTp0HHxs4bTh7/DvOKSm\nnECEjeDYmZ5Ue5+cs87GEPxnNqlKIfQNKy+WqVM21nYwPEQTJgUfs3CJDSYQ\nj0KidKJAnJT13wQJ8l5ikoBKb9GLad45+LAQaaS9PnkX2zIosWM6OrSG1ZAT\nakdU6uI1SLDYbN3LfWAcWUPV/jN3S1fntzKCW6rrb+9HWIje+TgX79XI8zZB\nwYPKeXzv3CXe7qcITVXo18NmtSMNF61ahUEQrwYU9i0kmaoWvefxuFDMV/WU\naOJu7Tl3ZMUU3J8rzQhApGgtz4PghiURq4a5EI5skL7l9sam8jWUB62/iZ/Y\nv76H\r\n=tFnr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5ByObb1pGlKb0HriVO+CLULlkkhjvxAN0XN1eWbx3sAIgMyE9PrZoMwIssyWHnbypZ7Vz8HvXfmULAVQzhMpSuD0="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.24.0_1627827394590_0.4278711380333986"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.24.1":{"name":"opentelemetry-instrumentation-mongoose","version":"0.24.1","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^0.24.0","@opentelemetry/instrumentation":"^0.24.0","@opentelemetry/semantic-conventions":"^0.24.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/tracing":"^0.24.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.5","opentelemetry-instrumentation-testing-utils":"^0.24.1","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"5ef9753bf1ab525497b2b925df0b2e2f24ae838a","_id":"opentelemetry-instrumentation-mongoose@0.24.1","_nodeVersion":"12.22.5","_npmVersion":"lerna/3.22.1/node@v12.22.5+x64 (linux)","dist":{"integrity":"sha512-shLtfBcXd6d4B9XSOpGexUaS/2pjQGOYJqDKErxYJ14Nn1u4fsz5nsubg3vAmW7i5HqzSt1oCrC/WZRwx4/rVg==","shasum":"b50161f65c1436849399391a4475d2999c16d00c","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.24.1.tgz","fileCount":28,"unpackedSize":148563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhL3Q6CRA9TVsSAnZWagAAA6oP/jzL06plcw3dUGNKemY6\n2K4BMqfYy1v2QDJFVqXt+rncCGHrxyinRLw6r7Y2HOay0LL563ufNPPSjRb5\nYuXCiaUyEtsnWJsDvf8d4pBz7GhUKl971GDcRFfZaJzwSsuvADxb+5NAqfjX\n0o3QC/3LBMrVrFoYa+jY/pXnk2XWhQtumDqiCQHNKcUMFI86ED7hhlIPSGBi\nByGsaNYYrK3McAS+uSTHF3S/W6TrYvL5hyJOJOxaY/hxlcgE6wQQURNC4O/b\njN3nuh26FH04NSW2LCUDFH5fiMd0q9iyH/zcu2mTWz//57bDF5qTeeC+MY/x\nTq7o8w3mgxiNeuPKFW2R+F94eIgnQQ4/dqcE+cpNH6lMdEzNR0u+oNKLCQsg\nyroYpkYjkzClDQHVdebh3KG6EgcHQG7ndDIjBtw+8gMOP4iEt+AOflpaRIsM\neKPYek+O0gaoPFLXTZfhXiGug0pAkL9HeJ946cXqVfp8o0A7978qiebzU7qF\nVl39ArD/dE7x4i8/qI8YKm/qjgYspzHcJdXhJomsfI0giF8hQDBInRNp3bPo\nQ9BRVWtYVQGdtKhWpYvWiL2vareb3dHuEj5Spx1DXHmfTHnzqEtmGJRVME2n\nwrzTsYZsCx4wrDGqIRHovsvnsCLFX8/MAuLWLNy4PQFsFiwtImsGHLf8TvVG\n0RS7\r\n=luF+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEcKVDapqMiwe3/Sql0+XkCnJbhR+UlXKeASBYK3vkYEAiEA0nw7PB/t38TDLB2dAoeEWbXimTEXnmYtrxE4Q1NtI8U="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.24.1_1630499897994_0.13403562184773987"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-09-19--10-26":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-09-19--10-26","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^0.25.0","@opentelemetry/instrumentation":"^0.25.0","@opentelemetry/semantic-conventions":"^0.25.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"^0.25.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.6","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-09-19--10-26","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"a05e1c6b765af7984ae8433da2290faf0c3387f6","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-09-19--10-26","_nodeVersion":"12.22.6","_npmVersion":"lerna/3.22.1/node@v12.22.6+x64 (linux)","dist":{"integrity":"sha512-Kz6oa5Fy+UEDeEMqPpcQlgjGV60hcAZQVHT4W1CVFZqKKmYsOxrbz5HdUmYkjQunO/ONZzcANeVzTw0YN6GugQ==","shasum":"c5300919e1571e874c93f0b0552f7d55fd78b8c0","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-09-19--10-26.tgz","fileCount":28,"unpackedSize":148681,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB86gHNx0HqIan7XLt3nrHjpMob0miqp6a2S/m6N1G4mAiBAnRNN4dDNV1i5dwuZlRznZVOpgdDXzsjEkKLxgHCJog=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-09-19--10-26_1632047260362_0.8206734994009683"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.25.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.25.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^0.25.0","@opentelemetry/instrumentation":"^0.25.0","@opentelemetry/semantic-conventions":"^0.25.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"^0.25.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.6","opentelemetry-instrumentation-testing-utils":"^0.25.0","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"c5d54414b125bbc927012c68ff19b97bcd5b3796","_id":"opentelemetry-instrumentation-mongoose@0.25.0","_nodeVersion":"12.22.6","_npmVersion":"lerna/3.22.1/node@v12.22.6+x64 (linux)","dist":{"integrity":"sha512-Na3Ths4hLy9ck0X0bt/FT+TMgu/8TeC22KJth0H7GfSYCgEeXEK7jOTpdXtz4naR4CDkyMPtbKKMvXUKJ1p+Sw==","shasum":"fe47d73bb7f9c927b376b8e15759bbc9b87b6b75","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.25.0.tgz","fileCount":28,"unpackedSize":148857,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDvFWAfxiiN5a8d6r9e21KJ49TX7PYRLjRON0E1KGeNTAiEA5246g1dkrEYwbraCKmBp4rAqBHtAAmWHc2yXD3eybb8="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.25.0_1632055478181_0.18503758214168142"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-10-20--09-32":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-10-20--09-32","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.26.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-10-20--09-32","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"c1c35ba226e94cdc824171847a6e252e02912c55","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  traceProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-10-20--09-32","_nodeVersion":"12.22.6","_npmVersion":"lerna/3.22.1/node@v12.22.6+x64 (linux)","dist":{"integrity":"sha512-bVMhZ2w5knjhV6heD/WO4fhUF6bUDXdYX7lK0qB3D6XWV+gSGAMCXXdTXc6mBX44xdFGI8olDeJ2gHqzZ8psug==","shasum":"9c6f3920d5df15b2c5966c5f0612da872d9c90a1","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-10-20--09-32.tgz","fileCount":28,"unpackedSize":148940,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLEwa/vRSI8h3Xpb/KenYy9uhQbPvydNLnnVex2A+tGAiBKEm8i2cg7GsRGKKpYUbI4sYyQlW8ES/yjUnLdZRi2og=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-10-20--09-32_1634722387641_0.9184124802000986"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.26.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.26.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.26.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.26.0","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"197677ba38ce47bdd7e57c9e74cc5a19fae7e8e2","_id":"opentelemetry-instrumentation-mongoose@0.26.0","_nodeVersion":"12.22.7","_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","dist":{"integrity":"sha512-UMjjtK7wXn0edCsx9cmUZORS8HPilNZbhLOhd/VQBulOTs+oXsB+9cX0wcNvuY4gqPfhO/DZoN+ofasibb5nIA==","shasum":"921bdfbb75b7ca4edfd24730cd1d02253976dcb1","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.26.0.tgz","fileCount":28,"unpackedSize":149116,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUbD+NmWmSOfRFVbvVqrnikpxOGAa09Agppdm+3y0ndAIgUJz5wmiDZyAYsmbKCcntUgZGjHhEi8pPSGiBYJqsqp4="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.26.0_1635276584909_0.8735489517141235"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.26.1":{"name":"opentelemetry-instrumentation-mongoose","version":"0.26.1","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.26.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.26.0","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"d98dabe288b1d95ce7e3d8b9b2ccc3ed02854392","_id":"opentelemetry-instrumentation-mongoose@0.26.1","_nodeVersion":"12.22.7","_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","dist":{"integrity":"sha512-ul7AlGzY8XDCiRkAfym1Pg597PYvqkThNRkh6dqw3OjVpO1pLVscJGhMHDBicux4ZUrg4bEVhMqA84gxl7g1+Q==","shasum":"3b7283c22e147c352dcbd3a0eb050f8e92be9d22","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.26.1.tgz","fileCount":28,"unpackedSize":149381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpLV3CRA9TVsSAnZWagAANSQQAIiaDjWR+mbR7TQPwhMh\nG19p5Ug1WVOkXizAILEkXjQSpa29hJbToyN+H8CtRhKV6j+TYRUTpna6qU5m\nOtM52nxyxs03JHv1p5P2QtCmlmXOMyZejXoBtimxvKQi/Zvp3bfeoKH8KH3K\nVYnnMoJshjFEH960FmhCoqNVCwJS2exgdEplCa7cWWIlX4eA6yOpGzZhuFmV\n6plAOw+vXh23NpPcBmXe6gFN5cMRsWi5CuuTM1ghIoBPD0mtZ/prn/HDlCl6\nIfadpB2jCa1rlUWwEo4tnoGoEeNtp9oNE86A2ChRscgFDc6oZeqOuu2uj8im\nxUp2Le20b4W+3lJa8clJ0tre51JP3RTdOwCHBDErKcuYAUfa7m+L6pmW+Q6T\ntIeYwDKS0vJU4qI9/HyGM/NkYZ62GXPgYu6gQq4oxT3u+6590DNkVnTx6ap3\nj93EndQIMQ6r8DszgFObfgiSQDE30DiYAp132nbI505mFx5ku8qtG1K45fSh\nyn65a8d2c0hVb36jQFERDaqT7PVv1uAsw7bNpQgTbl7n7w/k8R0BROpXMpRO\nzBkI+lo0EKmIi/wXSQkSxuxTlEq22SygLDc90REMFG81GC9lYl3KYoFWQZmI\naOZGw1vYBXvtlcZInQH7sKvGdlwmBB+lwhvOxzc0doF3Ovd0H5Csl+tZEtsz\nSCzQ\r\n=iRIt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAXRW3ZEZyzvgxXIQyPC8qx4gztkZL9LYKWL5H3s6rAgIgQ+PQLuGQRL2m3e7dkhTZq0f+xMJ3ppumLuxSGxwdNW0="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.26.1_1638184311448_0.595849121327662"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-15--12-47":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-15--12-47","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-15--12-47","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"d82d991f4f35f77cb8ac9071d7a43807667a17e2","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-15--12-47","_nodeVersion":"12.22.7","_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","dist":{"integrity":"sha512-55BXnSL3q3JNyE+IX0hj/Q/cZhE1nDZ3vA8QE7uwlKe7eN64PmgUnYiMB+CY5xzCo/deBMJuVFiT5E0DIaftyg==","shasum":"b482a57bfac1490a50ca8fcdaea3ba845137bc6d","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-15--12-47.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhueQsCRA9TVsSAnZWagAAWiQP/R9/aSC7NfSFwz48m+V8\nD5R4XVj7fxXDOtCARRsfw7BgU9IPqA90MwWgM02ee5jhuqCaujFvotPYkQb/\n5/N8C1HvnFOHUYNpzKwJfOw1p96Tji6qJzVyMhO/I5zdfpEiqic71RdP7poM\n9KV7wt/875knJiXsoTPoGsKVsFNGtJNou4aMOfr8pQCmowQIkHh5gGik0z8o\n83NCcLS6TOCSENiWrhSISlbilIPT+3DHQ3cMQMi8YqUQUML67jFotRCzxxdK\n4dBff0RaveYEmXWRXJ+wgcyrUBVXR0esHk/si9HvQSlL/FZG5kAqqlPb2E2P\nMsIq15SC4r7UAf3JoDGKrZMpnMUs8DeA9NX6F3dEnpVik6a/fSbXRYZ2lZhG\n7uDkguyo7bZB8AbWjSOuwWGEd7pW1L7AHH8x/rLQeNBQ5FaiTtuemz0Voffa\nM2VeoPZ7Lfdn17csg72e6qaeVlp/aVf2f3+gYnbku45OGY5wQ0d2DDlWVw7B\nPR4243nt7R9lRWdh7KwTcdOEaKEf6zWkwfm/Fx1E8LwQ+nI9M4UWTKCJ+0Tp\ncAdt5QHiMjEwXgl6KL59iUNDpZBfNwP0ypKLcM/O2q0XA0qxYQnvLsGccDST\nsWo9F194u5HTU3kdtOchK7OieV7TtBvbKo01fvNQe8h1zjK7pscposX71ivr\nwNNw\r\n=ecWl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBOrVJEfU23d8Zn/K4EvZ8qoy8he87SmNJR6NBzfT900AiBzwZ3ndgBvs2jFFSismQ9ZUjJRjY4DrNbCInNidNkqGg=="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-15--12-47_1639572524236_0.1612432971486366"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-15--13-05":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-15--13-05","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-15--13-05","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"8500885ec40cd62c62efd9758ed4b005fc201674","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-15--13-05","_nodeVersion":"12.22.7","_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","dist":{"integrity":"sha512-+OjVX3UWlGc7m1Yj3k3nBesRadbkFaGl0KVAofNkjFQDgK3t80ASQ5nCBFQdAd+KoLU2q9vxEOtBep5fCMxOVA==","shasum":"0afd479cb6e1febcd192f081673a8780817cf99c","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-15--13-05.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuehuCRA9TVsSAnZWagAAZ3AP/iLC7t61T9hJZ/ccDnWo\nIknaqk0yIbRXAizqwCDM6rBIRHdXNja5YOWEc/5FqrEgZB6TOS1xqQlHEALd\nsVetle4pS5fZb+LnX2I79DyOj4aNBcTpRb33s/YZShxoBAxYb7BOnTe1lcq0\nnmXBWfc0ttZvm1mb9c0gSGCqxa+CJhuOHRF0JH4J14D9UTlRMT934uKYx7q9\n6vG3CCWWoJ27bSSSvRro8y1tUiYvZ+iSRw09a7pPPWOZpvdiJytNQhdXwQpG\ne3kvSgmPwCD4ShNcU7wCydVcbxM1K4hMMluhT5LVFTK94YNSwpFatzQYVDKL\n+2wtgBlfQ+Jxo35zHTTUvurFpGK6yu1Pmcij7wYw8UYRYjcLzexofj+Cyehe\nZYcCq5NQQVrahd5PvuqxFuBs3eQQWdgRXR1aN1nrxF+ZcWrYa7ZGtb+pEVDA\nCKYhZ2fIehAtKgVfPeKxlB/TmAbNNm5rnbMV9zEITTzPGffWjlg5nTEMX0NF\ncziih1URkbR2U6uSM1k205lF56D8EnvgNAYQNl25A5CA3a+O+BaF4yoJvvQE\nXUFXQ8SHeyg92J3/j+T/Mc/I4KL9dbvzjuy/zRi+nUutsbwzHR1ZSHqoAqtG\np0mPoIgUdtzvlh65805ftBPxL1g5NfoArIJof5rBXvw4gdlXqdDjtxtFkXxj\ndco/\r\n=H1KV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbGBT1EVIBaxfIz8nu0aeMgWcFoxJ04waBTpjin/BVFwIhAMBkeS6yYWrNPailkMshFN5oSh7BBSy9N8UjsSLGa+MR"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-15--13-05_1639573614323_0.06584912178320312"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-15--13-29":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-15--13-29","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-15--13-29","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"f57843bf0453b8bd2aa71246bd7cbd81e82539ef","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-15--13-29","_nodeVersion":"12.22.7","_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","dist":{"integrity":"sha512-7HfRCsryR3gRTgkV+aAm1Sd9warDWs2atYQQ39C3dxUmHh3M27erGIWtY3r/cfFh98ukBI2iAzf6/BHIjjpn4w==","shasum":"bcb3a10c5b10994dee8b4221fed894685ef83d7c","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-15--13-29.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhue4bCRA9TVsSAnZWagAA0/oP/ioy50TsKQIBYmddLCjP\nV1j4mTzptXZf960Pc2Dn/uAdOG+Z4OuKxX3JghXu8NlhzZrmuiVJ+J5mc2eT\nZFKlMFpeHDKSeWPSq7Ov972px4ew1Zj/AQfyyInnnpZY4nyPA+bKyP13HcCs\nvu9+ujxO+q0OuHheocgqH1BU0LHmVRRoqcyXiUXCXsLzlcO7kqLkheYQ9jAG\nmZ2hgWw/rb3CcncVyARsJQEtSSt9X7PNzIsyLDwKgcJUMweD9RyclO1fh1za\nfyFJtODZPJQJRXQEOrkgSLRJSvVdj1Ed/z+3oIOP8e7MfmejvtVaUXMVrEcI\nf+6k8xf0Fw58CNGeIN+GUS2PjplnTF54UMAw9h4RvJ2sot/LQxQAh0GHw/Xd\nlbaUu1xcCtVrxGUKxsMjVF/dNpLvkJFelTnYYLJvfBRvQlGY8umoAVA8LtO8\ngCZA9eJWBXxHE1i6MTYzPTyVKOmWLg91/LNHCAXxl5lXVDkW5T+2TEimRI5J\nGvRmnixxyrztxeAxIzqjhad4vPnuV/rHEg2YUXQ0O9nkelGmvxoBvBpEqyAX\nuy+lm5MsVcSkXktoA8h1Dq5nRmslr/3shoklA6dOxCIOElsbUOudnWBvbOqd\nuZy78H8clj9K0QQZiGZHnk8lajPixmGs90dquwmaszZTjc669S87A7pXmzgQ\nLHYW\r\n=r7mX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPsdFWbjA2H8q+vwOBsuvbyAf0QakFg4Jlqiq08dmJKAIhAM/Ggj7fkLDCcVOktwvIN7sq2/U2f2P8Q0Gxae4tkJAt"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-15--13-29_1639575067068_0.309031674092505"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-15--16-17":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-15--16-17","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-15--16-17","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"53721d6b1d7ef8fb79ab5167c34ee22da645bac0","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-15--16-17","_nodeVersion":"12.22.7","_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","dist":{"integrity":"sha512-yuXWrt5iTsp6s3FspP/jJl4qPP8+7KQQr2witqMlv1j3G6PjVC3mMK+j+EIYyptnF/W2ZwgHm9NvsgvdxpQ2XQ==","shasum":"4d018106e0e3cb9b697da49f56da5c7cd1e7b4c0","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-15--16-17.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuhVNCRA9TVsSAnZWagAAxmEP/0nSMVTHOGbqePBXs7l1\nqc8Ci2qycpl4gilKZ84dNU8Sr2mgNZJxJmu2/FRY6/jEn6uxrKOue6th+FyV\nLVAmZtnqJ212FvYw1EGbIZLBzSoDA4DQie+X6UUlessmLpPQFx3QOLTwdfo5\nL7S7UnuPn2Ozwcd8pQ6PeztcN0mOcCZRuuaFoBwHXsno7n8Lzbt1Uh45TICV\ni3QFHYrTqfU/z2lBYmbTCDF/46jXVCWH3FjqtW4QFMVz9nsmVmKeeW7tBjpw\n3zKpWmaXewkTurgMXBx3fG2+C6M/ityGTfDmZhZdnJnd0856kaFwr1RCPhEb\nZejmPdHB2gnhqIYVLpNotjfA8mbo8BiytOEQdTvBs6JcOyhk1vIrztFXdPbQ\nzU4ojAIAusseQWpR8tkEtOwdsGG3mYuSB051GuNM2AAfNVF0iCJ+bSZzLkkh\njmByegPV5NwNfwOje/M0MFWtVHZqneEy0WKiHOjrJklTInxMn3M07oHDcW5C\nvxPtzHWVs9Gf40z5Ys6JNQIEFmu/lmnyFGX15uK771iGZTz9qia5OsaBjm0I\nyT05cEfD4FGyc61WsasPLe5RXTJlcuR5Kwn/2qzl0Ljl5sLjMCTsjROBHOpl\ngL4REhoX4jyQCBL5ib7yS3t835xBh5egagSRBGW6V95cDyN1SKfXMsr7kRRf\ne0Hb\r\n=AdJN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGUEruHvzbweKDGtyBFvEPcsTpF6JWekctIzXF+CVA9gIgPmGz1oqL3ytHAhiyC+XgG1xG52LcyfSf/kTpSMAKzyQ="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-15--16-17_1639585101405_0.42752057281612577"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-20--13-41":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-20--13-41","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-20--13-41","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"5b751df473de22ae885ae8f740f8966736489a47","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-20--13-41","_nodeVersion":"12.22.7","_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","dist":{"integrity":"sha512-J4xrMddhn59xNPIuKnE/U0u5vbQoHY9t8fNJ9I0xsitvjVD6lDHyPoojPMpZ7h467t7GDzAW1yoQvFtJJRh/EA==","shasum":"05785ece9aa384e9138775df791f17acd25a72c1","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-20--13-41.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwIg2CRA9TVsSAnZWagAAqeIP+gLqROp9clZSLI0sgtO8\n3fvAr5OGauSiAVDyLnH4qDAGJgsz1fzaXTy5ck3eQnPmdgx9X4kQetcQo9Rw\nr9ytBUVyZavs956xqAIH8UofXyBt1FAkONWGaRxwI54f5AH1PIVnffLjwTTR\n0Q8WOrfQnEXTvph0YHMTH8EGXaipcRxFBGxDIE+wZX/wBJimxAwmjSjK3xwX\nwAr5JsVs6XUNcU/+djlsS+M0eYYfn9IV64xDW9NiHJk2JJVEbvWex4RjmNK8\nqAA5l44ibjiZtsjwQ0WDVonhM81I00gNoe+1yCgKsUGQQkIXLhgmYGg9rDVP\nfWlcYTFVWvkAeSWM5QEsiwwJL56pq0fa6UKaDTBKvdVV76AxkjuOJs5Apcq6\nVkQQzTPdLphBlpD83o2GCwK9LtgTuLTZ+E891CAGa1g25pb0HagYWec+psGr\nHM6BMCMgswosxxx+VhRPkaOiIeKxhyD9lFDCkayg0EBuTroZ7rVfalt85BFn\nHO2/HqrLEFmT6qVFAXYJLA9m38fCcztdVV/C8AXuMGAXsDInqNhZjEkLrmSl\n6OUDbPFEswAJRDg+ugx9+/EmoQU7XdvLrv6tfign6J8eWNtBMQklFoslqLhK\nS4wPGu4h2maE//rUdycUlYGi6hQiI6bGRcy3+XWiFL4lcbF4TD12v1nD4Lde\nwnJV\r\n=ld0r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBKj3W1cVPqMhCv6Q/QhTuVuSDoyAmgvNvs0R+a5yxEjAiEA3s7yhd7i0DBMvtMIe6Z4eTYSBw/DQYvGMUYzkr3pAP0="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-20--13-41_1640007734292_0.6321873198931451"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-21--15-57":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-21--15-57","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-21--15-57","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"38372fee8eae66fb9be8d9e8093823c76ba1388a","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-21--15-57","_nodeVersion":"12.22.7","_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","dist":{"integrity":"sha512-4rXsLQgqDm2eLCkVDAXszrgq9xKpCJd6ZjoPwHOvhVuu0faeiDD+7UaNzv7COXKpH2YGlNg8HwWMZ9G5O4c8xA==","shasum":"d7cf27fe451440d8a2b231cd6709c24347c80796","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-21--15-57.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwfmqCRA9TVsSAnZWagAAr+kP/0RlridXWb6eZiCSqovs\nFgu84QMf14rhWR2NPcrQUjC6Nw7Yk8C7Pma6qXcSX88t43WnaxDg6Es3At3P\nqO+LJVhKVFL029gDgXXvQ9X6AucRkH8dUYjPc0WV+HNMreeu46C8t3PjtAjo\nqYo/jRFHREXc6IsLiiLAzm2QahAisJN0Bz3KVO4IMIBz5QMR/IvpS/Oe3lwo\nz0HtIXgh2HrIrWsm7Fqr6B5dQR8w3IdBjY5Sn2CI55plwy4Q8xT6SeqiQmIQ\n0YMJm3gOMM/PI2S9+DSX+l+mm+BG4NCoS1bSqGbZz5HibhhtdGJdHodXm+2M\n5vCOrYLi4OSEvHWz0wm4Ax64gn+HEXUcA9PQR7KdAArvTVeyui8clEzmMFOQ\n13hzwf14lAEnFh5pyvXd7IiHA5Tj8s51uqx/jmVPIjw0MM3rzAKk1ELsgdcX\nZDIFCy1rHJZLEMe5pCWKBI6/57ZRGh+e1XEV5BdqV6472VrNNojK1zsrIQue\nZXKzC5rTjWOh6+phl74tHuEaTVISwbWnvIBpC7geABtzz7wkxaNr++NaPStU\nKtIOe4y2OSlgFxpC89P5w/TpwsIAPBHhbxhfneFRUI5fu67Zb1hIlLDq7Vhv\ngAnhzdes4zeQWrWsYgzInp8YprHgPqiHZLJiGnfHF5l+t7jvL/0TG5ElU+CJ\ns5NG\r\n=01as\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIPW1eTVHkx5arclYb1B70aIZUS8h74TYIbMRRsEut4QIhAM/tzxQronWYKxTNbehc9UTZx5ROIUfMme3fjvh11nyE"}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-21--15-57_1640102314641_0.5978768009494284"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-22--14-33":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-22--14-33","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.26.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-22--14-33","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"7aa0240a479398d794813dc4088689d9d25bf6fc","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-22--14-33","_nodeVersion":"12.22.8","_npmVersion":"lerna/3.22.1/node@v12.22.8+x64 (linux)","dist":{"integrity":"sha512-Oji61/TONWfELykJhTAmXlRZKhIIzH21XbMxlVxM3QdEyPSqSx70sV/Py6V7wr7nCvJ8ZLUyZNYIQ4+AKG9WEA==","shasum":"bc1775b5af9b0e6db6b2ea85d0fd0ce7e1c33647","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-22--14-33.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwzflCRA9TVsSAnZWagAAnTgP/AqPH8hW07het1D0HcLp\nVW8WsMOhXV3BhuPzv2bxGEgNn+Dbj7mc3N6uWVMzTCCN64MwO5qNax6QpzaM\nzZnGAa0XhC9xzWkNiphSyF2GJ+xFA4gg4sgnipK3HtW5q1xkHWG6JaUq4M8+\nVHjWxOxywrd0SN/GWyXKvJaAIe2ywK3j4ywKJTQVc85oNMHdZn4aNt4bBDDB\nhA9oimEdQUjJgpqOu7Tc7mgvf8mH8jeV4G0FaHdaHt1qWOXoBzg3FePpFopV\nEbDm7Wds2Ky45Bv+BCY8kssrzUYyKhQcNOVZ4u7cCUdXIdwyhIpEOhCXT00Y\n+JTPMLd1gRcovskq3tLRqjU0q0rDvV+GilaKR8GIWMiqA4z2TlaKAGRmzL5h\ndWwLcyDVtAlJy+gZp54em6ura0kkY4wRQPAsLBrCvRVEBG/UAtDg58u9L18+\nwF2WYPxZfcvkY8qw2BfSQCpW2YQmMAh6dbyQzKpj8pWJ/g8sKFrQRHX9NDAm\nAegSnlDlJ5243XrZHMcgMi/IUmHo+q3Vm2vV6GvENZuB3zkVGYcFWF0cBtgg\nnfX0s7jHQyJanrVPFnkkO4OjhyBCIcFJq8SXQwEuKVFNKFLCeSwUhUzi8KZi\nQWgvA5TzSsbLyP01tNhGTOURIvrKZ1Q68sF3C+O/ecMwKZt46HQ7ul1Oy1N8\nmrUv\r\n=Tsgp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHpP3vo33WETuwAQliE1bKpSuI6bkY2R+PeNJlSMUo5oAiEAjyH9CfA1QijW9Kvhva28ghg8NTFp12YYPwzylk6JR0E="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-22--14-33_1640183781613_0.987600109189309"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-26--12-22":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-26--12-22","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.26.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-26--12-22","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"faef7c8328a9ff8592347e079e5e86d0181d2d5e","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-26--12-22","_nodeVersion":"12.22.8","_npmVersion":"lerna/3.22.1/node@v12.22.8+x64 (linux)","dist":{"integrity":"sha512-4oZ1jlepHeP5GplWHlVaaross/giKZ0iDDDrLlAvBRppvi7jtouZMWYCmiQDG6YcKBJ5CDNLax+kLYs3LBYmGQ==","shasum":"431c997836c2cb0650e41c2f71fc6118cefed2dc","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-26--12-22.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyF6mCRA9TVsSAnZWagAA1VcP/3kGcrEX0ChKhs1TeEi1\nv1hOC0rUVGHz3b2t7Cd1lAXF4mooZgDEw4meJ6wnnkiomr5VZVmxWtUheL9q\ny7s7MsxF+4U6M192712i0PcZ7vZjAj6MUdWv+Ab7m1/Mt/39hGOW/aJlznxt\nDOJ3XXHwGqYEp9EGZhqoqPAarMsKcKwPAeJbHnhOeaSg8GQt+b/N7lpETZLH\nN7kTbVbJ+d3FGbaM+icGcmAUoOZjCc90ASOkrVIcsx6zKaafX+MgeK3R6D4D\ndiHQVp6szsNaFwGaaisSOdN8XEN8hom4AHDkrezRvApw5+GCUgU5GGqvGAaD\nJlCs8215qMLk3JPEU8Ler+c6O+qwsLk+8F9A3yhscz7omlPywwzZzPb5zsVa\niZgjNrnfGCKf8+EHVManLOeqPLU9+oPqn5Zd/vBQG4FYDEblNumeXh7Hb8GC\nxXslMaIEy7NAT13LZVF1rmEwpJf/s4++vJfaFdE6ENFX1kqyV88PtTNEsfun\nAlxG1WLNLv9vo7/kpDLOQUvFEjGLbOF/qi8xOSWErV/vAKY2pELrgyn78opH\nR+5JthtWAhN+TOy09Mquzfd1KMHbT/MSeRyERdCGKy1UflS+Vzzd8UGdpKOJ\nkKj93g7jX2vXoxGOJrHpX9L4cpsBd0ta+LoQB2vLRu/A1WHBWc+FDQf9ILyk\nqSeN\r\n=nMEL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXTBnMfAIj+JQ7Y4ntVSsi2dExyNco/uffDMAdsGoFfwIgTSQ+0+3Fu1heiku4NogQ5R3y1MwChs6uZN/rDbylfMA="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-26--12-22_1640521382277_0.8219441509928525"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2021-12-26--12-31":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2021-12-26--12-31","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.26.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.0.0-2021-12-26--12-31","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"591785317c33cddbfec450849d945af05520a0f4","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2021-12-26--12-31","_nodeVersion":"12.22.8","_npmVersion":"lerna/3.22.1/node@v12.22.8+x64 (linux)","dist":{"integrity":"sha512-zu2Wv7qsMS9rwQU8VcOFQAG+lBIk4qqxZ4n1FxD852F124DReAiJQMKbYTEcPkvUgzpfXyruYONueVB+pda1qA==","shasum":"2b6fb9caeef6f34c0741a6f7c9c156b57207ecd4","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2021-12-26--12-31.tgz","fileCount":28,"unpackedSize":149468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyGDzCRA9TVsSAnZWagAAK7oP/03xrQsn8Zf+Sxz0p9wb\nosx7X9FQXC4DhkzZmM/Mo3JokltqK0kKTGFYJJv1fGiKwh1vjIv5WSCI6QeL\nFl029pXsvHGNGZ2Q0ZAN33WkFngc2TTLVwAHC2B+NGE4ibM6l4fBJqDT11z9\nkeFPIKRiHqLTQdKdXIpJn50bcWbKgqqFTdsrr+ETMgootCUIRWW8BsuG+BUg\n+7KGOSVoNDLDCD5DJDqmA/uW1w1AIfBI7AY6fdwBuozLLzSK4GlOKMHAfZ0j\nE8HR8ab3NMNwKjmT9K19lCr0KIJd/0YAF0aqc3HxXPsZtuXm36Ronh8RH7wB\nJyYJlFXTZljvu7+H0f3+/o+PlwsOcdL/FQpUAEfX9+anQLTuIM9/8vh3U0vg\nMXeWI1LwrYbVljjPuu9O/u7GE7Yuxz8yaec27xVNrl1JgtOtrFuyes3yr/0g\nV/LY2LDWqd5nKnWKL0wA+FM8mX4iFoPlhOCqi/4xFx/MONtwybOf1JiQVd1y\nToGpYQSWxCGKx8DIfZz35qT9SH8LnmHl6xuOZzPsF2P6ZB8Zve55PkURM+9N\nJc/SGYGjeJsyGrfLkS3nBKOqyTBUIppPzTeJwaZREUngFQaCKXxw/QcILfzk\n2miEGteBdiqIWAWKsLtXSuhiJU+oAUUeDLDvZSOEccCiFIOHao0bDj+9oKEa\nmJyu\r\n=jmgo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnMoo9pWn7lbRh09XkWNvvfnfzQyQzWv7p7sHWjZExmQIgBNwANSSxOxELGySD8ovx8pUeDPq6xHT95iXvczF92Pc="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2021-12-26--12-31_1640521971754_0.5054775639261899"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.27.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.27.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require opentelemetry-instrumentation-testing-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require opentelemetry-instrumentation-testing-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.2","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","opentelemetry-instrumentation-testing-utils":"^0.27.0","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"687393213037496a1105e522b1bc3110b11bd9c1","_id":"opentelemetry-instrumentation-mongoose@0.27.0","_nodeVersion":"12.22.8","_npmVersion":"lerna/3.22.1/node@v12.22.8+x64 (linux)","dist":{"integrity":"sha512-B56jI9PSZWPUoeteb72M3pM5fqqJvixRNaS/xgmi4igQqu0hIRSRmYzKagXgUekBnLgzOS/Ji1LLo4i9L7UmCw==","shasum":"6e06e391eb7f8a440d9177cf86007f0cc3ac564f","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.27.0.tgz","fileCount":28,"unpackedSize":149644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyYyBCRA9TVsSAnZWagAAocsP/jpGLhxk7SuwWrX8xrMn\nhuryH+HQLU4bAh/6BePqog/UYOVeQpf/j/gwGUEZxBfQLoaZQmmzT9kiTM5o\n4jeS6FB4Pcr+c0pdrg3f2aRSG3Tzn9lZnp6fyzmx9agYsC0Tgihgqej61tCS\n0GHoMNvfHgdpHEld3uWeiWe/G8sVe8RWph7CXUimx19uHGuI/VPwh70Le/u6\nF3lXHuvqi5X8Qqju8QxshWQjUu3eolq5qq9aJTHY/NyPgbcInzFsIFwCLmvW\nG3HKyNO3cil4qesQH0OZwtCZpm5yes7aRfV7Lu018+zDklSJWDhiF18JjFsF\nltKva5KhoGdjfD6vHBYbj/B3EC4zQFdhUe0yTd//9gjwmbsLAJCGSY6ZImLf\nSHeTNU2A8POQRSPRWzm28whgBa4NdmXR3LoHWaLE6dAKN0+m2u28281nrYG2\nvHt/NvNuJ7ADbB7admdau7GgS37BWRru5Dear3J5wWkVqzNAoqyIK1kDyA+W\nQQqCSYWHNYr2ZNXpMjwNGsQTJ9tWqDtZWEwtVoZcDLc++rkMQBEfAppOPEAh\nY9jf3liWizTstYp599uSgYy+UxyRMN1Id5Z85j8jlnsG9pEaVfd6b1usXooK\n2Hw+2zz9zVbyDQPTKaZMqUQRHZxtjL71ndZiFro20JeLJXnW1YijLzDlUweF\nPC61\r\n=RStC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/NNREiru8O/ClHZdh19QCEf6zcsu3E7VaIpMCbxHSMQIgTKMa+GuN9xk8GaGul4R3uHIspe0Xujq9tduID6IZ6Ak="}]},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.27.0_1640598656961_0.6451704809146059"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2022-04-13--14-32":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2022-04-13--14-32","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require @opentelemetry/contrib-test-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/contrib-test-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"1.0.2","@opentelemetry/contrib-test-utils":"^0.28.0","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"2e8247578b4b9efe980868177abdd2e793ea18ee","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2022-04-13--14-32","_nodeVersion":"12.22.11","_npmVersion":"lerna/3.22.1/node@v12.22.11+x64 (linux)","dist":{"integrity":"sha512-4URr1DsTViHv/190tX19brilSHwgEINnvAxhNRQ4IDpYiaSvakzHFIjdtnQYHIuuobXJ7jJcKPSk4ptkvKwIwQ==","shasum":"9240021dcf76f06bbcd1be69d0c9e5d138e41c79","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2022-04-13--14-32.tgz","fileCount":28,"unpackedSize":149036,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvTzYhOh9/9w/ZbWjjmKBiXZ8GdHMk3uEKkpXvrPgPIwIhAOq5pYTYcsTNoxqV4eVBhX4gpF/iyxlceMRoXRXgavzf"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVt8UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrb/A/+JL3Pc+QUQyRMiA7epnKwMT3+gAQ655S79EBcc7B6PJhO01Ae\r\ntPXXd+p+KTyzXv8BmGLrFTjYWDRmdTxhliEjEUrhdWAjSeJWxqIfPTVck3Jv\r\nJGCmtR8Jc1oOAg00MBBVDdUzU6hW5OZYc87HlKavGpZUZacgkJ5lqtXiDjlg\r\n6afFnJjQWRai4XFJfBtnXdbsFni1d0mfIRI92Da+VCFNuRluqP5tLvGmggrO\r\n1XhtmH/fh/NmRpN12OywJdQBCGfGaFtupP82DFKYZggmFxfQlzGKxSdViska\r\nAavO227l/MUs4qVJ6lh5/FAFiIBVSjbXP7Gx85uYO5lAf5+vhRKjwo4qqCdA\r\nAHYlmwF0f6K7+kNoCpi09KGHBrFHhNxOSBMIpoy+9+/voeOk6zHEfEjqOKbW\r\nIP4CdYrXUoB+vby/u3ZNHfZ1eRcZtfDAwbwN4NbmHrTc6LjCdlQ2PaKtB9zE\r\ndOMqA/f4az/67zxlIsI7BHC8/3GKgiwKIHwRurFtLWcZGdz+M5NJZjhC2cSC\r\nUjntFZliOYMrfV1MsnbwjA/CgACz6LYngO/UvQAQeGl1lKMhLGmkrMSxjUUA\r\nUg5jS6gvtSsvxALkT98Q1FKBz75qlT7/0rlZuORgbwZXAm+gKPz25WZbPkac\r\nl90aPtJlVzJA61pL+1lgbfi/crZ6jwAOQ4w=\r\n=tMo4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2022-04-13--14-32_1649860372747_0.591014098371959"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.27.1":{"name":"opentelemetry-instrumentation-mongoose","version":"0.27.1","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn run build","test":"mocha --require @opentelemetry/contrib-test-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/contrib-test-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.1"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.27.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"1.0.2","@opentelemetry/contrib-test-utils":"^0.28.0","@opentelemetry/sdk-trace-base":"1.0.1","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"e473527226dc901fc0006df49f729b9137b7323b","_id":"opentelemetry-instrumentation-mongoose@0.27.1","_nodeVersion":"12.22.11","_npmVersion":"lerna/3.22.1/node@v12.22.11+x64 (linux)","dist":{"integrity":"sha512-vgxmGYf1vBEsRPwzsiyRpXouavPZySVJyQNGQQ2xiKhfWy3J/x169rfhcPZnV83YNkRHu0+AsC0ww8pwyaRpRg==","shasum":"c266eda52be7060f6f20142cdad32a308f6922a0","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.27.1.tgz","fileCount":28,"unpackedSize":149372,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGeH7qVPnILWlRec72/XkPE/I8VRU+wmyu+UrTU9kmEbAiEArstnxjzFKItwrhvQ7UYMqz6UhvDO4XsD7hM041dYus4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVu8HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJBA/9F3AaY0V4GVwUAT+3cAzhTPmUi1ckD+RwfDPImqQfDfNHt92/\r\nvZBikY8yhVU4PlFUwlzX8M9juF2oXdkEloXZOdawRc9Md+egOers40U1RG9H\r\nKdkXc4hQKcuMxsjRif1/6zkbNGT07Uu9VxAZaVjgs3GS5kgfOPq4rOA1hOaf\r\n6gyFNNcmEeW7zKXVqQJDXlitF7CftB+lqu7JhF8VWZzJKqODi1npuZ5qviJL\r\nRBcAT8C0pzvdwxGm5xD9HDBuC4EN+jPMciFqMXn2wHT9DszcnvcmWU8IZK0H\r\nQDOvyOBVIve9K/qbhB50yi2Zwdtd0PyoaqOxlYs2sX9uxeajtiG6bgj9o+W1\r\nv20QQg2UEkCcuSnABzFtn3QHUW94mFQy2htycq/jD1X1ZniwGXtqZalfPsHY\r\nb9XOaJd293rhrbL7JWFcL2XiRCK6nWQlHgQlBSCuYsVvkTI0ifuHc5uJL5e8\r\nZIPBSHIT2tP7uL3qWjfuB42l6F3TO9sxhpZgwKUeHCdoRHCDxc1OtpTCnR9Z\r\nor8zogZhnohxxbcLj1XNFfQcbSRkJWa42v9bwtkpeA+f2HVYN7BJZ+EukTU7\r\n29ENO6nvtWUJDfbSQMdVH2kLrEaY6ESPy7bubKmmYbawpcrrzIRWI/zRJ9io\r\nx8ZnHQVdlnkQDhrEXpPLHWheykCsi75DeVg=\r\n=w+Ys\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.27.1_1649864455298_0.3529523906373484"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.28.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.28.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn build","test":"mocha --require @opentelemetry/contrib-test-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/contrib-test-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.0"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.28.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.0","@opentelemetry/contrib-test-utils":"^0.30.0","@opentelemetry/sdk-trace-base":"1.2.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"4b2ef8358671e75cda095ea22c9a73527f146395","_id":"opentelemetry-instrumentation-mongoose@0.28.0","_nodeVersion":"12.22.12","_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (linux)","dist":{"integrity":"sha512-tFI6cs47whGyBDFLS+knDYuIah9IeERVJhwHklU74z19RE32EbFmgCL1rGQJx4rbrU4GvAB5CGj47cbrq3ikvQ==","shasum":"3747be91185897b9d74d25db7840ffb52ca37dbb","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.28.0.tgz","fileCount":28,"unpackedSize":150902,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHhZUOtlV9NM3vab9zl2Kmw8H3BY8zfgxXhU6DgGZ43HAiEA3FFktBm9Lr3VyNoaN5x1N6FqWkrlqt8hbpFs+D0sXJA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimMtTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpo7A/5ARkoG62M4UlbxsFJ4iPhbdlATzBjqidhrQyAwWF19MBcm3Qo\r\neqbinN6Oom8M9RiafrE+fu5Nj0Xd8l0IqrryFT4QcxjyZvm9TkzUYwn4CO5H\r\n/xCu7jCfR5c6nJ5HbQc2cz6GL6XG4eTOChR6+jy6zhVIqCGwjenViAkWIQWM\r\n1ESzrPiCVMOVu0z8NS0ymNStvDGSv6VTrZByuqmG0LUuYLN1ylJggXu7J6uW\r\novtl4mf71vfq/DDUjzlS5JPRXzGu5kHXpXAPkJBcUMxWSJWRZabHoUWINacd\r\n+TDjkDKHTefd31Nw5DwUHI5DaEasNWFRZZ1klV+AKMjDDcnvn1wdstSOg6vf\r\n3m99sKJb4PxUVNTnHZSlbDATjH3djTFjD73srcYqXgkXd49sCCFynbX25ZAG\r\ngsCdiB6s41h7uQ7C/05ryeqw/Zq145KOJqwRY+33gZ/CTj7bMji9eyVh/swP\r\nYni1W6q6qBWicy4FY90UCQ3Y/jUJ73xO0QVdGRwGC/xXP+1KMydnb9rQeIsr\r\n9naUtNQI911mD5B9lXo9ouSN1aShw5QtCmvCncGoDQH4g4zPP1tzvAONmZ5e\r\nwfm3xXp20ZQ8CLjULl7RQQUHZf20l/Vu5aUQPhJ0WGvyIeKGJ1nOTonAnLzD\r\n8f+UCFWZX7tX7cEgf4Uftrc4U9X5hOCVndE=\r\n=7Ilv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.28.0_1654180691520_0.821245383489722"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.29.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.29.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn build","test":"mocha --require @opentelemetry/contrib-test-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/contrib-test-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.0"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.29.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.0","@opentelemetry/contrib-test-utils":"^0.31.0","@opentelemetry/sdk-trace-base":"1.2.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"55606fc29b3e835f0b06892462c9832471dbbb3b","_id":"opentelemetry-instrumentation-mongoose@0.29.0","_nodeVersion":"12.22.12","_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (linux)","dist":{"integrity":"sha512-p9NJUcMQbxOexf6mqxKZpjFQjdYvLxbAjmf0T37Y/94NF0GJevafNJtSKb9JEiblMKzIBxh2M109ZPM1lTiDsQ==","shasum":"0e837e511bfb37ab0225e33e07517544e65be91e","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.29.0.tgz","fileCount":28,"unpackedSize":151328,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIArOYnaEPKfVethx+gyNnSHUtF4N0yeg32yXlBMP+QRlAiEA3D7I9ExXbkS6QOInO/yLL+BPwVr6erONVvtQOG7+qhM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiusv/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWGQ/7BAhKMEJqn6mx3p8xLBfrdq9GvSiIuGJZc/rwL7RRis0bdL2w\r\nPEGz1Y9eTJmzMergYHBa8vEWKaRoDw2kKCIRbV24OOMfginFnabrCjy/v62w\r\nZo+VaH3VZvxG8q7oJKYGNfUD++Vnw2+oAGppA2TVTZu9T/5GhUix9mn6Pmy1\r\ny8RtclOGP4uL2efEBKtqeKk3zIyVCVKmeWbtWvdr3dT6cUHAYHLNNVtO7dNS\r\n8BPhBoXZoV8xSFAyfY2PWbt6jd4xLmF8hrYA3kW8VA7vkjhlUxZ+97IeY/Pv\r\nZCAEoTPfUL3QudLQvzuBAYkx1R29xRRGscjvMLnNPKJJw04QkMQ8YXVeiyhI\r\nKeLJ89lmtghPcq3XRIf1KeSqx9AuVPEPuXbBT1NwExbkyGcsrHv+eqc4EdcK\r\nyr27qxh4GsUelm3mBJRdzYuLve8NcWhPKU0Tsd8M9wvzrnU66kaSVIZECWhB\r\nPi8WIfUChgcV8j+J1wBfQXG802jOWuuqTcexkAk5jfCrTkMWPKrTMkyZuG0e\r\nGtHahQuBB9twU+fuofNiv5H7wXJRFY2npi5LLxyfGedyKtYOD+unpSZk+ipJ\r\nOkaLprTjvTLLWmJjRHINwYgcZ/36s4XNQ8OMZ4D0rnbUQ0sA6zwPwQw/FOaw\r\nltccqblZrQ7UhKtdoKrh1QNUGwBG5mAiA+0=\r\n=3dKR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.29.0_1656409087280_0.3124553664671885"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.0.0-2022-07-11--08-09":{"name":"opentelemetry-instrumentation-mongoose","version":"0.0.0-2022-07-11--08-09","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn build","test":"mocha --require @opentelemetry/contrib-test-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/contrib-test-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.0"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.29.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.0","@opentelemetry/contrib-test-utils":"^0.31.0","@opentelemetry/sdk-trace-base":"1.2.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"d4b1388181deeeaa3ad626524493f9e85222d13a","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md","_id":"opentelemetry-instrumentation-mongoose@0.0.0-2022-07-11--08-09","_nodeVersion":"14.19.3","_npmVersion":"lerna/3.22.1/node@v14.19.3+x64 (linux)","dist":{"integrity":"sha512-0VCULWGmqfiz9KrTZA/WzloAQEEj4l0AZVH4htX76jKlfcWYUJk39F3z/aU9XDWJL47QO4JXR/I0lAmVCWDy1A==","shasum":"b196f5bb53966bf27d8ac8886a44065940137671","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.0.0-2022-07-11--08-09.tgz","fileCount":28,"unpackedSize":151398,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjHokNyM5nKqrDTkZghMfP2uI6U3upwPxDBywrvoR7nAiBKOC0gskoqxfFllGzfXe4PyogyH/QmCKwmtfOx46XT/Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiy9rbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6IQ/+MXtgJXURXSCogScgCQ3unGXJKlcPtafAXr2KFZ0H2qTUgOXK\r\ny6bgdNL6j/J0QCKqTBrihFmpUkhVeMucYJQLYN48TjjZgl334id53ySCJX46\r\nxVMtVkQaLaZ9IJ3T2j6ImsnlGX6EWjKiXMJyX4ZfmTBCYxWdG53INzSXv2HW\r\nCtBzSC6QMvVLJi0uoAOrKzww9usPLr0LhKL8PWhN5XmRkKPpE+HYNCcPiz2B\r\nBNJ8Zg4VEq02EYnpgz3o/Y4XpIRX/XEiIxUlp3OU5WOPOE8wik+P5GfGcbb3\r\nYsp6SUSEix4HSkJJxdjGTNpe/IwglhW+39iIeXgDnJaIHAxz+N4RD00prT4M\r\nPAqgiEORUoR8tsbWiCIE4Zv3fyPD4T3nvYpjkXqs9DPePJUMzkDdhvGzzDtk\r\n4NEAhhn2JUKI+7fKHpa/tGYYhynp6qsynnezihulkdFCsA02Q93o2w+VA39Y\r\nmwXc99+lA904YN3wju1xcdZXL6vawgx7Ze/BfEKDp7RQk6dHg8EkblDrU5zD\r\n1G47ao6Gp7a2QXAN6sHpS6sWc7wFwcWTlkvLjsKYaEgoQImzaGRvCo3KVO7H\r\nOYs4/jwxGX8PkGA37h0VTV6HfKFU2JH4IcC6J5fACSuVH9dgo3ZK/wWw4Q4S\r\nU2FQC7164qIlZKi1Xcqv5uyUPTurE21JAxY=\r\n=EOm/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.0.0-2022-07-11--08-09_1657527002469_0.7110175946577952"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.32.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.32.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn build","test":"mocha --require @opentelemetry/contrib-test-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/contrib-test-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.0.0"},"dependencies":{"@opentelemetry/core":"^1.0.0","@opentelemetry/instrumentation":"^0.32.0","@opentelemetry/semantic-conventions":"^1.0.0"},"devDependencies":{"@opentelemetry/api":"^1.0.0","@opentelemetry/contrib-test-utils":"^0.32.0","@opentelemetry/sdk-trace-base":"1.2.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"55e1b892a2d6ec6c9097e6e39ff69d15562b549b","_id":"opentelemetry-instrumentation-mongoose@0.32.0","_nodeVersion":"14.20.1","_npmVersion":"lerna/3.22.1/node@v14.20.1+x64 (linux)","dist":{"integrity":"sha512-Hb0wLQEmE+D40z7nn64YDBiLtmepZI3sBNQm4DvvIjy5Z6L5h4EcWYt3yTahxoXlWJz2fizA3mgKRQw74pJsXA==","shasum":"efc3aa4c8717a50c7b8ec025115379edb4b25fbf","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.32.0.tgz","fileCount":28,"unpackedSize":151754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIESoDrR+xKQirIiTA4RfhQiXsinAre9NZOwfZJqwe5SzAiEA90uqSx8Yb58+6wX3u/F74SVnj+7hUdyDLypBkiVr+e8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTnyNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpBHA//U4RePOtPpT3Bkw+hVxpg/q+7p1A/mQwfj8eGvzpmmaj89e+o\r\nLyeG9kgALRz4dBl97fIkogDSi722ku904MWQrdrAqjtim0f8Y1WTQEYqhODo\r\nnwjctxKYOu/Ewzkh3/BKo1FtHCvfWPvAUO4vr8RwbZSWVfMni7qYtp87l5Km\r\n1SP5qjrpowT8vUTaxfAo4ZXb2g5jvFo9EKhPz6ZgMbSlmJlU/zUe3l0Sz8x/\r\ngp+9jlvCikT12A2Z6QKVTIf1fasDUeVt3pFy9gVhdb5hHf+ZhfeoldeZt/cX\r\nL3g+7p3YrnhC+9ArgfnIvXeEpCwNcdN8FST8GtHhPTGf8V49ODOEvyLKVIX+\r\nm7XKutEv2NdJRfO3Sp+e/I3K66QVe4WkMLhYnv0L3U+d4p0K9VSf7EDo3Z6x\r\nX/6oQuBo2sW64E+j/ePdo1qP1AhKyIT7sxYadDq+Uxz7vP5QQs/ODt0TTnGA\r\n0ijUeEJu4scIms+U0/UEenDxii0AoEGnIQUAvGsY6K/ZhCcLp/D8NVJ0k/i2\r\neSq8wIMeUPEomNrLNF4LJuv4HZltGBoPVVJNALA1bfSYURPFqclPl+5fH/YL\r\n6hrAYu6ycFUupvh4oHTeplvsGkSuTJ5rjzdj81qmiLOnGodJyMJXUfE+ZQZM\r\nn5TyKGoIWVVnfYYV5uT32pQRiKvAyiGqHoI=\r\n=0Ek8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.32.0_1666088076877_0.5498309487439814"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"},"0.34.0":{"name":"opentelemetry-instrumentation-mongoose","version":"0.34.0","description":"open telemetry instrumentation for the `mongoose` module","keywords":["mongoose","mongodb","opentelemetry"],"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","license":"Apache-2.0","main":"dist/src/index.js","repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"scripts":{"build":"tsc","prepare":"yarn build","test":"mocha --require @opentelemetry/contrib-test-utils","test:jaeger":"OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/contrib-test-utils","test:ci":"yarn test","test:docker:run":"docker run -d --name mongoose-unittests -p 27017:27017 mongo","watch":"tsc -w","version:update":"node ../../scripts/version-update.js","version":"yarn run version:update"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"peerDependencies":{"@opentelemetry/api":"^1.3.0"},"dependencies":{"@opentelemetry/core":"^1.8.0","@opentelemetry/instrumentation":"^0.34.0","@opentelemetry/semantic-conventions":"^1.8.0"},"devDependencies":{"@opentelemetry/api":"^1.3.0","@opentelemetry/contrib-test-utils":"^0.33.0","@opentelemetry/sdk-trace-base":"1.8.0","@types/mocha":"^8.2.2","@types/node":"^14.0.0","expect":"^26.6.2","mocha":"^8.4.0","mongodb":"^3.6.4","mongoose":"5.11.15","opentelemetry-instrumentation-mocha":"0.0.1-rc.7","ts-node":"^9.1.1","typescript":"4.3.4"},"mocha":{"extension":["ts"],"spec":"test/**/*.spec.ts","require":["ts-node/register","opentelemetry-instrumentation-mocha"]},"gitHead":"ccc45183d4f5386a4f675f2c02acd8c41a4293d9","_id":"opentelemetry-instrumentation-mongoose@0.34.0","_nodeVersion":"14.20.1","_npmVersion":"lerna/3.22.1/node@v14.20.1+x64 (linux)","dist":{"integrity":"sha512-EPVynrhy6Ag8XuNrJKM2ReiQ77yxHAPEZxu6EykBDM8LM+Sgag+ejf6RntpK3LyehqTEzMjImyO7rO9mUmBFwA==","shasum":"e958b122b512130ce11f0677783363e3215347c3","tarball":"https://registry.npmjs.org/opentelemetry-instrumentation-mongoose/-/opentelemetry-instrumentation-mongoose-0.34.0.tgz","fileCount":28,"unpackedSize":152179,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFhQscwzyebsSqu8AVmZt35k/2MD5w0+DVehdsTwGkxmAiEAxKBThWHtVpi/5ZtBtKoy8IALJfY15Lchr2e8dg7uO3g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJje2D2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp00g/8CHxvKTYFODZ5mnvijLkyv1mLUbRpMXAs7sgJbV2IdSIt7TEI\r\nr0oEoeELToE155IsxGKN7GjBt/UT1hDD3p23/Jv5KoHh6LWDevCSLXstixXK\r\nyn1w8+9viLIwjvAD+vmwdUol/z8jV6rRd6KVhBW82ddjkuWlq4UdCOIhsKAP\r\njjsvv38QgVMcurDdvwx8XhatFejOISsBIDF7sqj7FTJ0hpcUDkUGivQ3aN3k\r\n9eB58LJLp5Ol8MJWnwSM3C2anp5kedSX27oa34Wfa7mAdb5eQ4hg1z+aLAlm\r\nHiM02xvtThb1h0HM7WAdlo3QUjilPTwepOpTjN7Cvkj2+T9IDlCSvFC9bNPl\r\nWP5nlZlhr7f5BUZ4wFnQM6jATRZaHHTSk296jX64dpx/xUm2ppkcJA5ieATy\r\n0YAgJfGacWJf1p679f5kxdhzdh5yPGC3XsMq9BYdloOMVBvRF/CX8/MtUn3o\r\npngE0gk1TPqJ2ZhO0MseCT/hJriCJv+JvoHCGOgfiAhnHLuOVxLYvcwIPefB\r\nxUalER9X2QR48kqIImxlVo9QyRsiN5q622kEJsB6z9qSV0dlI2dnlfv9j7Xa\r\nOT5Es+wzvrn+6K4rHfZNtFYEo75WrKxRdvSOVQdweikuhEpyrvMFXTI5X4hf\r\nRsUoehmaYa7NmLMAbauVbpJjdDRUcNZjNL0=\r\n=VNEL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aspecto-release-bot","email":"dev@aspecto.io"},"directories":{},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opentelemetry-instrumentation-mongoose_0.34.0_1669030134401_0.5562348772156593"},"_hasShrinkwrap":false,"deprecated":"Deprecated in favor of @opentelemetry/instrumentation-mongoose"}},"time":{"created":"2021-02-16T16:39:05.153Z","0.0.1":"2021-02-16T16:39:05.299Z","modified":"2023-01-16T12:00:23.332Z","0.1.0":"2021-02-18T11:14:07.627Z","0.0.2":"2021-02-18T13:15:11.112Z","0.2.0":"2021-02-18T15:06:22.840Z","0.2.1":"2021-03-01T14:07:44.876Z","0.2.2":"2021-03-04T13:23:29.696Z","0.2.3":"2021-03-07T13:52:38.704Z","0.2.4":"2021-03-15T09:49:41.667Z","0.2.5-aws-sdk-v3.0":"2021-03-16T12:17:30.384Z","0.3.0":"2021-03-18T10:53:58.977Z","0.3.1-otel-v0.18.1.0":"2021-03-30T10:59:02.552Z","0.3.1-otel-v0.19.0.0":"2021-04-27T14:25:16.224Z","0.4.0":"2021-04-28T06:51:01.247Z","0.4.1-aws-import-one-serivce.0":"2021-04-28T10:04:54.244Z","0.4.1":"2021-05-03T10:42:16.496Z","0.4.2":"2021-05-19T12:00:51.741Z","0.4.3":"2021-05-19T14:17:32.585Z","0.0.0-2021-05-25--13-03":"2021-05-25T13:04:34.396Z","0.0.0-2021-05-26--07-22":"2021-05-26T07:23:09.790Z","0.0.0-2021-05-26--15-12":"2021-05-26T15:13:32.711Z","0.4.4":"2021-05-31T13:40:59.957Z","0.0.0-2021-05-31--14-38":"2021-05-31T14:39:44.258Z","0.4.5":"2021-06-02T11:41:24.607Z","0.0.0-2021-06-07--07-42":"2021-06-07T07:43:39.870Z","0.0.0-2021-06-09--06-50":"2021-06-09T06:51:01.819Z","0.5.0":"2021-06-09T09:12:30.912Z","0.0.0-2021-06-14--13-06":"2021-06-14T13:07:05.274Z","0.5.1":"2021-06-16T09:20:02.118Z","0.0.0-2021-06-17--13-11":"2021-06-17T13:12:13.552Z","0.21.0":"2021-06-20T10:06:17.454Z","0.0.0-2021-06-23--07-47":"2021-06-23T07:48:49.952Z","0.0.0-2021-06-23--08-12":"2021-06-23T08:13:06.041Z","0.0.0-2021-06-23--15-11":"2021-06-23T15:12:33.759Z","0.22.0":"2021-06-28T08:28:41.761Z","0.22.1":"2021-07-04T14:24:55.068Z","0.23.0":"2021-07-05T09:54:55.892Z","0.0.0-2021-08-01--12-54":"2021-08-01T12:55:18.825Z","0.24.0":"2021-08-01T14:16:34.929Z","0.24.1":"2021-09-01T12:38:18.140Z","0.0.0-2021-09-19--10-26":"2021-09-19T10:27:40.528Z","0.25.0":"2021-09-19T12:44:38.335Z","0.0.0-2021-10-20--09-32":"2021-10-20T09:33:07.802Z","0.26.0":"2021-10-26T19:29:45.118Z","0.26.1":"2021-11-29T11:11:51.651Z","0.0.0-2021-12-15--12-47":"2021-12-15T12:48:44.399Z","0.0.0-2021-12-15--13-05":"2021-12-15T13:06:54.453Z","0.0.0-2021-12-15--13-29":"2021-12-15T13:31:07.236Z","0.0.0-2021-12-15--16-17":"2021-12-15T16:18:21.581Z","0.0.0-2021-12-20--13-41":"2021-12-20T13:42:14.425Z","0.0.0-2021-12-21--15-57":"2021-12-21T15:58:34.770Z","0.0.0-2021-12-22--14-33":"2021-12-22T14:36:21.770Z","0.0.0-2021-12-26--12-22":"2021-12-26T12:23:02.450Z","0.0.0-2021-12-26--12-31":"2021-12-26T12:32:51.923Z","0.27.0":"2021-12-27T09:50:57.119Z","0.0.0-2022-04-13--14-32":"2022-04-13T14:32:52.953Z","0.27.1":"2022-04-13T15:40:55.435Z","0.28.0":"2022-06-02T14:38:11.683Z","0.29.0":"2022-06-28T09:38:07.418Z","0.0.0-2022-07-11--08-09":"2022-07-11T08:10:03.005Z","0.32.0":"2022-10-18T10:14:37.171Z","0.34.0":"2022-11-21T11:28:54.570Z"},"maintainers":[{"name":"aspecto-release-bot","email":"dev@aspecto.io"}],"description":"open telemetry instrumentation for the `mongoose` module","homepage":"https://github.com/aspecto-io/opentelemetry-ext-js","keywords":["mongoose","mongodb","opentelemetry"],"repository":{"type":"git","url":"git+https://github.com/aspecto-io/opentelemetry-ext-js.git"},"author":{"name":"Aspecto","email":"support@aspecto.io","url":"https://aspecto.io"},"bugs":{"url":"https://github.com/aspecto-io/opentelemetry-ext-js/issues"},"license":"Apache-2.0","readme":"# OpenTelemetry Mongoose Instrumentation for Node.js\n[![NPM version](https://img.shields.io/npm/v/opentelemetry-instrumentation-mongoose.svg)](https://www.npmjs.com/package/opentelemetry-instrumentation-mongoose)\n\nThis package is heavily based on [@wdalmut/opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose).  \nThis module provides automatic instrumentation for [`mongoose`](https://mongoosejs.com/) and follows otel [DB Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).  \n\n## Installation\n\n```\nnpm install --save opentelemetry-instrumentation-mongoose\n```\n\n## Usage\nFor further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation) package.\n\n```js\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\nconst { MongooseInstrumentation } = require('opentelemetry-instrumentation-mongoose');\n\nregisterInstrumentations({\n  tracerProvider,\n  instrumentations: [\n    new MongooseInstrumentation({\n      // see under for available configuration\n    })\n  ]\n});\n```\n\n### Mongoose Instrumentation Options\n\nMongoose instrumentation has few options available to choose from. You can set the following (all optional):\n\n| Options        | Type                                   | Description                                                                                     |\n| -------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------- |\n| `suppressInternalInstrumentation` | `boolean` | Mongoose operation use mongodb under the hood. Setting this to true will hide the underlying mongodb spans (if instrumented). |\n| `responseHook` | `MongooseResponseCustomAttributesFunction` | Hook called before response is returned, which allows to add custom attributes to span.      |\n| `dbStatementSerializer` | `DbStatementSerializer` | Mongoose instrumentation will serialize `db.statement` using the specified function.\n| `moduleVersionAttributeName` | `string` | If passed, a span attribute will be added to all spans with key of the provided `moduleVersionAttributeName` and value of the patched module version |\n| `requireParentSpan` | `boolean` | Set to true if you do not want to collect traces that start with mongoose |\n\n### Custom `db.statement` Serializer\n\nBy default, this instrumentation does not populate the `db.statement` attribute.  \nIf you pass `dbStatementSerializer` while using this plugin, the return value of the serializer will be placed in the `db.statement`.\n\nSerializer meets the following interfaces:\n```ts\ninterface SerializerPayload {\n    condition?: any;\n    options?: any;\n    updates?: any;\n    document?: any;\n    aggregatePipeline?: any;\n}\n\ntype DbStatementSerializer = (operation: string, payload: SerializerPayload) => string;\n```\nPlease make sure `dbStatementSerializer` is error proof, as errors are not handled while executing this function.\n\n## Difference from [opentelemetry-plugin-mongoose](https://github.com/wdalmut/opentelemetry-plugin-mongoose)\n\n* This lib is using the opentelemetry instrumentation api, as opposed to the old plugin api.\n* This lib is using the latest opentelemetry version, as opposed to 0.6.0.\n* Strictly follows opentelemetry database client [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md).\n* Has the ability to suppress internal instrumentation.\n* Provides statement serializer and a response hook.\n* Contains several bug fixes.\n\n---\n\nThis extension (and many others) was developed by [Aspecto](https://www.aspecto.io/) with ❤️\n","readmeFilename":"README.md"}