{"_id":"@aaronislandx/auto-monitor","_rev":"4-d416dadce093e2e17af93d69854490ef","name":"@aaronislandx/auto-monitor","dist-tags":{"latest":"1.0.0-beta.7"},"versions":{"1.0.0-beta.1":{"name":"@aaronislandx/auto-monitor","version":"1.0.0-beta.1","keywords":["monitoring","auto","typescript"],"author":{"name":"Aaron Huang","email":"and2352000@gmail.com"},"license":"MIT","_id":"@aaronislandx/auto-monitor@1.0.0-beta.1","maintainers":[{"name":"and2352000","email":"and2352000@gmail.com"}],"homepage":"https://github.com/and2352000/auto-monior#readme","bugs":{"url":"https://github.com/and2352000/auto-monior/issues"},"dist":{"shasum":"8b289a6b4fe28c9990f14785b2eadbfdb318daf4","tarball":"https://registry.npmjs.org/@aaronislandx/auto-monitor/-/auto-monitor-1.0.0-beta.1.tgz","fileCount":8,"integrity":"sha512-4qIWmkUUgS2aleUMCfOOKyVh5PNBv3hZmWAiAH/Al7AE5ILsUyTUVyDH1WA7PZai2bRyrhGSksvanShPUyTIoA==","signatures":[{"sig":"MEYCIQC1uCh9Zmcrkt52Ko533Ya16KamjEmnT7fnunsqp5eh9wIhAOckUlunMGcgce0KHAbw1IOwtCwDWwK44jiLWAiCOkb7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10668},"main":"index.js","gitHead":"90ca8a8d4be6195ac9b964717d13396f6c9f66c3","scripts":{"dev":"ts-node src/index.ts","test":"jest","build":"tsc","start":"node index.js"},"_npmUser":{"name":"and2352000","email":"and2352000@gmail.com"},"repository":{"url":"git+https://github.com/and2352000/auto-monior.git","type":"git"},"_npmVersion":"10.9.0","description":"Auto monitoring tool","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ts-jest":"^29.1.1","ts-node":"^10.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","typescript":"^5.3.3","@types/jest":"^29.5.11"},"_npmOperationalInternal":{"tmp":"tmp/auto-monitor_1.0.0-beta.1_1746091435536_0.05219990267198349","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@aaronislandx/auto-monitor","version":"1.0.0-beta.2","keywords":["monitoring","auto","typescript"],"author":{"name":"Aaron Huang","email":"and2352000@gmail.com"},"license":"MIT","_id":"@aaronislandx/auto-monitor@1.0.0-beta.2","maintainers":[{"name":"and2352000","email":"and2352000@gmail.com"}],"homepage":"https://github.com/and2352000/auto-monior#readme","bugs":{"url":"https://github.com/and2352000/auto-monior/issues"},"dist":{"shasum":"3c966b09b4201cb0dd1161d1985a5127a0fba931","tarball":"https://registry.npmjs.org/@aaronislandx/auto-monitor/-/auto-monitor-1.0.0-beta.2.tgz","fileCount":7,"integrity":"sha512-g+Dkn3gHBVdEGcSb1yXKQVCYg0gL5q4LuHmQ81bkUz5hX+tLRU53msDeFZq9j1we2mt9Niaj/0/bc5nsQRMBeQ==","signatures":[{"sig":"MEQCIAVa4pPSEhJ0ZMmVy9GV5lq9o/c+MILoiJ6S/0SrQgH7AiA51mLs6BUtIWkmi0jqgEC53/P1dfJBeC5AyiBxV8RYww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11636},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"be4859a2ccacbeee54ced2452506071110996757","scripts":{"dev":"ts-node src/index.ts","test":"jest","build":"tsc","start":"node index.js","publish":"npm publish --access public","prepublishOnly":"npm ci && npm test && npm run build"},"_npmUser":{"name":"and2352000","email":"and2352000@gmail.com"},"repository":{"url":"git+https://github.com/and2352000/auto-monior.git","type":"git"},"_npmVersion":"10.9.0","description":"Auto monitoring tool","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ts-jest":"^29.1.1","ts-node":"^10.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","typescript":"^5.3.3","@types/jest":"^29.5.11"},"_npmOperationalInternal":{"tmp":"tmp/auto-monitor_1.0.0-beta.2_1746092001899_0.6471832874475432","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.6":{"name":"@aaronislandx/auto-monitor","version":"1.0.0-beta.6","keywords":["monitoring","auto","typescript"],"author":{"name":"Aaron Huang","email":"and2352000@gmail.com"},"license":"MIT","_id":"@aaronislandx/auto-monitor@1.0.0-beta.6","maintainers":[{"name":"and2352000","email":"and2352000@gmail.com"}],"homepage":"https://github.com/and2352000/auto-monior#readme","bugs":{"url":"https://github.com/and2352000/auto-monior/issues"},"dist":{"shasum":"173fec9674f3ab6891fc0b3c99defc37a2ed1c07","tarball":"https://registry.npmjs.org/@aaronislandx/auto-monitor/-/auto-monitor-1.0.0-beta.6.tgz","fileCount":9,"integrity":"sha512-iAYhiD9P8IleFdb/uTTpaJdUnjyji/vqnB7vHVD31+K8TtOrMAVJYBEVgGxHT5Ijk1L5ZiJoWjFwocQeVqX6Hw==","signatures":[{"sig":"MEYCIQCSwn4TR+5vKWAufCl79tqpz2ImN6av7z+OZ+CgLFeheAIhAKm+Wa8RolIwp6skMr4nb5cAHlba56xnMIBX1G4mWANh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17422},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"aba508f8bbe4ea1abdfd0c09418f2fa69e7ac27d","scripts":{"dev":"ts-node src/index.ts","test":"jest","build":"tsc","start":"node index.js","publish":"npm publish --access public","prepublishOnly":"npm ci && npm test && npm run build"},"_npmUser":{"name":"and2352000","email":"and2352000@gmail.com"},"repository":{"url":"git+https://github.com/and2352000/auto-monior.git","type":"git"},"_npmVersion":"10.9.0","description":"Auto monitoring tool","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ts-jest":"^29.1.1","ts-node":"^10.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","typescript":"^5.3.3","@types/jest":"^29.5.11"},"_npmOperationalInternal":{"tmp":"tmp/auto-monitor_1.0.0-beta.6_1747410182970_0.38898348776607783","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.7":{"name":"@aaronislandx/auto-monitor","version":"1.0.0-beta.7","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"start":"node index.js","dev":"ts-node src/index.ts","build":"tsc","test":"jest","prepublishOnly":"npm ci && npm test && npm run build"},"keywords":["monitoring","auto","typescript"],"author":{"name":"Aaron Huang","email":"and2352000@gmail.com"},"license":"MIT","description":"Auto monitoring tool","dependencies":{"ts-jest":"^29.1.1","ts-node":"^10.9.1"},"devDependencies":{"@types/jest":"^29.5.11","jest":"^29.7.0","typescript":"^5.3.3"},"repository":{"type":"git","url":"git+https://github.com/and2352000/auto-monior.git"},"publishConfig":{"access":"public"},"_id":"@aaronislandx/auto-monitor@1.0.0-beta.7","gitHead":"7bbbe8315eb66b9941fa1823ff830e1b5b0e6bf6","bugs":{"url":"https://github.com/and2352000/auto-monior/issues"},"homepage":"https://github.com/and2352000/auto-monior#readme","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-yi7j86/iE5x0cqsZVT51QUzUs6TwzMGGwojNOKMd5ISoFjyjP+QjVgezSeexLm0z0uUJAqTaaqXRS4B7XgSBWg==","shasum":"00cb09bfe580a91bb0f6a8b58d888877f5f85edd","tarball":"https://registry.npmjs.org/@aaronislandx/auto-monitor/-/auto-monitor-1.0.0-beta.7.tgz","fileCount":9,"unpackedSize":17376,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE9rYZ+WO00lAl+gqpMQZGFRsyD8O1JYiUo6fr6BW1mUAiEAwFmD+22XVywKOYHpEVL0tVKNLzgcPPLv6peoUibzEiI="}]},"_npmUser":{"name":"and2352000","email":"and2352000@gmail.com"},"directories":{},"maintainers":[{"name":"and2352000","email":"and2352000@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/auto-monitor_1.0.0-beta.7_1747410538901_0.7261237590244471"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-01T09:23:55.465Z","modified":"2025-05-16T15:48:59.283Z","1.0.0-beta.1":"2025-05-01T09:23:55.726Z","1.0.0-beta.2":"2025-05-01T09:33:22.134Z","1.0.0-beta.6":"2025-05-16T15:43:03.170Z","1.0.0-beta.7":"2025-05-16T15:48:59.100Z"},"bugs":{"url":"https://github.com/and2352000/auto-monior/issues"},"author":{"name":"Aaron Huang","email":"and2352000@gmail.com"},"license":"MIT","homepage":"https://github.com/and2352000/auto-monior#readme","keywords":["monitoring","auto","typescript"],"repository":{"type":"git","url":"git+https://github.com/and2352000/auto-monior.git"},"description":"Auto monitoring tool","maintainers":[{"name":"and2352000","email":"and2352000@gmail.com"}],"readme":"# Auto Monitor SDK Documentation\n\n## Overview\nAuto Monitor is a light way TypeScript SDK designed for automatic method monitoring and metrics collection in your applications. This SDK provides a seamless way to track method execution times, monitor errors, and collect custom metrics with minimal code modification.\n\n## Environment Requirements\n\n### TypeScript Configuration\nTo use decorators in TypeScript, you need to enable experimental decorators in your `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"emitDecoratorMetadata\": true,\n    // ... other options\n  }\n}\n```\n\n### Dependencies\n- TypeScript >= 5.x\n\n## Installation\n```bash\nnpm install auto-monitor\n```\n\n## Basic Usage\n\n### Custom Metric Handling\n```typescript\nconst AutoMonitor = CreateAutoMonitor((\n  methodName: string,\n  duration: number,\n  Error: Error,\n  data: any,\n  props: Record<string, any>\n  labels?: Label[]\n) => {\n  console.log({\n    method: methodName,\n    executionTime: duration,\n    failed: Boolean(Error),\n    metadata: labels\n  });\n});\n\n@AutoMonitor('MonitoredService')\nclass MonitoredService {\n  // Your class implementation\n}\n```\n\n## Complete Example\n```typescript\nimport { AutoMonitor, Label } from 'auto-monitor';\n\n@AutoMonitor('MonitoredService', ['vendor'])\nclass ExampleService {\n  constructor(public vendor: string){}\n  // Instance method with label\n  @Label((orderId: number) => ({orderId}))\n  async processOrder(orderId: number) {\n    await new Promise(res => setTimeout(res, 100));\n    return `Order ${orderId} processed`;\n  }\n\n  // Static method with label\n  @Label((username: string) => ({user}))\n  static greet(username: string) {\n    return `Hello, ${username}!`;\n  }\n}\n\n// Usage\nconst service = new ExampleService();\nawait service.processOrder(123);\nExampleService.greet(\"John\");\n```\n\n> You can test the functionality in ./src/example.ts","readmeFilename":"Readme.md"}