{"_id":"@aldofrota/dd-trace-decorator","_rev":"11-31132b2bbde7acdefa5703d8e722f04e","name":"@aldofrota/dd-trace-decorator","dist-tags":{"latest":"1.0.12"},"versions":{"1.0.0":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.0","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.0","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"1fdf3270776e5b75e8d9003b2caaf9e1edbf6cda","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.0.tgz","fileCount":6,"integrity":"sha512-Q2dCcj3akT1CQsb6bZTYY56nmH7tW2n8FiLG0v77zJdCeX3ydF4tXOTEepEVmC4fsJSelqJGBZQhurf/xvLH5g==","signatures":[{"sig":"MEYCIQCHOrh/ISVc0ISEX0CkFP2Q+VNH2FWlOv71jM/Ih6yKAgIhAMNOx+PUjqSENe7X7wGKLVqEMC1GUBklexi7rAC7eKmb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12203},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7f07572645ca780c41bc619e0e01450c963284bf","scripts":{"build":"tsc"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"11.2.0","description":"Decorator para facilitar tracing com Datadog","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.0_1751898700889_0.8536188527569801","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.1","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.1","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"7cdabc937960192a4f7367e9d2ac6a58caa35888","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.1.tgz","fileCount":6,"integrity":"sha512-0cAdUsZJ8x10ILjQ2TvTMVtJlKvKBz1XDscOEiqyP8CG1hNJ26uKukuAycLMTx9+h3J4OCXkJthc9gC89Wcf6A==","signatures":[{"sig":"MEQCIESpCamkVs9uf/NJdIyqEbZixERggFVBrn/Zf7EqNzwbAiAYJjzjPSDbO6xKzSImDGJZ+ppDhpG/3E5uhO1+LnwjUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12202},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7f07572645ca780c41bc619e0e01450c963284bf","scripts":{"build":"tsc"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"11.2.0","description":"Decorator para facilitar tracing com Datadog","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dd-trace":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.1_1751899757148_0.6784204763541486","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.2","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.2","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"e1e0f09525eda92399719f41cd7290f3a3dbae9b","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.2.tgz","fileCount":6,"integrity":"sha512-ysj8sSqs7WAdfEfLEJaYDE7aVxkASudDQ0oQP8DWQMOkvYG5syurtfnLCEbt97SZ6+0+wHeH+ThHb0rvrpPs9A==","signatures":[{"sig":"MEQCIDuVsIeSEE8PynB4n35FjAdeKMQVAlOJJ8Qqs308i51mAiBk3oUKqVn8IF+Rp870z7/4SWaWNCDaj6TmIIjaDP0Pxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18129},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1373d3661149b6b8ba0ab094efc482cbae033b71","scripts":{"build":"tsc"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"11.2.0","description":"Decorator to facilitate tracing with Datadog","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.2_1751904764916_0.05295931054909242","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.3","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.3","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"651370da287ae7fe382f7fedb757db3632086166","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.3.tgz","fileCount":6,"integrity":"sha512-OoL4dkVptoZfQwsbNyuIcy403z8FP7582WZLWnl4XVZqRNJTc17x1ClOwGpBWUb7zwb1A+cS/FjcCVB5ZjCO1g==","signatures":[{"sig":"MEUCIFXlw9/yGFXhREOM0Vg2xy+UmL0C5TBxfesc6lxnR14oAiEAiBx8IUvi3gSQpI7ctFv715xbju/OU/bcX4bOZBhK1uw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15938},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1373d3661149b6b8ba0ab094efc482cbae033b71","scripts":{"build":"tsc"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"11.2.0","description":"Decorator to facilitate tracing with Datadog","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.3_1751905891259_0.1796560385850181","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.4","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.4","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"385e70b3c0bb97d8510682bbae08aa93d04b9485","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.4.tgz","fileCount":6,"integrity":"sha512-tWniNr0qzTQfS68vxmy4Zgi8kIQ7K63dlEnY0dMHF9Lb2Rx36r864NlCZL1siIUAgyGnmAUjhLgekHExIahs5Q==","signatures":[{"sig":"MEUCIH3RCQcLI5xIMavrZrjVxBJviTxYFyp5tWJUWO3rzY8IAiEAxQVUl0Ra5IF83UByZx+Sd0dQMkAbpw8TN1zwbQrMBZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13959},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"322ab8df15e832b22d78aec1ec578058df0a8866","scripts":{"build":"tsc"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"11.2.0","description":"Decorator to facilitate tracing with Datadog","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.4_1751907200182_0.21451688009297132","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.5","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.5","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"c922d4ccd3f91ffb0afe18c1e335ddb0521003ce","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.5.tgz","fileCount":8,"integrity":"sha512-IZZ/lliIsyNjfbFX+ggBL7PSdSIZS9BQS/MZ+9OCSk83WMpQG0Z3ZsL8hAMux9zvwFmVd9aZsOK9oimMxwKelA==","signatures":[{"sig":"MEUCIQDq+Wzn79BMbmH+j5vA27krzFs/sPxY0n0A/c11Og+B5QIgA24fOsVJvck84xzlvdMaEPaAZamomtj09aGNsv8Fflo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34504},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7bec27ebefccb3278c9f3b9cb0e0136ae8fbc1c2","scripts":{"test":"jest","build":"tsc","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"10.8.1","description":"Decorator to facilitate tracing with Datadog","directories":{},"_nodeVersion":"20.14.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","ts-jest":"^29.4.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.5_1751918234842_0.8849054375080376","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.6","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.6","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"6c9fa0b17c7134ca669622675cb491085d5cd23c","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.6.tgz","fileCount":16,"integrity":"sha512-8WLIP5ZUZYXqp0eTaqmsT1cvIG94SH1b56P/ANOLHZaw7+aH1UWBXGCkGxm3AH3k1TqU0i7p/DgpVXmcEl8+6A==","signatures":[{"sig":"MEUCIQDijkPpfi6QVRMbkbYGISO9qVU9Ins0GYTIsgcU+ibdtwIgSvHk58IKq4qUT1XxYdG7vEuX198Md/4paODZbO8+32g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76370},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7bec27ebefccb3278c9f3b9cb0e0136ae8fbc1c2","scripts":{"test":"jest","build":"tsc","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"10.8.1","description":"Decorator to facilitate tracing with Datadog","directories":{},"_nodeVersion":"20.14.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","ts-jest":"^29.4.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.6_1751918455123_0.907626055466529","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.7","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.7","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"ce26e8fe62d007045cc905e70146bf8adb7cc8c4","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.7.tgz","fileCount":15,"integrity":"sha512-i20PH9I0zVFnAKlCR1BOw5+Ktmtat53AuME1cBXpbG+Lmz9grjQ6w/24yiutVD0jGApgInlCcBK7u6r5l9q8bg==","signatures":[{"sig":"MEUCIQDs2CBliV1y5H5Qp9gCzaLsCORu9+2Y8KTfrdobBVCJZAIgI7Z9kdaLyW+uitloormfXS0G9moPAyjkdlbUnpyjsJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70561},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"15b76a4077af138dbc44ff23ed2256c5dc266791","scripts":{"test":"jest","build":"tsc","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"10.8.1","description":"Decorator to facilitate tracing with Datadog","directories":{},"_nodeVersion":"20.14.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","ts-jest":"^29.4.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.7_1752082642578_0.8320558436790844","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.9","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.9","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"9f887440bdb04a79ed88ea6982037c9652ccc9e6","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.9.tgz","fileCount":15,"integrity":"sha512-E1oKku56Kqs9MyC21aPc2xRB6EsjYUzH47gFDsG7AFUYvAZv0RshkW1vn89Ysdrc9KF3oVGL8/FnBsWlfhl9Kw==","signatures":[{"sig":"MEYCIQDaMZphP9qMeYdYHYtMT2wTeKCmtnF8s/peDUc5W4m9zwIhAIH40T5YT9KwPZaL0nSVCvmJThJGUc0ZaOQfRePAwQ47","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68883},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"221fea138acec18089e63bd2c3227174b9850761","scripts":{"test":"jest","build":"tsc","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"10.8.1","description":"Decorator to facilitate tracing with Datadog","directories":{},"_nodeVersion":"20.14.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","ts-jest":"^29.4.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.9_1752082829645_0.34399464091435794","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@aldofrota/dd-trace-decorator","version":"1.0.10","keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","_id":"@aldofrota/dd-trace-decorator@1.0.10","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"dist":{"shasum":"d5140740e4e534d3813a704f759fcf5df381604a","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.10.tgz","fileCount":15,"integrity":"sha512-Co7+qbl3o8FECrVbH1oIXcsPpBTma09Xpn956YCRSPQx/JnGaH3bjqIXrz4+eHb/KQEA2EUegTrubizn/5UMVA==","signatures":[{"sig":"MEQCIFEaFT3MPJuF8gtkX2M/tXwW5r7Sja1nOPrVBFF+Q1u6AiAJ7iwZ9yEQytxew04zGPf6O15vVHLLmxNpbeEigSPK6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69104},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"271e4c6d157215a7ce5d52f2a15b8fc42cc79a7f","scripts":{"test":"jest","build":"tsc","test:watch":"jest --watch","publish:beta":"npm version patch && npm run build && npm publish --tag beta && git push origin main","test:coverage":"jest --coverage","publish:latest":"npm version patch && npm run build && npm publish --tag latest && git push origin main"},"_npmUser":{"name":"aldofrota","actor":{"name":"aldofrota","type":"user","email":"aldofrotadev@gmail.com"},"email":"aldofrotadev@gmail.com"},"repository":{"url":"git+https://github.com/aldofrota/dd-trace-decorator.git","type":"git"},"_npmVersion":"10.8.1","description":"Decorator to facilitate tracing with Datadog","directories":{},"_nodeVersion":"20.14.0","dependencies":{"dd-trace":"^5.57.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","ts-jest":"^29.4.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.10"},"_npmOperationalInternal":{"tmp":"tmp/dd-trace-decorator_1.0.10_1752082958583_0.6549798937187816","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@aldofrota/dd-trace-decorator","publishConfig":{"access":"public"},"version":"1.0.12","description":"Decorator to facilitate tracing with Datadog","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"jest","publish:latest":"npm version patch && npm run build && npm publish --tag latest && git push origin main","publish:beta":"npm version patch && npm run build && npm publish --tag beta && git push origin main","test:watch":"jest --watch","test:coverage":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/aldofrota/dd-trace-decorator.git"},"keywords":["datadog","decorator","dd-trace","apm","typescript"],"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","dependencies":{"dd-trace":"^5.57.1"},"devDependencies":{"@types/jest":"^30.0.0","@types/node":"^24.0.10","jest":"^30.0.4","ts-jest":"^29.4.0","typescript":"^5.8.3"},"_id":"@aldofrota/dd-trace-decorator@1.0.12","gitHead":"4c22815b52bb26a1b2c7e950248ed108bdf78a1e","bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","_nodeVersion":"20.14.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-tFVxhpr7t81nxAIBNvbqPLUxIxHxBPIZYq1B+tuhynA83u259QMa7G+/13RgjxxfZJxna9YSyWstrB30LW4PVw==","shasum":"2983952de579ecfc07510da9f8b0b70f5ebdb3f8","tarball":"https://registry.npmjs.org/@aldofrota/dd-trace-decorator/-/dd-trace-decorator-1.0.12.tgz","fileCount":15,"unpackedSize":69104,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDOUOKLKTx3h150orNACUgWLkpMP077weEUEW9JLwPStAIgFIrdN6OyBpKOv9dk1afxsD5lmM37ZRTvGYDyUow8y68="}]},"_npmUser":{"name":"aldofrota","email":"aldofrotadev@gmail.com","actor":{"name":"aldofrota","email":"aldofrotadev@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dd-trace-decorator_1.0.12_1752083681352_0.1903130186674158"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-07T14:31:40.723Z","modified":"2025-07-09T17:54:41.706Z","1.0.0":"2025-07-07T14:31:41.062Z","1.0.1":"2025-07-07T14:49:17.337Z","1.0.2":"2025-07-07T16:12:45.110Z","1.0.3":"2025-07-07T16:31:31.425Z","1.0.4":"2025-07-07T16:53:20.352Z","1.0.5":"2025-07-07T19:57:15.028Z","1.0.6":"2025-07-07T20:00:55.322Z","1.0.7":"2025-07-09T17:37:22.781Z","1.0.9":"2025-07-09T17:40:29.840Z","1.0.10":"2025-07-09T17:42:38.852Z","1.0.12":"2025-07-09T17:54:41.525Z"},"bugs":{"url":"https://github.com/aldofrota/dd-trace-decorator/issues"},"author":{"name":"Aldo Frota","email":"aldofrotadev@gmail.com"},"license":"MIT","homepage":"https://github.com/aldofrota/dd-trace-decorator#readme","keywords":["datadog","decorator","dd-trace","apm","typescript"],"repository":{"type":"git","url":"git+https://github.com/aldofrota/dd-trace-decorator.git"},"description":"Decorator to facilitate tracing with Datadog","maintainers":[{"name":"aldofrota","email":"aldofrotadev@gmail.com"}],"readme":"# DD-Trace Decorator\n\nDecorator para facilitar o tracing com Datadog em aplicações TypeScript.\n\n## Pré-requisitos\n\nCertifique-se de que o Datadog está configurado no seu ambiente para validar a funcionalidade de tracing.\n\n## Instalação\n\n### Instale a biblioteca\n\n```bash\nnpm install @aldofrota/dd-trace-decorator\n```\n\n## Uso\n\n### Decorator de Método\n\nO decorator `@TraceMethod` pode ser aplicado a métodos individuais para adicionar tracing específico.\n\n#### Configuração Básica\n\n```typescript\nimport { TraceMethod } from \"@aldofrota/dd-trace-decorator\";\n\nexport class UserService {\n  @TraceMethod({\n    includeParamsAsTags: true,\n    includeResultAsTag: true,\n  })\n  async createUser(user: any): Promise<any> {\n    return { id: 123, name: user.name };\n  }\n}\n```\n\n#### Configuração Avançada\n\n```typescript\n@TraceMethod({\n  name: \"custom.span.name\",\n  includeParamsAsTags: true,\n  includeSpecificArgs: [0], // Apenas o primeiro argumento\n  objectFieldsToInclude: {\n    0: [\"id\", \"status\"], // Apenas campos específicos do primeiro argumento\n  },\n  excludeObjectFields: {\n    0: [\"password\", \"secret\"], // Excluir campos sensíveis\n  },\n  argsMap: [\"user\", \"role\", \"config\"], // Nomes customizados para argumentos\n  tags: {\n    \"custom.tag\": \"value\",\n  },\n})\nasync createUser(user: any, role: string, config: any): Promise<any> {\n  // ...\n}\n```\n\n## Opções do Decorator\n\n### Opções Disponíveis\n\n**Configurações Independentes:**\n\n- `name`: Nome customizado do span\n- `tags`: Tags estáticas adicionais\n- `includeParamsAsTags`: Incluir parâmetros como tags\n- `includeResultAsTag`: Incluir resultado como tag\n\n**Configurações que dependem de `includeParamsAsTags: true`:**\n\n- `includeParamsAsTags`: Habilita a inclusão de parâmetros como tags\n- `argsMap`: Mapeamento de nomes para argumentos\n- `includeSpecificArgs`: Índices dos argumentos a serem incluídos\n- `objectFieldsToInclude`: Campos específicos de objetos por índice\n- `excludeObjectFields`: Campos a serem excluídos por índice\n\n### Comportamento do Decorator\n\nO decorator `@TraceMethod`:\n\n- Aplica tracing apenas ao método decorado\n- Permite configurações específicas por método\n- Suporta todas as opções de configuração\n- Funciona com métodos síncronos e assíncronos\n\n### Configurações Detalhadas\n\n#### Configurações Básicas\n\n**`name`**: Define um nome customizado para o span\n\n```typescript\n@TraceMethod({ name: \"custom.operation.name\" })\nmethod() { /* ... */ }\n```\n\n**`tags`**: Adiciona tags estáticas ao span\n\n```typescript\n@TraceMethod({ \n  tags: { \n    service: \"user-service\", \n    version: \"1.0.0\" \n  } \n})\nmethod() { /* ... */ }\n```\n\n**`includeParamsAsTags`**: Habilita a inclusão de parâmetros como tags\n\n```typescript\n@TraceMethod({ includeParamsAsTags: true })\nmethod(user: any) { /* ... */ }\n// Resultado: user = { id: 123, name: \"John\" }\n```\n\n**`includeResultAsTag`**: Inclui o resultado do método como tag\n\n```typescript\n@TraceMethod({ includeResultAsTag: true })\nmethod() { return { success: true }; }\n// Resultado: result = {\"success\":true}\n```\n\n#### Configurações de Parâmetros\n\n**`argsMap`**: Define nomes customizados para argumentos *(requer `includeParamsAsTags: true`)*\n\n**⚠️ Importante**: O `argsMap` deve ter exatamente o mesmo número de nomes que o número de parâmetros, na ordem correta.\n\n```typescript\n@TraceMethod({\n  includeParamsAsTags: true, // ← Obrigatório\n  argsMap: [\"user\", \"role\", \"config\"] // ← Deve corresponder aos parâmetros na ordem\n})\nmethod(user: any, role: string, config: any) { /* ... */ }\n// Resultado: user = {...}, role = \"admin\", config = {...}\n```\n\n**❌ Exemplo incorreto:**\n\n```typescript\n@TraceMethod({\n  includeParamsAsTags: true,\n  argsMap: [\"user\", \"role\"] // ← Faltando nome para o terceiro parâmetro\n})\nmethod(user: any, role: string, config: any) { /* ... */ }\n// Resultado: user = {...}, role = \"admin\", config = \"arg2\" (nome padrão)\n```\n\n**`includeSpecificArgs`**: Inclui apenas argumentos específicos *(requer `includeParamsAsTags: true`)*\n\n```typescript\n@TraceMethod({\n  includeParamsAsTags: true, // ← Obrigatório\n  includeSpecificArgs: [0, 2] // Apenas primeiro e terceiro argumentos\n})\nmethod(user: any, role: string, config: any) { /* ... */ }\n// Resultado: user = {...}, config = {...} (role é ignorado)\n```\n\n#### Configurações de Filtragem de Objetos\n\n**Importante**: Estas configurações só funcionam quando `includeParamsAsTags: true`\n\n**`objectFieldsToInclude`**: Inclui apenas campos específicos de objetos *(requer `includeParamsAsTags: true`)*\n\n```typescript\n@TraceMethod({\n  includeParamsAsTags: true, // ← Obrigatório\n  objectFieldsToInclude: {\n    0: [\"id\", \"name\"], // Apenas id e name do primeiro argumento\n    2: [\"enabled\"]     // Apenas enabled do terceiro argumento\n  }\n})\nmethod(user: any, role: string, config: any) { /* ... */ }\n// Resultado: user.id = 123, user.name = \"John\", config.enabled = true\n```\n\n**`excludeObjectFields`**: Exclui campos específicos de objetos *(requer `includeParamsAsTags: true`)*\n\n```typescript\n@TraceMethod({\n  includeParamsAsTags: true, // ← Obrigatório\n  excludeObjectFields: {\n    0: [\"password\", \"secret\"], // Exclui campos sensíveis\n    2: [\"internal\"]            // Exclui campo interno\n  }\n})\nmethod(user: any, role: string, config: any) { /* ... */ }\n// Resultado: todos os campos exceto password, secret e internal\n```\n\n#### Combinações Avançadas\n\n**Filtragem completa com nomes customizados:**\n\n```typescript\n@TraceMethod({\n  includeParamsAsTags: true,\n  argsMap: [\"user\", \"role\", \"config\"],\n  includeSpecificArgs: [0, 2],\n  objectFieldsToInclude: {\n    0: [\"id\", \"name\"],\n    2: [\"enabled\"]\n  },\n  excludeObjectFields: {\n    0: [\"password\"],\n    2: [\"internal\"]\n  }\n})\nmethod(user: any, role: string, config: any) { /* ... */ }\n```\n\n**Configuração para objeto único:**\n\n```typescript\n@TraceMethod({\n  includeParamsAsTags: true,\n  objectFieldsToInclude: {\n    0: [\"id\", \"name\", \"email\"]\n  },\n  excludeObjectFields: {\n    0: [\"password\", \"secret\"]\n  }\n})\ncreateUser(user: any) { /* ... */ }\n// Resultado: apenas id, name e email são incluídos como tags\n```\n\n#### Comportamentos Especiais\n\n**Objeto único sem filtros:**\n\n```typescript\n@TraceMethod({ includeParamsAsTags: true })\ncreateUser(user: any) { /* ... */ }\n// Resultado: todos os campos do objeto são incluídos\n```\n\n**Argumento único (não objeto):**\n\n```typescript\n@TraceMethod({ \n  includeParamsAsTags: true,\n  defaultParamName: \"content\" // Nome padrão para argumento único\n})\nprocessId(id: number) { /* ... */ }\n// Resultado: content = 123\n```\n\n**Múltiplos argumentos sem filtros:**\n\n```typescript\n@TraceMethod({ includeParamsAsTags: true })\nupdateUser(id: number, user: any, config: any) { /* ... */ }\n// Resultado: arg0 = 123, arg1 = {...}, arg2 = {...}\n```\n\n**Comportamento padrão sem `argsMap`:**\n\n```typescript\n@TraceMethod({ includeParamsAsTags: true })\nmethod(param1: any, param2: any, param3: any) { /* ... */ }\n// Resultado: arg0 = {...}, arg1 = {...}, arg2 = {...}\n// Nomes padrão: arg0, arg1, arg2, etc.\n```\n\n## Manipulação de Dados\n\n### Serialização Segura\n\n- Objetos são serializados de forma segura\n- Campos sensíveis podem ser excluídos\n- Arrays e objetos aninhados são suportados\n- Valores `undefined` e `null` são tratados adequadamente\n\n### Tratamento de Erros\n\n- Erros são capturados e adicionados como tags\n- O span é finalizado adequadamente mesmo em caso de erro\n- Stack traces são incluídos quando disponíveis\n\n### Performance\n\n- Decorators são aplicados em tempo de compilação\n- Overhead mínimo em runtime\n- Spans são finalizados automaticamente\n\n#### 1. Overhead por Chamada de Método\n\n- **Criação do span**: ~1-5μs (microssegundos)\n- **Serialização de parâmetros**: Depende do tamanho dos dados\n- **Finalização do span**: ~1-2μs\n\n#### 2. Impactos Específicos\n\n**Baixo impacto:**\n\n- Métodos simples com poucos parâmetros\n- Objetos pequenos\n- Chamadas síncronas\n\n**Impacto moderado:**\n\n- Objetos grandes (serialização JSON)\n- Muitos parâmetros\n- Arrays complexos\n\n**Alto impacto:**\n\n- Objetos circulares (requer tratamento especial)\n- Dados muito grandes\n- Chamadas muito frequentes\n\n#### 3. Recomendações\n\n**Use em:**\n\n- Métodos críticos para observabilidade\n- APIs importantes\n- Métodos com lógica complexa\n\n**Evite em:**\n\n- Métodos chamados milhares de vezes por segundo\n- Loops internos muito frequentes\n- Métodos com objetos muito grandes\n\n#### 4. Benchmark Simples\n\n```typescript\n// Método sem decorator: ~0.001ms\n// Método com decorator: ~0.005ms\n// Overhead: ~0.004ms por chamada\n```\n","readmeFilename":"README.md"}