@scpxl/nodejs-framework 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +195 -0
- package/dist/api-requester/api-requester.d.ts +11 -0
- package/dist/api-requester/api-requester.d.ts.map +1 -0
- package/dist/api-requester/api-requester.js +59 -0
- package/dist/api-requester/api-requester.js.map +7 -0
- package/dist/api-requester/index.d.ts +2 -0
- package/dist/api-requester/index.d.ts.map +1 -0
- package/dist/api-requester/index.js +5 -0
- package/dist/api-requester/index.js.map +7 -0
- package/dist/application/base-application.d.ts +110 -0
- package/dist/application/base-application.d.ts.map +1 -0
- package/dist/application/base-application.interface.d.ts +161 -0
- package/dist/application/base-application.interface.d.ts.map +1 -0
- package/dist/application/base-application.interface.js +1 -0
- package/dist/application/base-application.interface.js.map +7 -0
- package/dist/application/base-application.js +350 -0
- package/dist/application/base-application.js.map +7 -0
- package/dist/application/command-application.d.ts +18 -0
- package/dist/application/command-application.d.ts.map +1 -0
- package/dist/application/command-application.interface.d.ts +26 -0
- package/dist/application/command-application.interface.d.ts.map +1 -0
- package/dist/application/command-application.interface.js +1 -0
- package/dist/application/command-application.interface.js.map +7 -0
- package/dist/application/command-application.js +110 -0
- package/dist/application/command-application.js.map +7 -0
- package/dist/application/index.d.ts +5 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +7 -0
- package/dist/application/index.js.map +7 -0
- package/dist/application/web-application.d.ts +43 -0
- package/dist/application/web-application.d.ts.map +1 -0
- package/dist/application/web-application.interface.d.ts +21 -0
- package/dist/application/web-application.interface.d.ts.map +1 -0
- package/dist/application/web-application.interface.js +1 -0
- package/dist/application/web-application.interface.js.map +7 -0
- package/dist/application/web-application.js +176 -0
- package/dist/application/web-application.js.map +7 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +5 -0
- package/dist/auth/index.js.map +7 -0
- package/dist/auth/jwt.d.ts +25 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/jwt.js +51 -0
- package/dist/auth/jwt.js.map +7 -0
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +7 -0
- package/dist/cache/manager.d.ts +26 -0
- package/dist/cache/manager.d.ts.map +1 -0
- package/dist/cache/manager.js +54 -0
- package/dist/cache/manager.js.map +7 -0
- package/dist/cluster/cluster-manager.d.ts +15 -0
- package/dist/cluster/cluster-manager.d.ts.map +1 -0
- package/dist/cluster/cluster-manager.interface.d.ts +23 -0
- package/dist/cluster/cluster-manager.interface.d.ts.map +1 -0
- package/dist/cluster/cluster-manager.interface.js +1 -0
- package/dist/cluster/cluster-manager.interface.js.map +7 -0
- package/dist/cluster/cluster-manager.js +106 -0
- package/dist/cluster/cluster-manager.js.map +7 -0
- package/dist/cluster/index.d.ts +2 -0
- package/dist/cluster/index.d.ts.map +1 -0
- package/dist/cluster/index.js +13 -0
- package/dist/cluster/index.js.map +7 -0
- package/dist/command/command-manager.d.ts +19 -0
- package/dist/command/command-manager.d.ts.map +1 -0
- package/dist/command/command-manager.js +42 -0
- package/dist/command/command-manager.js.map +7 -0
- package/dist/command/command.d.ts +27 -0
- package/dist/command/command.d.ts.map +1 -0
- package/dist/command/command.interface.d.ts +11 -0
- package/dist/command/command.interface.d.ts.map +1 -0
- package/dist/command/command.interface.js +1 -0
- package/dist/command/command.interface.js.map +7 -0
- package/dist/command/command.js +37 -0
- package/dist/command/command.js.map +7 -0
- package/dist/command/index.d.ts +3 -0
- package/dist/command/index.d.ts.map +1 -0
- package/dist/command/index.js +7 -0
- package/dist/command/index.js.map +7 -0
- package/dist/database/dynamic-entity-form-decorators.d.ts +31 -0
- package/dist/database/dynamic-entity-form-decorators.d.ts.map +1 -0
- package/dist/database/dynamic-entity-form-decorators.js +62 -0
- package/dist/database/dynamic-entity-form-decorators.js.map +7 -0
- package/dist/database/dynamic-entity.d.ts +15 -0
- package/dist/database/dynamic-entity.d.ts.map +1 -0
- package/dist/database/dynamic-entity.js +42 -0
- package/dist/database/dynamic-entity.js.map +7 -0
- package/dist/database/index.d.ts +5 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +12 -0
- package/dist/database/index.js.map +7 -0
- package/dist/database/instance.d.ts +36 -0
- package/dist/database/instance.d.ts.map +1 -0
- package/dist/database/instance.interface.d.ts +5 -0
- package/dist/database/instance.interface.d.ts.map +1 -0
- package/dist/database/instance.interface.js +1 -0
- package/dist/database/instance.interface.js.map +7 -0
- package/dist/database/instance.js +57 -0
- package/dist/database/instance.js.map +7 -0
- package/dist/database/manager.d.ts +27 -0
- package/dist/database/manager.d.ts.map +1 -0
- package/dist/database/manager.interface.d.ts +18 -0
- package/dist/database/manager.interface.d.ts.map +1 -0
- package/dist/database/manager.interface.js +1 -0
- package/dist/database/manager.interface.js.map +7 -0
- package/dist/database/manager.js +49 -0
- package/dist/database/manager.js.map +7 -0
- package/dist/event/controller/base.d.ts +23 -0
- package/dist/event/controller/base.d.ts.map +1 -0
- package/dist/event/controller/base.interface.d.ts +11 -0
- package/dist/event/controller/base.interface.d.ts.map +1 -0
- package/dist/event/controller/base.interface.js +1 -0
- package/dist/event/controller/base.interface.js.map +7 -0
- package/dist/event/controller/base.js +51 -0
- package/dist/event/controller/base.js.map +7 -0
- package/dist/event/index.d.ts +5 -0
- package/dist/event/index.d.ts.map +1 -0
- package/dist/event/index.js +9 -0
- package/dist/event/index.js.map +7 -0
- package/dist/event/manager.d.ts +21 -0
- package/dist/event/manager.d.ts.map +1 -0
- package/dist/event/manager.interface.d.ts +134 -0
- package/dist/event/manager.interface.d.ts.map +1 -0
- package/dist/event/manager.interface.js +1 -0
- package/dist/event/manager.interface.js.map +7 -0
- package/dist/event/manager.js +134 -0
- package/dist/event/manager.js.map +7 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +7 -0
- package/dist/logger/index.d.ts +2 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +5 -0
- package/dist/logger/index.js.map +7 -0
- package/dist/logger/logger.d.ts +51 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.interface.d.ts +2 -0
- package/dist/logger/logger.interface.d.ts.map +1 -0
- package/dist/logger/logger.interface.js +1 -0
- package/dist/logger/logger.interface.js.map +7 -0
- package/dist/logger/logger.js +168 -0
- package/dist/logger/logger.js.map +7 -0
- package/dist/performance/cache-performance.d.ts +58 -0
- package/dist/performance/cache-performance.d.ts.map +1 -0
- package/dist/performance/cache-performance.js +199 -0
- package/dist/performance/cache-performance.js.map +7 -0
- package/dist/performance/database-performance.d.ts +40 -0
- package/dist/performance/database-performance.d.ts.map +1 -0
- package/dist/performance/database-performance.js +132 -0
- package/dist/performance/database-performance.js.map +7 -0
- package/dist/performance/index.d.ts +7 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +7 -0
- package/dist/performance/index.js.map +7 -0
- package/dist/performance/performance-monitor.d.ts +68 -0
- package/dist/performance/performance-monitor.d.ts.map +1 -0
- package/dist/performance/performance-monitor.js +270 -0
- package/dist/performance/performance-monitor.js.map +7 -0
- package/dist/performance/queue-performance.d.ts +46 -0
- package/dist/performance/queue-performance.d.ts.map +1 -0
- package/dist/performance/queue-performance.js +144 -0
- package/dist/performance/queue-performance.js.map +7 -0
- package/dist/performance/webserver-performance.d.ts +69 -0
- package/dist/performance/webserver-performance.d.ts.map +1 -0
- package/dist/performance/webserver-performance.js +164 -0
- package/dist/performance/webserver-performance.js.map +7 -0
- package/dist/performance/websocket-performance.d.ts +44 -0
- package/dist/performance/websocket-performance.d.ts.map +1 -0
- package/dist/performance/websocket-performance.js +139 -0
- package/dist/performance/websocket-performance.js.map +7 -0
- package/dist/queue/index.d.ts +6 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.interface.d.ts +10 -0
- package/dist/queue/index.interface.d.ts.map +1 -0
- package/dist/queue/index.interface.js +1 -0
- package/dist/queue/index.interface.js.map +7 -0
- package/dist/queue/index.js +7 -0
- package/dist/queue/index.js.map +7 -0
- package/dist/queue/job.interface.d.ts +42 -0
- package/dist/queue/job.interface.d.ts.map +1 -0
- package/dist/queue/job.interface.js +1 -0
- package/dist/queue/job.interface.js.map +7 -0
- package/dist/queue/manager.d.ts +36 -0
- package/dist/queue/manager.d.ts.map +1 -0
- package/dist/queue/manager.interface.d.ts +18 -0
- package/dist/queue/manager.interface.d.ts.map +1 -0
- package/dist/queue/manager.interface.js +1 -0
- package/dist/queue/manager.interface.js.map +7 -0
- package/dist/queue/manager.js +244 -0
- package/dist/queue/manager.js.map +7 -0
- package/dist/queue/processor/base.d.ts +28 -0
- package/dist/queue/processor/base.d.ts.map +1 -0
- package/dist/queue/processor/base.js +46 -0
- package/dist/queue/processor/base.js.map +7 -0
- package/dist/queue/processor/processor.interface.d.ts +15 -0
- package/dist/queue/processor/processor.interface.d.ts.map +1 -0
- package/dist/queue/processor/processor.interface.js +1 -0
- package/dist/queue/processor/processor.interface.js.map +7 -0
- package/dist/queue/worker.d.ts +14 -0
- package/dist/queue/worker.d.ts.map +1 -0
- package/dist/queue/worker.interface.d.ts +13 -0
- package/dist/queue/worker.interface.d.ts.map +1 -0
- package/dist/queue/worker.interface.js +1 -0
- package/dist/queue/worker.interface.js.map +7 -0
- package/dist/queue/worker.js +72 -0
- package/dist/queue/worker.js.map +7 -0
- package/dist/redis/index.d.ts +3 -0
- package/dist/redis/index.d.ts.map +1 -0
- package/dist/redis/index.js +7 -0
- package/dist/redis/index.js.map +7 -0
- package/dist/redis/instance.d.ts +32 -0
- package/dist/redis/instance.d.ts.map +1 -0
- package/dist/redis/instance.interface.d.ts +9 -0
- package/dist/redis/instance.interface.d.ts.map +1 -0
- package/dist/redis/instance.interface.js +1 -0
- package/dist/redis/instance.interface.js.map +7 -0
- package/dist/redis/instance.js +92 -0
- package/dist/redis/instance.js.map +7 -0
- package/dist/redis/manager.d.ts +15 -0
- package/dist/redis/manager.d.ts.map +1 -0
- package/dist/redis/manager.interface.d.ts +8 -0
- package/dist/redis/manager.interface.d.ts.map +1 -0
- package/dist/redis/manager.interface.js +1 -0
- package/dist/redis/manager.interface.js.map +7 -0
- package/dist/redis/manager.js +65 -0
- package/dist/redis/manager.js.map +7 -0
- package/dist/services/aws/index.d.ts +2 -0
- package/dist/services/aws/index.d.ts.map +1 -0
- package/dist/services/aws/index.js +5 -0
- package/dist/services/aws/index.js.map +7 -0
- package/dist/services/aws/s3.d.ts +54 -0
- package/dist/services/aws/s3.d.ts.map +1 -0
- package/dist/services/aws/s3.interface.d.ts +14 -0
- package/dist/services/aws/s3.interface.d.ts.map +1 -0
- package/dist/services/aws/s3.interface.js +1 -0
- package/dist/services/aws/s3.interface.js.map +7 -0
- package/dist/services/aws/s3.js +236 -0
- package/dist/services/aws/s3.js.map +7 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +7 -0
- package/dist/util/file.d.ts +45 -0
- package/dist/util/file.d.ts.map +1 -0
- package/dist/util/file.js +105 -0
- package/dist/util/file.js.map +7 -0
- package/dist/util/helper.d.ts +37 -0
- package/dist/util/helper.d.ts.map +1 -0
- package/dist/util/helper.js +73 -0
- package/dist/util/helper.js.map +7 -0
- package/dist/util/image.d.ts +12 -0
- package/dist/util/image.d.ts.map +1 -0
- package/dist/util/image.js +35 -0
- package/dist/util/image.js.map +7 -0
- package/dist/util/index.d.ts +10 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +21 -0
- package/dist/util/index.js.map +7 -0
- package/dist/util/loader.d.ts +19 -0
- package/dist/util/loader.d.ts.map +1 -0
- package/dist/util/loader.js +84 -0
- package/dist/util/loader.js.map +7 -0
- package/dist/util/num.d.ts +13 -0
- package/dist/util/num.d.ts.map +1 -0
- package/dist/util/num.js +16 -0
- package/dist/util/num.js.map +7 -0
- package/dist/util/os.d.ts +6 -0
- package/dist/util/os.d.ts.map +1 -0
- package/dist/util/os.js +32 -0
- package/dist/util/os.js.map +7 -0
- package/dist/util/str.d.ts +39 -0
- package/dist/util/str.d.ts.map +1 -0
- package/dist/util/str.js +34 -0
- package/dist/util/str.js.map +7 -0
- package/dist/util/time.d.ts +13 -0
- package/dist/util/time.d.ts.map +1 -0
- package/dist/util/time.interface.d.ts +12 -0
- package/dist/util/time.interface.d.ts.map +1 -0
- package/dist/util/time.interface.js +1 -0
- package/dist/util/time.interface.js.map +7 -0
- package/dist/util/time.js +90 -0
- package/dist/util/time.js.map +7 -0
- package/dist/util/url.d.ts +7 -0
- package/dist/util/url.d.ts.map +1 -0
- package/dist/util/url.js +12 -0
- package/dist/util/url.js.map +7 -0
- package/dist/webserver/controller/auth-middleware.d.ts +21 -0
- package/dist/webserver/controller/auth-middleware.d.ts.map +1 -0
- package/dist/webserver/controller/auth-middleware.js +33 -0
- package/dist/webserver/controller/auth-middleware.js.map +7 -0
- package/dist/webserver/controller/base.d.ts +39 -0
- package/dist/webserver/controller/base.d.ts.map +1 -0
- package/dist/webserver/controller/base.interface.d.ts +45 -0
- package/dist/webserver/controller/base.interface.d.ts.map +1 -0
- package/dist/webserver/controller/base.interface.js +1 -0
- package/dist/webserver/controller/base.interface.js.map +7 -0
- package/dist/webserver/controller/base.js +188 -0
- package/dist/webserver/controller/base.js.map +7 -0
- package/dist/webserver/controller/entity.d.ts +94 -0
- package/dist/webserver/controller/entity.d.ts.map +1 -0
- package/dist/webserver/controller/entity.js +361 -0
- package/dist/webserver/controller/entity.js.map +7 -0
- package/dist/webserver/controller/example-auth.d.ts +12 -0
- package/dist/webserver/controller/example-auth.d.ts.map +1 -0
- package/dist/webserver/controller/example-auth.js +53 -0
- package/dist/webserver/controller/example-auth.js.map +7 -0
- package/dist/webserver/controller/health.d.ts +8 -0
- package/dist/webserver/controller/health.d.ts.map +1 -0
- package/dist/webserver/controller/health.js +50 -0
- package/dist/webserver/controller/health.js.map +7 -0
- package/dist/webserver/index.d.ts +12 -0
- package/dist/webserver/index.d.ts.map +1 -0
- package/dist/webserver/index.js +19 -0
- package/dist/webserver/index.js.map +7 -0
- package/dist/webserver/util.d.ts +10 -0
- package/dist/webserver/util.d.ts.map +1 -0
- package/dist/webserver/util.js +63 -0
- package/dist/webserver/util.js.map +7 -0
- package/dist/webserver/webserver.d.ts +65 -0
- package/dist/webserver/webserver.d.ts.map +1 -0
- package/dist/webserver/webserver.interface.d.ts +118 -0
- package/dist/webserver/webserver.interface.d.ts.map +1 -0
- package/dist/webserver/webserver.interface.js +9 -0
- package/dist/webserver/webserver.interface.js.map +7 -0
- package/dist/webserver/webserver.js +347 -0
- package/dist/webserver/webserver.js.map +7 -0
- package/dist/websocket/controller/client/base.d.ts +12 -0
- package/dist/websocket/controller/client/base.d.ts.map +1 -0
- package/dist/websocket/controller/client/base.interface.d.ts +12 -0
- package/dist/websocket/controller/client/base.interface.d.ts.map +1 -0
- package/dist/websocket/controller/client/base.interface.js +1 -0
- package/dist/websocket/controller/client/base.interface.js.map +7 -0
- package/dist/websocket/controller/client/base.js +26 -0
- package/dist/websocket/controller/client/base.js.map +7 -0
- package/dist/websocket/controller/server/base.d.ts +13 -0
- package/dist/websocket/controller/server/base.d.ts.map +1 -0
- package/dist/websocket/controller/server/base.interface.d.ts +13 -0
- package/dist/websocket/controller/server/base.interface.d.ts.map +1 -0
- package/dist/websocket/controller/server/base.interface.js +1 -0
- package/dist/websocket/controller/server/base.interface.js.map +7 -0
- package/dist/websocket/controller/server/base.js +26 -0
- package/dist/websocket/controller/server/base.js.map +7 -0
- package/dist/websocket/controllers/client/system.d.ts +6 -0
- package/dist/websocket/controllers/client/system.d.ts.map +1 -0
- package/dist/websocket/controllers/client/system.js +14 -0
- package/dist/websocket/controllers/client/system.js.map +7 -0
- package/dist/websocket/controllers/server/system.d.ts +7 -0
- package/dist/websocket/controllers/server/system.d.ts.map +1 -0
- package/dist/websocket/controllers/server/system.js +87 -0
- package/dist/websocket/controllers/server/system.js.map +7 -0
- package/dist/websocket/index.d.ts +7 -0
- package/dist/websocket/index.d.ts.map +1 -0
- package/dist/websocket/index.js +11 -0
- package/dist/websocket/index.js.map +7 -0
- package/dist/websocket/routes/client/system.d.ts +3 -0
- package/dist/websocket/routes/client/system.d.ts.map +1 -0
- package/dist/websocket/routes/client/system.js +11 -0
- package/dist/websocket/routes/client/system.js.map +7 -0
- package/dist/websocket/routes/server/system.d.ts +3 -0
- package/dist/websocket/routes/server/system.d.ts.map +1 -0
- package/dist/websocket/routes/server/system.js +16 -0
- package/dist/websocket/routes/server/system.js.map +7 -0
- package/dist/websocket/utils.d.ts +9 -0
- package/dist/websocket/utils.d.ts.map +1 -0
- package/dist/websocket/utils.js +39 -0
- package/dist/websocket/utils.js.map +7 -0
- package/dist/websocket/websocket-base.d.ts +15 -0
- package/dist/websocket/websocket-base.d.ts.map +1 -0
- package/dist/websocket/websocket-base.js +104 -0
- package/dist/websocket/websocket-base.js.map +7 -0
- package/dist/websocket/websocket-client-manager.d.ts +53 -0
- package/dist/websocket/websocket-client-manager.d.ts.map +1 -0
- package/dist/websocket/websocket-client-manager.interface.d.ts +8 -0
- package/dist/websocket/websocket-client-manager.interface.d.ts.map +1 -0
- package/dist/websocket/websocket-client-manager.interface.js +1 -0
- package/dist/websocket/websocket-client-manager.interface.js.map +7 -0
- package/dist/websocket/websocket-client-manager.js +225 -0
- package/dist/websocket/websocket-client-manager.js.map +7 -0
- package/dist/websocket/websocket-client.d.ts +35 -0
- package/dist/websocket/websocket-client.d.ts.map +1 -0
- package/dist/websocket/websocket-client.interface.d.ts +14 -0
- package/dist/websocket/websocket-client.interface.d.ts.map +1 -0
- package/dist/websocket/websocket-client.interface.js +1 -0
- package/dist/websocket/websocket-client.interface.js.map +7 -0
- package/dist/websocket/websocket-client.js +158 -0
- package/dist/websocket/websocket-client.js.map +7 -0
- package/dist/websocket/websocket-room-manager.d.ts +32 -0
- package/dist/websocket/websocket-room-manager.d.ts.map +1 -0
- package/dist/websocket/websocket-room-manager.js +130 -0
- package/dist/websocket/websocket-room-manager.js.map +7 -0
- package/dist/websocket/websocket-server.d.ts +92 -0
- package/dist/websocket/websocket-server.d.ts.map +1 -0
- package/dist/websocket/websocket-server.interface.d.ts +16 -0
- package/dist/websocket/websocket-server.interface.d.ts.map +1 -0
- package/dist/websocket/websocket-server.interface.js +1 -0
- package/dist/websocket/websocket-server.interface.js.map +7 -0
- package/dist/websocket/websocket-server.js +686 -0
- package/dist/websocket/websocket-server.js.map +7 -0
- package/dist/websocket/websocket-service.d.ts +44 -0
- package/dist/websocket/websocket-service.d.ts.map +1 -0
- package/dist/websocket/websocket-service.js +99 -0
- package/dist/websocket/websocket-service.js.map +7 -0
- package/dist/websocket/websocket.interface.d.ts +119 -0
- package/dist/websocket/websocket.interface.d.ts.map +1 -0
- package/dist/websocket/websocket.interface.js +18 -0
- package/dist/websocket/websocket.interface.js.map +7 -0
- package/package.json +159 -0
- package/pxl.js +4 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { PerformanceMonitor } from "./performance-monitor.js";
|
|
4
|
+
class CachePerformanceWrapper {
|
|
5
|
+
static {
|
|
6
|
+
__name(this, "CachePerformanceWrapper");
|
|
7
|
+
}
|
|
8
|
+
static performanceMonitor;
|
|
9
|
+
static setPerformanceMonitor(monitor) {
|
|
10
|
+
CachePerformanceWrapper.performanceMonitor = monitor;
|
|
11
|
+
}
|
|
12
|
+
static getPerformanceMonitor() {
|
|
13
|
+
if (!CachePerformanceWrapper.performanceMonitor) {
|
|
14
|
+
CachePerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();
|
|
15
|
+
}
|
|
16
|
+
return CachePerformanceWrapper.performanceMonitor;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Monitor cache get operations
|
|
20
|
+
*/
|
|
21
|
+
static async monitorGet(key, operation, metadata) {
|
|
22
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
23
|
+
const operationMetadata = {
|
|
24
|
+
operation: "get",
|
|
25
|
+
key,
|
|
26
|
+
...metadata
|
|
27
|
+
};
|
|
28
|
+
return monitor.measureAsync({
|
|
29
|
+
name: `get.${key}`,
|
|
30
|
+
type: "cache",
|
|
31
|
+
fn: /* @__PURE__ */ __name(async () => {
|
|
32
|
+
const result = await operation();
|
|
33
|
+
operationMetadata.hit = result !== null && result !== void 0;
|
|
34
|
+
operationMetadata.miss = !operationMetadata.hit;
|
|
35
|
+
return result;
|
|
36
|
+
}, "fn"),
|
|
37
|
+
metadata: operationMetadata
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Monitor cache set operations
|
|
42
|
+
*/
|
|
43
|
+
static async monitorSet(key, operation, metadata) {
|
|
44
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
45
|
+
const operationMetadata = {
|
|
46
|
+
operation: "set",
|
|
47
|
+
key,
|
|
48
|
+
...metadata
|
|
49
|
+
};
|
|
50
|
+
return monitor.measureAsync({
|
|
51
|
+
name: `set.${key}`,
|
|
52
|
+
type: "cache",
|
|
53
|
+
fn: operation,
|
|
54
|
+
metadata: operationMetadata
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Monitor cache delete operations
|
|
59
|
+
*/
|
|
60
|
+
static async monitorDelete(key, operation, metadata) {
|
|
61
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
62
|
+
const operationMetadata = {
|
|
63
|
+
operation: "delete",
|
|
64
|
+
key,
|
|
65
|
+
...metadata
|
|
66
|
+
};
|
|
67
|
+
return monitor.measureAsync({
|
|
68
|
+
name: `delete.${key}`,
|
|
69
|
+
type: "cache",
|
|
70
|
+
fn: operation,
|
|
71
|
+
metadata: operationMetadata
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Monitor cache clear operations
|
|
76
|
+
*/
|
|
77
|
+
static async monitorClear(pattern, operation, metadata) {
|
|
78
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
79
|
+
const operationMetadata = {
|
|
80
|
+
operation: "clear",
|
|
81
|
+
keyPattern: pattern,
|
|
82
|
+
...metadata
|
|
83
|
+
};
|
|
84
|
+
return monitor.measureAsync({
|
|
85
|
+
name: `clear.${pattern}`,
|
|
86
|
+
type: "cache",
|
|
87
|
+
fn: operation,
|
|
88
|
+
metadata: operationMetadata
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Monitor cache exists operations
|
|
93
|
+
*/
|
|
94
|
+
static async monitorExists(key, operation, metadata) {
|
|
95
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
96
|
+
const operationMetadata = {
|
|
97
|
+
operation: "exists",
|
|
98
|
+
key,
|
|
99
|
+
...metadata
|
|
100
|
+
};
|
|
101
|
+
return monitor.measureAsync({
|
|
102
|
+
name: `exists.${key}`,
|
|
103
|
+
type: "cache",
|
|
104
|
+
fn: operation,
|
|
105
|
+
metadata: operationMetadata
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Monitor cache multi-get operations
|
|
110
|
+
*/
|
|
111
|
+
static async monitorMultiGet(keys, operation, metadata) {
|
|
112
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
113
|
+
const operationMetadata = {
|
|
114
|
+
operation: "multi_get",
|
|
115
|
+
keyPattern: `[${keys.join(", ")}]`,
|
|
116
|
+
...metadata
|
|
117
|
+
};
|
|
118
|
+
return monitor.measureAsync({
|
|
119
|
+
name: `multi_get.${keys.length}_keys`,
|
|
120
|
+
type: "cache",
|
|
121
|
+
fn: operation,
|
|
122
|
+
metadata: operationMetadata
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Monitor cache multi-set operations
|
|
127
|
+
*/
|
|
128
|
+
static async monitorMultiSet(keys, operation, metadata) {
|
|
129
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
130
|
+
const operationMetadata = {
|
|
131
|
+
operation: "multi_set",
|
|
132
|
+
keyPattern: `[${keys.join(", ")}]`,
|
|
133
|
+
...metadata
|
|
134
|
+
};
|
|
135
|
+
return monitor.measureAsync({
|
|
136
|
+
name: `multi_set.${keys.length}_keys`,
|
|
137
|
+
type: "cache",
|
|
138
|
+
fn: operation,
|
|
139
|
+
metadata: operationMetadata
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Monitor cache increment operations
|
|
144
|
+
*/
|
|
145
|
+
static async monitorIncrement(key, operation, metadata) {
|
|
146
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
147
|
+
const operationMetadata = {
|
|
148
|
+
operation: "increment",
|
|
149
|
+
key,
|
|
150
|
+
...metadata
|
|
151
|
+
};
|
|
152
|
+
return monitor.measureAsync({
|
|
153
|
+
name: `increment.${key}`,
|
|
154
|
+
type: "cache",
|
|
155
|
+
fn: operation,
|
|
156
|
+
metadata: operationMetadata
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Monitor cache decrement operations
|
|
161
|
+
*/
|
|
162
|
+
static async monitorDecrement(key, operation, metadata) {
|
|
163
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
164
|
+
const operationMetadata = {
|
|
165
|
+
operation: "decrement",
|
|
166
|
+
key,
|
|
167
|
+
...metadata
|
|
168
|
+
};
|
|
169
|
+
return monitor.measureAsync({
|
|
170
|
+
name: `decrement.${key}`,
|
|
171
|
+
type: "cache",
|
|
172
|
+
fn: operation,
|
|
173
|
+
metadata: operationMetadata
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function MonitorCacheOperation(operationName) {
|
|
178
|
+
return function(target, propertyKey, descriptor) {
|
|
179
|
+
const originalMethod = descriptor.value;
|
|
180
|
+
const className = target.constructor.name;
|
|
181
|
+
const operation = operationName ?? propertyKey;
|
|
182
|
+
descriptor.value = async function(...args) {
|
|
183
|
+
const monitor = CachePerformanceWrapper.getPerformanceMonitor();
|
|
184
|
+
return monitor.measureAsync({
|
|
185
|
+
name: `${className}.${operation}`,
|
|
186
|
+
type: "cache",
|
|
187
|
+
fn: /* @__PURE__ */ __name(() => originalMethod.apply(this, args), "fn"),
|
|
188
|
+
metadata: { argumentCount: args.length }
|
|
189
|
+
});
|
|
190
|
+
};
|
|
191
|
+
return descriptor;
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
__name(MonitorCacheOperation, "MonitorCacheOperation");
|
|
195
|
+
export {
|
|
196
|
+
CachePerformanceWrapper,
|
|
197
|
+
MonitorCacheOperation
|
|
198
|
+
};
|
|
199
|
+
//# sourceMappingURL=cache-performance.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/performance/cache-performance.ts"],
|
|
4
|
+
"sourcesContent": ["import { PerformanceMonitor } from './performance-monitor.js';\n\nexport interface CacheOperationMetadata {\n operation: string;\n key?: string;\n keyPattern?: string;\n hit?: boolean;\n miss?: boolean;\n size?: number;\n ttl?: number;\n error?: string;\n argumentCount?: number;\n}\n\nexport class CachePerformanceWrapper {\n private static performanceMonitor: PerformanceMonitor;\n\n public static setPerformanceMonitor(monitor: PerformanceMonitor): void {\n CachePerformanceWrapper.performanceMonitor = monitor;\n }\n\n public static getPerformanceMonitor(): PerformanceMonitor {\n if (!CachePerformanceWrapper.performanceMonitor) {\n CachePerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();\n }\n return CachePerformanceWrapper.performanceMonitor;\n }\n\n /**\n * Monitor cache get operations\n */\n public static async monitorGet<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'get',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `get.${key}`,\n type: 'cache',\n fn: async () => {\n const result = await operation();\n\n // Determine cache hit/miss\n operationMetadata.hit = result !== null && result !== undefined;\n operationMetadata.miss = !operationMetadata.hit;\n\n return result;\n },\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache set operations\n */\n public static async monitorSet<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'set',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `set.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache delete operations\n */\n public static async monitorDelete<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'delete',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `delete.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache clear operations\n */\n public static async monitorClear<T>(\n pattern: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'clear',\n keyPattern: pattern,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `clear.${pattern}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache exists operations\n */\n public static async monitorExists<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'exists',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `exists.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache multi-get operations\n */\n public static async monitorMultiGet<T>(\n keys: string[],\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'multi_get',\n keyPattern: `[${keys.join(', ')}]`,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `multi_get.${keys.length}_keys`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache multi-set operations\n */\n public static async monitorMultiSet<T>(\n keys: string[],\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'multi_set',\n keyPattern: `[${keys.join(', ')}]`,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `multi_set.${keys.length}_keys`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache increment operations\n */\n public static async monitorIncrement<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'increment',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `increment.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache decrement operations\n */\n public static async monitorDecrement<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'decrement',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `decrement.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n}\n\n/**\n * Decorator for monitoring cache operations\n */\nexport function MonitorCacheOperation(operationName?: string) {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n const className = target.constructor.name;\n const operation = operationName ?? propertyKey;\n\n descriptor.value = async function (...args: any[]) {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n return monitor.measureAsync({\n name: `${className}.${operation}`,\n type: 'cache',\n fn: () => originalMethod.apply(this, args),\n metadata: { argumentCount: args.length },\n });\n };\n\n return descriptor;\n };\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { PerformanceMonitor } from './performance-monitor.js';
|
|
2
|
+
export interface DatabaseOperationMetadata {
|
|
3
|
+
operation: string;
|
|
4
|
+
entity?: string;
|
|
5
|
+
query?: string;
|
|
6
|
+
parameters?: any[];
|
|
7
|
+
resultCount?: number;
|
|
8
|
+
cacheHit?: boolean;
|
|
9
|
+
argumentCount?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class DatabasePerformanceWrapper {
|
|
12
|
+
private static performanceMonitor;
|
|
13
|
+
static setPerformanceMonitor(monitor: PerformanceMonitor): void;
|
|
14
|
+
private static getPerformanceMonitor;
|
|
15
|
+
/**
|
|
16
|
+
* Monitor database repository operations
|
|
17
|
+
*/
|
|
18
|
+
static monitorRepositoryOperation<T>(operationName: string, entity: string, operation: () => Promise<T>, additionalMetadata?: Record<string, any>): Promise<T>;
|
|
19
|
+
/**
|
|
20
|
+
* Monitor raw database queries
|
|
21
|
+
*/
|
|
22
|
+
static monitorQuery<T>(query: string, parameters: any[] | undefined, operation: () => Promise<T>): Promise<T>;
|
|
23
|
+
/**
|
|
24
|
+
* Monitor database transactions
|
|
25
|
+
*/
|
|
26
|
+
static monitorTransaction<T>(transactionName: string, operation: () => Promise<T>, additionalMetadata?: Record<string, any>): Promise<T>;
|
|
27
|
+
/**
|
|
28
|
+
* Monitor database connection operations
|
|
29
|
+
*/
|
|
30
|
+
static monitorConnection<T>(connectionOperation: string, operation: () => Promise<T>): Promise<T>;
|
|
31
|
+
/**
|
|
32
|
+
* Monitor database migrations
|
|
33
|
+
*/
|
|
34
|
+
static monitorMigration<T>(migrationName: string, operation: () => Promise<T>): Promise<T>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Decorator for monitoring repository methods
|
|
38
|
+
*/
|
|
39
|
+
export declare function MonitorDatabaseOperation(operationName?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
40
|
+
//# sourceMappingURL=database-performance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-performance.d.ts","sourceRoot":"","sources":["../../src/performance/database-performance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAqB;WAExC,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAItE,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC;;OAEG;WACiB,0BAA0B,CAAC,CAAC,EAC9C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACvC,OAAO,CAAC,CAAC,CAAC;IA8Bb;;OAEG;WACiB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,YAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA4BnH;;OAEG;WACiB,kBAAkB,CAAC,CAAC,EACtC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACvC,OAAO,CAAC,CAAC,CAAC;IAYb;;OAEG;WACiB,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAe9G;;OAEG;WACiB,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAUxG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,CAAC,EAAE,MAAM,IAC5C,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBAgBlF"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { PerformanceMonitor } from "./performance-monitor.js";
|
|
4
|
+
class DatabasePerformanceWrapper {
|
|
5
|
+
static {
|
|
6
|
+
__name(this, "DatabasePerformanceWrapper");
|
|
7
|
+
}
|
|
8
|
+
static performanceMonitor;
|
|
9
|
+
static setPerformanceMonitor(monitor) {
|
|
10
|
+
DatabasePerformanceWrapper.performanceMonitor = monitor;
|
|
11
|
+
}
|
|
12
|
+
static getPerformanceMonitor() {
|
|
13
|
+
if (!DatabasePerformanceWrapper.performanceMonitor) {
|
|
14
|
+
DatabasePerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();
|
|
15
|
+
}
|
|
16
|
+
return DatabasePerformanceWrapper.performanceMonitor;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Monitor database repository operations
|
|
20
|
+
*/
|
|
21
|
+
static async monitorRepositoryOperation(operationName, entity, operation, additionalMetadata) {
|
|
22
|
+
const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
|
|
23
|
+
const metadata = {
|
|
24
|
+
operation: operationName,
|
|
25
|
+
entity,
|
|
26
|
+
...additionalMetadata
|
|
27
|
+
};
|
|
28
|
+
return monitor.measureAsync({
|
|
29
|
+
name: `${entity}.${operationName}`,
|
|
30
|
+
type: "database",
|
|
31
|
+
fn: /* @__PURE__ */ __name(async () => {
|
|
32
|
+
const result = await operation();
|
|
33
|
+
if (Array.isArray(result)) {
|
|
34
|
+
metadata.resultCount = result.length;
|
|
35
|
+
} else if (result && typeof result === "object") {
|
|
36
|
+
metadata.resultCount = 1;
|
|
37
|
+
} else {
|
|
38
|
+
metadata.resultCount = 0;
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}, "fn"),
|
|
42
|
+
metadata
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Monitor raw database queries
|
|
47
|
+
*/
|
|
48
|
+
static async monitorQuery(query, parameters = [], operation) {
|
|
49
|
+
const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
|
|
50
|
+
const metadata = {
|
|
51
|
+
operation: "raw_query",
|
|
52
|
+
query: query.substring(0, 200) + (query.length > 200 ? "..." : ""),
|
|
53
|
+
// Truncate long queries
|
|
54
|
+
parameters: parameters.slice(0, 10)
|
|
55
|
+
// Limit parameters for logging
|
|
56
|
+
};
|
|
57
|
+
return monitor.measureAsync({
|
|
58
|
+
name: "raw_query",
|
|
59
|
+
type: "database",
|
|
60
|
+
fn: /* @__PURE__ */ __name(async () => {
|
|
61
|
+
const result = await operation();
|
|
62
|
+
if (Array.isArray(result)) {
|
|
63
|
+
metadata.resultCount = result.length;
|
|
64
|
+
} else if (result && typeof result === "object") {
|
|
65
|
+
metadata.resultCount = 1;
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
}, "fn"),
|
|
69
|
+
metadata
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Monitor database transactions
|
|
74
|
+
*/
|
|
75
|
+
static async monitorTransaction(transactionName, operation, additionalMetadata) {
|
|
76
|
+
const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
|
|
77
|
+
const metadata = {
|
|
78
|
+
operation: "transaction",
|
|
79
|
+
entity: transactionName,
|
|
80
|
+
...additionalMetadata
|
|
81
|
+
};
|
|
82
|
+
return monitor.measureAsync({ name: `transaction.${transactionName}`, type: "database", fn: operation, metadata });
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Monitor database connection operations
|
|
86
|
+
*/
|
|
87
|
+
static async monitorConnection(connectionOperation, operation) {
|
|
88
|
+
const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
|
|
89
|
+
const metadata = {
|
|
90
|
+
operation: connectionOperation
|
|
91
|
+
};
|
|
92
|
+
return monitor.measureAsync({
|
|
93
|
+
name: `connection.${connectionOperation}`,
|
|
94
|
+
type: "database",
|
|
95
|
+
fn: operation,
|
|
96
|
+
metadata
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Monitor database migrations
|
|
101
|
+
*/
|
|
102
|
+
static async monitorMigration(migrationName, operation) {
|
|
103
|
+
const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
|
|
104
|
+
const metadata = {
|
|
105
|
+
operation: "migration",
|
|
106
|
+
entity: migrationName
|
|
107
|
+
};
|
|
108
|
+
return monitor.measureAsync({ name: `migration.${migrationName}`, type: "database", fn: operation, metadata });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function MonitorDatabaseOperation(operationName) {
|
|
112
|
+
return function(target, propertyKey, descriptor) {
|
|
113
|
+
const originalMethod = descriptor.value;
|
|
114
|
+
const entityName = target.constructor.name.replace("Repository", "");
|
|
115
|
+
const operation = operationName ?? propertyKey;
|
|
116
|
+
descriptor.value = async function(...args) {
|
|
117
|
+
return DatabasePerformanceWrapper.monitorRepositoryOperation(
|
|
118
|
+
operation,
|
|
119
|
+
entityName,
|
|
120
|
+
() => originalMethod.apply(this, args),
|
|
121
|
+
{ argumentCount: args.length }
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
return descriptor;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
__name(MonitorDatabaseOperation, "MonitorDatabaseOperation");
|
|
128
|
+
export {
|
|
129
|
+
DatabasePerformanceWrapper,
|
|
130
|
+
MonitorDatabaseOperation
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=database-performance.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/performance/database-performance.ts"],
|
|
4
|
+
"sourcesContent": ["import { PerformanceMonitor } from './performance-monitor.js';\n\nexport interface DatabaseOperationMetadata {\n operation: string;\n entity?: string;\n query?: string;\n parameters?: any[];\n resultCount?: number;\n cacheHit?: boolean;\n argumentCount?: number;\n}\n\nexport class DatabasePerformanceWrapper {\n private static performanceMonitor: PerformanceMonitor;\n\n public static setPerformanceMonitor(monitor: PerformanceMonitor): void {\n DatabasePerformanceWrapper.performanceMonitor = monitor;\n }\n\n private static getPerformanceMonitor(): PerformanceMonitor {\n if (!DatabasePerformanceWrapper.performanceMonitor) {\n DatabasePerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();\n }\n return DatabasePerformanceWrapper.performanceMonitor;\n }\n\n /**\n * Monitor database repository operations\n */\n public static async monitorRepositoryOperation<T>(\n operationName: string,\n entity: string,\n operation: () => Promise<T>,\n additionalMetadata?: Record<string, any>,\n ): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: operationName,\n entity,\n ...additionalMetadata,\n };\n\n return monitor.measureAsync({\n name: `${entity}.${operationName}`,\n type: 'database',\n fn: async () => {\n const result = await operation();\n\n // Add result metadata\n if (Array.isArray(result)) {\n metadata.resultCount = result.length;\n } else if (result && typeof result === 'object') {\n metadata.resultCount = 1;\n } else {\n metadata.resultCount = 0;\n }\n\n return result;\n },\n metadata,\n });\n }\n\n /**\n * Monitor raw database queries\n */\n public static async monitorQuery<T>(query: string, parameters: any[] = [], operation: () => Promise<T>): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: 'raw_query',\n query: query.substring(0, 200) + (query.length > 200 ? '...' : ''), // Truncate long queries\n parameters: parameters.slice(0, 10), // Limit parameters for logging\n };\n\n return monitor.measureAsync({\n name: 'raw_query',\n type: 'database',\n fn: async () => {\n const result = await operation();\n\n // Add result metadata\n if (Array.isArray(result)) {\n metadata.resultCount = result.length;\n } else if (result && typeof result === 'object') {\n metadata.resultCount = 1;\n }\n\n return result;\n },\n metadata,\n });\n }\n\n /**\n * Monitor database transactions\n */\n public static async monitorTransaction<T>(\n transactionName: string,\n operation: () => Promise<T>,\n additionalMetadata?: Record<string, any>,\n ): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: 'transaction',\n entity: transactionName,\n ...additionalMetadata,\n };\n\n return monitor.measureAsync({ name: `transaction.${transactionName}`, type: 'database', fn: operation, metadata });\n }\n\n /**\n * Monitor database connection operations\n */\n public static async monitorConnection<T>(connectionOperation: string, operation: () => Promise<T>): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: connectionOperation,\n };\n\n return monitor.measureAsync({\n name: `connection.${connectionOperation}`,\n type: 'database',\n fn: operation,\n metadata,\n });\n }\n\n /**\n * Monitor database migrations\n */\n public static async monitorMigration<T>(migrationName: string, operation: () => Promise<T>): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: 'migration',\n entity: migrationName,\n };\n\n return monitor.measureAsync({ name: `migration.${migrationName}`, type: 'database', fn: operation, metadata });\n }\n}\n\n/**\n * Decorator for monitoring repository methods\n */\nexport function MonitorDatabaseOperation(operationName?: string) {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n const entityName = target.constructor.name.replace('Repository', '');\n const operation = operationName ?? propertyKey;\n\n descriptor.value = async function (...args: any[]) {\n return DatabasePerformanceWrapper.monitorRepositoryOperation(\n operation,\n entityName,\n () => originalMethod.apply(this, args),\n { argumentCount: args.length },\n );\n };\n\n return descriptor;\n };\n}\n"],
|
|
5
|
+
"mappings": ";;AAAA,SAAS,0BAA0B;AAY5B,MAAM,2BAA2B;AAAA,EAZxC,OAYwC;AAAA;AAAA;AAAA,EACtC,OAAe;AAAA,EAEf,OAAc,sBAAsB,SAAmC;AACrE,+BAA2B,qBAAqB;AAAA,EAClD;AAAA,EAEA,OAAe,wBAA4C;AACzD,QAAI,CAAC,2BAA2B,oBAAoB;AAClD,iCAA2B,qBAAqB,mBAAmB,YAAY;AAAA,IACjF;AACA,WAAO,2BAA2B;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKA,aAAoB,2BAClB,eACA,QACA,WACA,oBACY;AACZ,UAAM,UAAU,2BAA2B,sBAAsB;AAEjE,UAAM,WAAsC;AAAA,MAC1C,WAAW;AAAA,MACX;AAAA,MACA,GAAG;AAAA,IACL;AAEA,WAAO,QAAQ,aAAa;AAAA,MAC1B,MAAM,GAAG,MAAM,IAAI,aAAa;AAAA,MAChC,MAAM;AAAA,MACN,IAAI,mCAAY;AACd,cAAM,SAAS,MAAM,UAAU;AAG/B,YAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,mBAAS,cAAc,OAAO;AAAA,QAChC,WAAW,UAAU,OAAO,WAAW,UAAU;AAC/C,mBAAS,cAAc;AAAA,QACzB,OAAO;AACL,mBAAS,cAAc;AAAA,QACzB;AAEA,eAAO;AAAA,MACT,GAbI;AAAA,MAcJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,aAAoB,aAAgB,OAAe,aAAoB,CAAC,GAAG,WAAyC;AAClH,UAAM,UAAU,2BAA2B,sBAAsB;AAEjE,UAAM,WAAsC;AAAA,MAC1C,WAAW;AAAA,MACX,OAAO,MAAM,UAAU,GAAG,GAAG,KAAK,MAAM,SAAS,MAAM,QAAQ;AAAA;AAAA,MAC/D,YAAY,WAAW,MAAM,GAAG,EAAE;AAAA;AAAA,IACpC;AAEA,WAAO,QAAQ,aAAa;AAAA,MAC1B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,IAAI,mCAAY;AACd,cAAM,SAAS,MAAM,UAAU;AAG/B,YAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,mBAAS,cAAc,OAAO;AAAA,QAChC,WAAW,UAAU,OAAO,WAAW,UAAU;AAC/C,mBAAS,cAAc;AAAA,QACzB;AAEA,eAAO;AAAA,MACT,GAXI;AAAA,MAYJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,aAAoB,mBAClB,iBACA,WACA,oBACY;AACZ,UAAM,UAAU,2BAA2B,sBAAsB;AAEjE,UAAM,WAAsC;AAAA,MAC1C,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAEA,WAAO,QAAQ,aAAa,EAAE,MAAM,eAAe,eAAe,IAAI,MAAM,YAAY,IAAI,WAAW,SAAS,CAAC;AAAA,EACnH;AAAA;AAAA;AAAA;AAAA,EAKA,aAAoB,kBAAqB,qBAA6B,WAAyC;AAC7G,UAAM,UAAU,2BAA2B,sBAAsB;AAEjE,UAAM,WAAsC;AAAA,MAC1C,WAAW;AAAA,IACb;AAEA,WAAO,QAAQ,aAAa;AAAA,MAC1B,MAAM,cAAc,mBAAmB;AAAA,MACvC,MAAM;AAAA,MACN,IAAI;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,aAAoB,iBAAoB,eAAuB,WAAyC;AACtG,UAAM,UAAU,2BAA2B,sBAAsB;AAEjE,UAAM,WAAsC;AAAA,MAC1C,WAAW;AAAA,MACX,QAAQ;AAAA,IACV;AAEA,WAAO,QAAQ,aAAa,EAAE,MAAM,aAAa,aAAa,IAAI,MAAM,YAAY,IAAI,WAAW,SAAS,CAAC;AAAA,EAC/G;AACF;AAKO,SAAS,yBAAyB,eAAwB;AAC/D,SAAO,SAAU,QAAa,aAAqB,YAAgC;AACjF,UAAM,iBAAiB,WAAW;AAClC,UAAM,aAAa,OAAO,YAAY,KAAK,QAAQ,cAAc,EAAE;AACnE,UAAM,YAAY,iBAAiB;AAEnC,eAAW,QAAQ,kBAAmB,MAAa;AACjD,aAAO,2BAA2B;AAAA,QAChC;AAAA,QACA;AAAA,QACA,MAAM,eAAe,MAAM,MAAM,IAAI;AAAA,QACrC,EAAE,eAAe,KAAK,OAAO;AAAA,MAC/B;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;AAjBgB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './performance-monitor.js';
|
|
2
|
+
export * from './database-performance.js';
|
|
3
|
+
export * from './webserver-performance.js';
|
|
4
|
+
export * from './websocket-performance.js';
|
|
5
|
+
export * from './queue-performance.js';
|
|
6
|
+
export * from './cache-performance.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/performance/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./performance-monitor.js";
|
|
2
|
+
export * from "./database-performance.js";
|
|
3
|
+
export * from "./webserver-performance.js";
|
|
4
|
+
export * from "./websocket-performance.js";
|
|
5
|
+
export * from "./queue-performance.js";
|
|
6
|
+
export * from "./cache-performance.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/performance/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './performance-monitor.js';\nexport * from './database-performance.js';\nexport * from './webserver-performance.js';\nexport * from './websocket-performance.js';\nexport * from './queue-performance.js';\nexport * from './cache-performance.js';\n"],
|
|
5
|
+
"mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export interface PerformanceMetrics {
|
|
2
|
+
name: string;
|
|
3
|
+
duration: number;
|
|
4
|
+
timestamp: number;
|
|
5
|
+
type: 'http' | 'database' | 'cache' | 'queue' | 'websocket' | 'custom';
|
|
6
|
+
metadata?: Record<string, any>;
|
|
7
|
+
}
|
|
8
|
+
export interface PerformanceThresholds {
|
|
9
|
+
http: number;
|
|
10
|
+
database: number;
|
|
11
|
+
cache: number;
|
|
12
|
+
queue: number;
|
|
13
|
+
websocket: number;
|
|
14
|
+
custom: number;
|
|
15
|
+
}
|
|
16
|
+
export interface PerformanceMonitorOptions {
|
|
17
|
+
enabled?: boolean;
|
|
18
|
+
maxMetricsHistory?: number;
|
|
19
|
+
thresholds?: Partial<PerformanceThresholds>;
|
|
20
|
+
logSlowOperations?: boolean;
|
|
21
|
+
logAllOperations?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class PerformanceMonitor {
|
|
24
|
+
private static instance;
|
|
25
|
+
private observer;
|
|
26
|
+
private metrics;
|
|
27
|
+
private thresholds;
|
|
28
|
+
private maxMetricsHistory;
|
|
29
|
+
private isEnabled;
|
|
30
|
+
private logSlowOperations;
|
|
31
|
+
private logAllOperations;
|
|
32
|
+
private constructor();
|
|
33
|
+
static getInstance(options?: PerformanceMonitorOptions): PerformanceMonitor;
|
|
34
|
+
static initialize(options?: PerformanceMonitorOptions): PerformanceMonitor;
|
|
35
|
+
private initializeObserver;
|
|
36
|
+
private handlePerformanceEntry;
|
|
37
|
+
startMeasure(name: string, type?: PerformanceMetrics['type']): string;
|
|
38
|
+
endMeasure(startMark: string, _metadata?: Record<string, any>): void;
|
|
39
|
+
measureAsync<T>({ name, type, fn, metadata, }: {
|
|
40
|
+
name: string;
|
|
41
|
+
type: PerformanceMetrics['type'];
|
|
42
|
+
fn: () => Promise<T>;
|
|
43
|
+
metadata?: Record<string, any>;
|
|
44
|
+
}): Promise<T>;
|
|
45
|
+
measureSync<T>(name: string, type: PerformanceMetrics['type'], fn: () => T, metadata?: Record<string, any>): T;
|
|
46
|
+
getMetrics(type?: PerformanceMetrics['type'], limit?: number): PerformanceMetrics[];
|
|
47
|
+
getAverageMetrics(type?: PerformanceMetrics['type']): Record<string, number>;
|
|
48
|
+
getMemoryUsage(): NodeJS.MemoryUsage;
|
|
49
|
+
getDetailedMemoryUsage(): Record<string, number>;
|
|
50
|
+
getCpuUsage(): NodeJS.CpuUsage;
|
|
51
|
+
setThresholds(thresholds: Partial<PerformanceThresholds>): void;
|
|
52
|
+
setEnabled(enabled: boolean): void;
|
|
53
|
+
clearMetrics(): void;
|
|
54
|
+
generateReport(): {
|
|
55
|
+
summary: {
|
|
56
|
+
totalMetrics: number;
|
|
57
|
+
averages: Record<string, number>;
|
|
58
|
+
thresholds: PerformanceThresholds;
|
|
59
|
+
enabled: boolean;
|
|
60
|
+
};
|
|
61
|
+
metrics: PerformanceMetrics[];
|
|
62
|
+
memory: Record<string, number>;
|
|
63
|
+
cpu: NodeJS.CpuUsage;
|
|
64
|
+
};
|
|
65
|
+
generateFormattedReport(format?: 'simple' | 'detailed'): string;
|
|
66
|
+
destroy(): void;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=performance-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-monitor.d.ts","sourceRoot":"","sources":["../../src/performance/performance-monitor.ts"],"names":[],"mappings":"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"}
|