{"_id":"@onlineapps/monitoring-core","_rev":"33-057a7adda6b3671f158b6d08a4164733","name":"@onlineapps/monitoring-core","dist-tags":{"latest":"4.0.1"},"versions":{"1.0.0":{"name":"@onlineapps/monitoring-core","version":"1.0.0","_id":"@onlineapps/monitoring-core@1.0.0","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"f8e0060cc6cbd4872da87641e6ba29452d304b89","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.0.tgz","fileCount":21,"integrity":"sha512-achOJz58N+lWbaFJWqLe84uuyUeICtyky2sdAJKc6zVYKvB29e6RzQlzMATwwi34ObrH6Nr5C0+Lc4cVC1t1oQ==","signatures":[{"sig":"MEYCIQDqHxB9kVKODotIWh6DhkXfliK8KAbLLcD98DZWP/ABqQIhAKBiC2ybiVJrW7SJLmMAkWWP3r8j3pLhMKSVc9RVFvvV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149083},"main":"src/index.js","gitHead":"1589a6ff51a0c538c1e84cec89491428275cbd6f","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"10.8.2","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.20.8","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.0_1759139320587_0.20564299873491798","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@onlineapps/monitoring-core","version":"1.0.1","_id":"@onlineapps/monitoring-core@1.0.1","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"7f885d348423dae06c486a97db24c4a68fe8148d","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.1.tgz","fileCount":39,"integrity":"sha512-rVQuN8O5nlxH+z3EX11N6sbwRCrJf/dlyWDn3DTYKAuQH/RFJqluieZDpZLhDuLnr2KjvN8p7Rr1BW6BmFSh+A==","signatures":[{"sig":"MEUCIGaGzXe18ttw6C24YjUmpA8wX4MccTN3teyA1vVsufLHAiEA9Uyfm59fpFSL/US5bccuQdMKF65aJPTHLSBnUEIybzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431088},"main":"src/index.js","gitHead":"afcb8b2d5ad8899a61f6ba097b9a529dcf622f68","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.1_1763420989807_0.7932818545609619","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@onlineapps/monitoring-core","version":"1.0.3","_id":"@onlineapps/monitoring-core@1.0.3","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"bda084431ae49d4e2adc3c6fdd13d9a06903366d","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.3.tgz","fileCount":42,"integrity":"sha512-l30ms/lODfMqcWRexeu7uBhDKQIq/x+cEsgjCg8F/LvHTF7UhLt4CQ7UuBOc28qKGReLFvBdVdo7l6A7702rOA==","signatures":[{"sig":"MEUCIEnuPv1tXJ68V+Btlr7wGmf8cdZjDjG1wnNHO0yECaJsAiEAgQ17sPKRZcVh32QbWRkjh3TMWXDPApv95yOMSaW2gY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438915},"main":"src/index.js","gitHead":"3472e2aca27a237c8e61898d86dac1a6bcfa583e","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/service-common":"^1.0.2","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.3_1765199166555_0.3716512071887821","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@onlineapps/monitoring-core","version":"1.0.4","_id":"@onlineapps/monitoring-core@1.0.4","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"68510c839aa7aa7fe05d779ffee6975c7484ae59","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.4.tgz","fileCount":42,"integrity":"sha512-o9M/JEhlTohs2u3HL4SRFlntJ/JqpbGuECmCU/gAVzodtrN8ybqOR576W159p4tzYWlIqgeEo2RlXppQL7sjFQ==","signatures":[{"sig":"MEYCIQCkbRE3wzfBMY24p4plyEjqNIqQoAyW/tz/GIoAren32gIhAMocGwdGgwf0pnUUtCIO5VPhqRqvXyFv2l3YAj8EOuDB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439194},"main":"src/index.js","gitHead":"f7ed9a978bbd8c104015a1b1caa0957a0bbd9630","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/service-common":"^1.0.2","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.4_1765218004211_0.02680595532633845","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@onlineapps/monitoring-core","version":"1.0.6","_id":"@onlineapps/monitoring-core@1.0.6","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"2f4bb8cd6cfa21ce6967ff7dd32f37f41dfd9f78","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.6.tgz","fileCount":42,"integrity":"sha512-lGdFPlg3lIdHisADXskvDtR3hIvYGh1noDZRmjHA/nm9TbREgvHd5gOOhI/cFLxckwmWp571c7fJMRuR16aXFg==","signatures":[{"sig":"MEUCIQC2C9VRSYxMgwesdQ2aQwzrJAQ9v+aCxGqpx3WtoCXtMwIgBenBjL20pQ4IA5Qqq02ObuTU2+p6+VPjYdkR6AyFFtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439254},"main":"src/index.js","gitHead":"f7ed9a978bbd8c104015a1b1caa0957a0bbd9630","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/service-common":"^1.0.2","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.6_1765218201571_0.9813544404399881","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@onlineapps/monitoring-core","version":"1.0.8","_id":"@onlineapps/monitoring-core@1.0.8","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"8ad7bc22ba129905f6fe29633c1ce6c78cfb5938","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.8.tgz","fileCount":42,"integrity":"sha512-0cg+CbgS04o+UF1AoudH3QYpxZfZAtDqDf3VZ5zp4e+qfjsaQGqrYTgf5gDRbACKjP6cDejmsiBE93NnPOR0gg==","signatures":[{"sig":"MEUCIAloUWD1mgR0WLD5+fJxhpW66KOkKpM/2s+AvgbfQ4NCAiEAscSMFDfyKHo8fD7PcX/lX03wKQ5exslWvnxgIaF1BPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442308},"main":"src/index.js","gitHead":"f7ed9a978bbd8c104015a1b1caa0957a0bbd9630","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/service-common":"^1.0.2","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.8_1765237590121_0.417909849562329","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@onlineapps/monitoring-core","version":"1.0.9","_id":"@onlineapps/monitoring-core@1.0.9","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"6bbf672613ece7b9e24167b8fe5922e6cbccf9aa","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.9.tgz","fileCount":43,"integrity":"sha512-Dv5WRC7Gb8zL+GwVfSy5nFVbi6Emqc5PAGjB3M30VkrQQR4V6LTyHSWa/7PzqRWk1s468sOc2HVQuASgY9gMrA==","signatures":[{"sig":"MEUCIQDYGjgQrwgINWuO4RhlTKSUJuWPA8q2fVxsuikhkwSwygIgIgifXx/HKf36tpV3OJQd7LQpn50x+Font2u0r+hHawQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":492253},"main":"src/index.js","gitHead":"3af93721cbc5cc3849955583c61a29d47933834c","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/service-common":"1.0.6","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.9_1766398338103_0.9188776527231777","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@onlineapps/monitoring-core","version":"1.0.10","_id":"@onlineapps/monitoring-core@1.0.10","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"08c94df6a68def10b696ce22e51a234bdca90b7b","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.10.tgz","fileCount":46,"integrity":"sha512-eOVzl+6W7s7Ci+gANltSvNQM0FkZjIAi8ofBNCFoB7uJJ/mnEKQ49g7bw+J0v1Yzd90liqNvyITVHRmvE/E/bQ==","signatures":[{"sig":"MEUCIE6iY5M9qnQvsswMjHBbTp24ovyiPY0ZQA2XUirt4BbrAiEAkrzZBFSY/35IPGC5qdODGwqAJIBUYzVHxe1nXqXDHsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":510941},"main":"src/index.js","gitHead":"3af93721cbc5cc3849955583c61a29d47933834c","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.1","@onlineapps/service-common":"1.0.6","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.10_1766402603245_0.21873271619934243","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@onlineapps/monitoring-core","version":"1.0.11","_id":"@onlineapps/monitoring-core@1.0.11","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"e760c5c157bfa3f60bc778c513bd9cf1fba24293","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.11.tgz","fileCount":46,"integrity":"sha512-dahribD7t5Xcz2EjSKA7WmPpc/gpB67z+hNN01MU39Lqq47SLHrBjUsm0F2DIXu1LPT+tqP85gWhV4qXGUDmpg==","signatures":[{"sig":"MEUCIBb8jeiVKP2WtUVvRzylrPihgzaYTs0y9DmGdBcdeZMgAiEAtriPhpncu8h2aiSJ1dGh8egssncTEMcxXjhpnybMVSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":510941},"main":"src/index.js","gitHead":"3af93721cbc5cc3849955583c61a29d47933834c","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.7","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.11_1766402619007_0.41691544629394794","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@onlineapps/monitoring-core","version":"1.0.12","_id":"@onlineapps/monitoring-core@1.0.12","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"c795569ea139d99e9e78b56fdb5e746a1bb4d788","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.12.tgz","fileCount":45,"integrity":"sha512-ZB2Uaz34Y0uMaVhjTV0Uh9R4bA9KwcG1yBf1NAjiCMKU2FRKh45R2FX1CBZKJ3vFh7unRQYfh/rIlLv1SsXRZA==","signatures":[{"sig":"MEQCIBwS6bzdyEumB2poR1mtjpCTrr/UDXO76e2UjBuz1My8AiAfN1J6jWD0QSdzvfboBDPfu3KBZq9EQ/uyung+ezH2Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449629},"main":"src/index.js","gitHead":"00dec06e469606bacf1882fc49f32678239fec07","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.8","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.12_1766414695667_0.3534578078624855","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@onlineapps/monitoring-core","version":"1.0.13","_id":"@onlineapps/monitoring-core@1.0.13","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"1853008f23bdaa5b39a66f9c377b169c26fbb6c6","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.13.tgz","fileCount":45,"integrity":"sha512-QNv1g4zGw3w6DnLAavpIJ5dzt7ivd6gbb+mGnHzcCB5uVg8L87Nb5IqxkhxzbWmbtBrlGa4MD+wSnPcypSewtA==","signatures":[{"sig":"MEUCIQCCS+w6Gui+UDHhg2+VHL0ZRcgsJolqXFPtfE9g/cRWUwIgOIGW8UeCfzZhCePPWRw0BjKUDf0lbw3DyiNe7G+lTvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449629},"main":"src/index.js","gitHead":"00dec06e469606bacf1882fc49f32678239fec07","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.9","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.13_1766415236331_0.0688183627663419","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@onlineapps/monitoring-core","version":"1.0.14","_id":"@onlineapps/monitoring-core@1.0.14","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"60563f019a3176a32a880fc1facc6d080e8f694b","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.14.tgz","fileCount":45,"integrity":"sha512-7+oLQr2LjHowEksanXVN00n1BqmpXjS/YjwL/zUGEoap2Iq0dFX/VPHwByHweA61pwxxop6z4gGiXyJBko2ghg==","signatures":[{"sig":"MEQCIC694GHiuWEjzk8rdBG6UQhBOgfXj6cHXigprR1Y3iaaAiBY56DaYJdj72FQ0CE9k7XMWf//JmVHvV3tsQCQAwMnhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449630},"main":"src/index.js","gitHead":"00dec06e469606bacf1882fc49f32678239fec07","scripts":{"test":"jest","example":"node test/example-service.js","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.11","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.14_1766415737188_0.2001614448489062","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@onlineapps/monitoring-core","version":"1.0.15","_id":"@onlineapps/monitoring-core@1.0.15","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"9a7cf43914c1794d0e9918407528d80692283a86","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.15.tgz","fileCount":45,"integrity":"sha512-J10cqxYXJKecgkekS4akUPb1cRK9xBZ7rvJkHzTydNuDwX4SdbhEzP8eRcscIlhAg73ZOeYTscKmUe0RtEFlvg==","signatures":[{"sig":"MEYCIQD6Mu0CIAXvVhBccflwS4H8npzf5Y4KOXaOixSz9zAXWgIhAKo2SZIf8p12Y+Lrarm11U0yuwAGe4NYQZc6TODfoGHS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452860},"main":"src/index.js","gitHead":"00dec06e469606bacf1882fc49f32678239fec07","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.12","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.15_1766417022068_0.13093959233872532","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@onlineapps/monitoring-core","version":"1.0.16","_id":"@onlineapps/monitoring-core@1.0.16","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"29f2cf93cf1fd6cb16fc7f8ddd87eb39bc8184fa","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.16.tgz","fileCount":45,"integrity":"sha512-bqA+OftSTEuKMsbkjOr1GBfrbxSPWnXzCL9pVI1GOEJauZFgGuNRuWK1VnxYE9r2pgl0iZkQznEm0T+CEGVaiA==","signatures":[{"sig":"MEQCIHm3CT6K6JcCF4XsgHrQr1yLUpu9k8EdOoARf1d1mqu/AiBMyl1kolM3KnNO9fvBBzCwVoESQVGmjkWGlJ72G0uM8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452907},"main":"src/index.js","gitHead":"25f6d2552e24d3a698d362ec36a80b7c1b727dcd","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.12","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.16_1766436173950_0.5229511637799078","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@onlineapps/monitoring-core","version":"1.0.17","_id":"@onlineapps/monitoring-core@1.0.17","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"10b3f8b7070d87d0794f343dfb46d07c3eb5c96a","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.17.tgz","fileCount":45,"integrity":"sha512-ZUAjNmsNeKvYoLTe5fGf2/kIBvG5fa8ycBstIOpoUwX1/s6rRUj/e0lS43W/jbpBe2E9f73ShgaX9e53FGFzDQ==","signatures":[{"sig":"MEQCICTguSQ7q5UjRRYN0MVUWxwbkAEKukz+bdAF3Y52bMwtAiAIkSyTGwu+Lzhk0lZnkoAxiXsLCzBYHm6VxYOXFyDIVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452907},"main":"src/index.js","gitHead":"cbf6815e11ec42d59d3822bf6dd2e529f3818cfd","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.12","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.17_1766441818440_0.04815070381929343","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@onlineapps/monitoring-core","version":"1.0.18","_id":"@onlineapps/monitoring-core@1.0.18","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"da169b576b0a30cb643658a3c879e542ff13b3ff","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.18.tgz","fileCount":45,"integrity":"sha512-fa429db+1qn06Tn5gS5PR3lguIaLxeBfeifYJK6AnpKCY16e0+n5djZj/TZq7YbqKpuIvSwHUdPMtF4sWz0/bQ==","signatures":[{"sig":"MEUCIQCei/U3aoGfQk0Fl+Cb5vKebBJ3UDiPbd4b28fRlYh7UgIgJkWM7T0qs7CDhZIxbMC535akWlXeDCOJWYkPBRK5REI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454379},"main":"src/index.js","gitHead":"7eb7ab96a9d47ab31570ab42eca8416ed7baee4f","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.13","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.18_1766579016042_0.6771204955077228","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@onlineapps/monitoring-core","version":"1.0.19","_id":"@onlineapps/monitoring-core@1.0.19","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"8f52a698c824520983c868f9f16699ed619042c5","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.19.tgz","fileCount":45,"integrity":"sha512-VwCddi2OAwfkUJqsnIMc5YGekqhG6pxlpJGCKOPN/ObZquwXt1oKDDFrx5RGAZ3YsVnjRyil/ST4Y56UOGVS/A==","signatures":[{"sig":"MEQCIEgyQJ7W+3gddwR7rTvGhQ8PmCT0IhFzP5P7D9MwLiXfAiBW8pYJjfx7PG15dwTQOb9hHCD3ZbzAV3oGYQ0C7e5aQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454612},"main":"src/index.js","gitHead":"bb75a2eeb554928a03b61bca686970a57694c98e","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.14","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.19_1766704415025_0.8273595689761049","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@onlineapps/monitoring-core","version":"1.0.20","_id":"@onlineapps/monitoring-core@1.0.20","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"9772d25528d16cb9698b2131f8c13ebfccb42507","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.20.tgz","fileCount":45,"integrity":"sha512-ZsEGZGx3ssNvoXafOJbOLfLk2U4WVRdEABlMLScED9Kkfomiarf1hw9/0EiMiV2TnFLAsegycfy8tJlTrgPHLQ==","signatures":[{"sig":"MEQCIDVu184/Lzzh3gmtxY104kXziESYsyiuRbXBvgDnRM8PAiAKOw8v+jyflhNnb114gq+PPtPbBW6NgtFc4dagmWvI5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454612},"main":"src/index.js","gitHead":"bb75a2eeb554928a03b61bca686970a57694c98e","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.15","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.20_1766704581788_0.7746971681076125","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@onlineapps/monitoring-core","version":"1.0.21","_id":"@onlineapps/monitoring-core@1.0.21","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"8696147e131c1b2359f75f6e424ccba3abad700e","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.21.tgz","fileCount":45,"integrity":"sha512-T4qfJzMiQpj2VpJ4AVbPfY6bOgVxsE6KfZanBO/IEfdfUi/w7/j/+vAb9cnHy0Pslit4IyYX3ECQmuD9A3/6qQ==","signatures":[{"sig":"MEYCIQCe5o9M+P7HreGLlMD4c2pN8kV3wV87F/+TbIE/vkQydwIhANI9fzB2vJWQynp2lpuiwV/G/11EX4I7G1yD7W09k0uK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454612},"main":"src/index.js","gitHead":"12b6448ca983d66793c950eaa7fcaf724bab1834","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.17","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.21_1774523311311_0.20461442020528664","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@onlineapps/monitoring-core","version":"1.0.22","_id":"@onlineapps/monitoring-core@1.0.22","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"8b46fb070025287ad151d33b06876069921c5c96","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.22.tgz","fileCount":45,"integrity":"sha512-WHzf3ypU8At3LleH6YbNheRwvC1+u0sLSpbamyNVE8v8kR8IVFc9tXks+qu+BF9uh0N1JxlQMd30NCAAtfUB8Q==","signatures":[{"sig":"MEUCIA6Gp4a47QIA0LNPKZJVVuRyvR6z+3dCmHWg4rGr0AlJAiEA6/AsIDOEhOLrR2e25gdDGHa0srYNcquCpsro/+uYXxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454612},"main":"src/index.js","gitHead":"f27fcb5d6c3820e84254739acf05d3a104595f33","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.0.19","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.22_1776331932229_0.8906928461715378","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@onlineapps/monitoring-core","version":"1.0.23","_id":"@onlineapps/monitoring-core@1.0.23","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"5a536fbf5c28e2f45312e274fb0a8c5f64aaedfd","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.23.tgz","fileCount":45,"integrity":"sha512-Dp4O1J3nLjXxAxMGpzMPjoXEZqjB25x/ntUfb8RdKvbLb9fP1kjl9S9Iz1vGSr0XzVkThgfvaB8hU9uLvENPQg==","signatures":[{"sig":"MEYCIQCmu15WCq1VPMXXppP0l0+gZZsNJ4EazhfoSpeZyHrzsAIhALRzB5+epJtM7GE+Ew+cQc8kKZv4mSFTx9R7DSNALsXz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454610},"main":"src/index.js","gitHead":"fd4eddb38f98833071c41167adf2114d2395088a","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"9.2.0","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"18.19.1","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.1.2","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.23_1776453503277_0.5561492994740695","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@onlineapps/monitoring-core","version":"1.0.24","_id":"@onlineapps/monitoring-core@1.0.24","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"be56cd44ac1e53f52b5d1dc1e7cc0fbc663a3f06","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.24.tgz","fileCount":26,"integrity":"sha512-Z0WP8qX5cAhrFR1f3lL0WCLjvhPjMLPRFLi0QhUga/ALxcvyeO4lluGDaieMa+adqB29Ybp6BIdePnlbQXaAjw==","signatures":[{"sig":"MEUCIQCfHhbGDbq/66KFuqVsbWmqfMidc6E9o9FDxjnTYaq7CQIgPI8N4TJPDs0qepDfuK6jMVcNkzg/ho7LLhLt+pT/NUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115986},"main":"src/index.js","gitHead":"ad1a7aa7638d6005c0af5b89680bec8a96ba4c2f","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.1.3","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.24_1784914219284_0.059140204978228805","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@onlineapps/monitoring-core","version":"1.0.25","_id":"@onlineapps/monitoring-core@1.0.25","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"e69eb91fce2e3166e3a03711ee0a631c62aabb97","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.25.tgz","fileCount":26,"integrity":"sha512-o+MzknSQfXPsDw+s2gypYYNwzjiuyzvO5GSw7gxMlICv4MCjBHeuTHMyePWq2UaCGSF0vkLK8moU/4C/RoEZlw==","signatures":[{"sig":"MEUCIQDJAoYs1yBwpnlhZbAygqat4WzoAcuIYP2MY1oRfrrNpAIgNbeKfaJIKFEKqAWCTrCveNfzdE+S68WK5F9AWuN66oY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115986},"main":"src/index.js","gitHead":"f6f023bd839feebd7c295d3cc4fab07c52e81aa6","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"1.2.0","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.25_1787417446019_0.7875064217873802","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@onlineapps/monitoring-core","version":"1.0.26","_id":"@onlineapps/monitoring-core@1.0.26","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"310b3ff5b09ca15a0ce6361854e1e9dacc3d17dd","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.0.26.tgz","fileCount":9,"integrity":"sha512-9ibEwlip8Bgre+xlM/LEiYaQc3tK3D60sRG0B7tot4oAi/KbUC3HiQfCBtkiieD30CMbPgCbyhuBrpeyWI62cA==","signatures":[{"sig":"MEUCICtr/vB+6odQat987aI33e7uRBKRyztKfUArGBDMVE6dAiEA/cbPi/adxDX8NpbLHCGvdVy1w7XXWgT1HKRbUGfa5GA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58331},"main":"src/index.js","gitHead":"2952cd89a7c4c07bc46911f43c65c50421a872e0","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","winston":"^3.11.0","@opentelemetry/api":"^1.6.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.2","@onlineapps/service-common":"2.0.0","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/sdk-trace-node":"^1.18.0","@opentelemetry/instrumentation":"^0.45.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/exporter-trace-otlp-proto":"^0.45.0","@opentelemetry/auto-instrumentations-node":"^0.39.2","@opentelemetry/exporter-metrics-otlp-proto":"^0.45.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.0.26_1787958517040_0.3163753669283429","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@onlineapps/monitoring-core","version":"1.1.0","_id":"@onlineapps/monitoring-core@1.1.0","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"ce8505147c9cb8e956c797c45884e015acd87495","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.1.0.tgz","fileCount":9,"integrity":"sha512-1bySz+Y9w9LbZyqNqG7uTI0KbkX/44lh3j/E1CYI5SWItSLCFOJ8vdZCQ//08z+pWTpfbVSMy0Qy3yPXRMt8cw==","signatures":[{"sig":"MEQCICjo0VdeHpfqw26vTHygzeBv16C4plk1Wiv9UUXa3MQCAiBlBIN5xWWGYnF/VfqQ2Weyz4QosPO3KrfGqZa4TvgiDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61274},"main":"src/index.js","gitHead":"fef18175df3198a49c596aab4db1b9b8803ba49f","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.3","@onlineapps/service-common":"2.0.0","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2","winston":"^3.11.0"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.1.0_1788034804381_0.28814584881277483","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@onlineapps/monitoring-core","version":"1.1.1","_id":"@onlineapps/monitoring-core@1.1.1","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"dist":{"shasum":"902780fba56e1e208eeb5fc7f71678df8852142e","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-1.1.1.tgz","fileCount":9,"integrity":"sha512-ccUh8Wz6epRGRqrY8Blh6fA85AmwNcq1FMCED59RBzN0pIiZR4bRM6zucQGemT6QPWeyFqmPjMfAkO9J6YH+cQ==","signatures":[{"sig":"MEUCIQCWDbmvgmZW/kwoTKp1CDfYuui2JrUmHh7PNFmIdkMWXgIgSOB0dgadneTwyiXYfYhq3lX/WCJPhoDWJRDiGWZpuO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61274},"main":"src/index.js","gitHead":"57bb9d32fc81ceedfc5d44ab4c036497f566b72f","scripts":{"test":"jest","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:component":"jest tests/component"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.0.3","@onlineapps/service-common":"2.0.1","@opentelemetry/sdk-metrics":"^1.18.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2","winston":"^3.11.0"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_1.1.1_1788035891676_0.9898606312361171","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@onlineapps/monitoring-core","version":"2.0.0","_id":"@onlineapps/monitoring-core@2.0.0","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"oa":{"category":"connector"},"dist":{"shasum":"3ea899989129d8c021f537f080ba85b84b60eba1","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-2.0.0.tgz","fileCount":10,"integrity":"sha512-piK7A0mqbqAw/mr/07I8gVNrIcX823v5Q185qCWGNmHh9v+nf5Azyz9aauZLDD6utG5rAVRv/zHi7xAJWuBzTA==","signatures":[{"sig":"MEUCIEXaDfRbyAJNnuFgaI38pAMDGsf2wPUvGGf7S7fhdFa8AiEA7FRj59S21TXMApTmgIvMzM+8i1MaSOT8g54dp7oPKWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGgV6iVZEmkag631WHcP9CxxhBqV8rNHUs5f4pFqUBo+AiA/nIDz29JjTp0or1Y/NtrNbxqEWUvCagIINQjqmNtZEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122342},"main":"src/index.js","engines":{"node":">=24.0.0 <25"},"gitHead":"146539ab9911e44033641df3b4b9e2b6127b49a3","scripts":{"test":"npm run test:unit && npm run test:integration","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:integration":"jest --config=jest.integration.config.js"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.1.0","@opentelemetry/sdk-metrics":"^1.18.0","@onlineapps/logger-contract":"1.1.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2","winston":"^3.11.0"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_2.0.0_1789411847372_0.00035119285250884147","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@onlineapps/monitoring-core","version":"2.0.1","_id":"@onlineapps/monitoring-core@2.0.1","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"oa":{"category":"connector"},"dist":{"shasum":"e9a47b0c971177cd6720631289dc2941de9a9d69","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-2.0.1.tgz","fileCount":10,"integrity":"sha512-uCYP1rNE72oW5Jd8cpmLtme+zuLKwDeJW9d+zSGW/laVM+zQgBOcwntPh8F8b1TLuyIuWji8R7OVI4VoRIRxFg==","signatures":[{"sig":"MEQCIDh80MKzY9A+ej6oouT4/2qjip51IbtbEmM/O1Vch+tcAiAtzVo4uIe0Ohr3XenxA3VTdZMXDeoKkE6RMFfCJUgNJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC2kr5lVOraX4lWQH1YZ1d7d6Y5JSbdvo6pXUc9wXI5aAiEAmf42mdSicQ8WK69501xa9U7yRXc3HsPvt90C+M7dr5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122396},"main":"src/index.js","engines":{"node":">=24.0.0 <25"},"gitHead":"96fcefc6d3d2f100f7076c061a19d736993a33dc","scripts":{"test":"npm run test:unit && npm run test:integration","example":"node test/example-service.js","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:integration":"jest --config=jest.integration.config.js"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.2.0","@opentelemetry/sdk-metrics":"^1.18.0","@onlineapps/logger-contract":"2.0.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","express":"^4.18.2","winston":"^3.11.0"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_2.0.1_1789493338379_0.9288240572553483","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@onlineapps/monitoring-core","version":"3.0.0","_id":"@onlineapps/monitoring-core@3.0.0","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"oa":{"category":"connector"},"dist":{"shasum":"533fbd9a810cf45b50e46ec77912df475fd6299e","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-3.0.0.tgz","fileCount":11,"integrity":"sha512-YCeMRzJwJZ9g0nTmpbbiM7/59llrHT8HLXRleBUZuEFvT+PSLi5Gd7tzaeThuf2hRIwMoUAgbezDvOPJZiZdMg==","signatures":[{"sig":"MEUCIBYE13xcA70C6i838tm+Atsuba3CDvBlrUsIlCHy0RUGAiEA88npgNzNaLzS6F7Vw05gXLnbJ8v0zYtTweF0B77+DbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDoOZLRrlzEO6qkzdF2JgSC9UiQG17SymL3ZdypIZQw/AiEAxxQp4mR6zzrdN7akmLxZ17riUUZPC8Ae9UxKPxz6WlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196638},"main":"src/index.js","engines":{"node":">=24.0.0 <25"},"gitHead":"7bca18f89926b8598e1edfb368d3a0c0f817d987","scripts":{"test":"npm run test:unit && npm run test:integration","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:integration":"jest --config=jest.integration.config.js"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.2.0","@opentelemetry/sdk-metrics":"^1.18.0","@onlineapps/logger-contract":"2.0.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_3.0.0_1789586853706_0.9243205945052666","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@onlineapps/monitoring-core","version":"3.0.1","_id":"@onlineapps/monitoring-core@3.0.1","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"oa":{"category":"connector"},"dist":{"shasum":"c08de53d68e782886646c4e968efedbcef2fa8a8","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-3.0.1.tgz","fileCount":11,"integrity":"sha512-WJqO9H8rox/N7GQTxvRNfetMVYnp4iZh3VaMpHt4PNb+TCAmLcWpTJTCI9HF3p4A9sLbWdUvSqtcPa+dymHSEw==","signatures":[{"sig":"MEUCIA8ZsSyMfjOgOQlSjg0k5g9Im1+YtL/HUp+jXBwvC2HnAiEAg+p59Jh9tI4zycXwURBmoUwqDSepw73KM1Ae9Z7v55k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICO4WZXHWCd44Gl7vRDmE/kXF4rJSdMNDa+N6vMc7NfRAiBzS6CdwlRhY0XB6rAOzdL3S395Arm5yvClj56Fq7gOcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200179},"main":"src/index.js","engines":{"node":">=24.0.0 <25"},"gitHead":"acaced25ec4f63795b84faa642d3ed0f4b2c33be","scripts":{"test":"npm run test:unit && npm run test:integration","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:integration":"jest --config=jest.integration.config.js"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"^0.10.3","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.2.0","@opentelemetry/sdk-metrics":"^1.18.0","@onlineapps/logger-contract":"2.0.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_3.0.1_1789590929736_0.3466593080183269","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@onlineapps/monitoring-core","version":"3.0.2","_id":"@onlineapps/monitoring-core@3.0.2","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"oa":{"category":"connector"},"dist":{"shasum":"d2aaa0ab4545ae534f1025f090cf6873156afeff","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-3.0.2.tgz","fileCount":11,"integrity":"sha512-FMAtGt5tVz4zBJ+fdakaQWOBvNgVXH5cJUV3FbOEV30t8ziuf8sNtoWRTJyEC79KjE9JgWc47KhMt85DHEZbrA==","signatures":[{"sig":"MEYCIQDX7pRBqdl6FQYFsQzs7ZZHlsEYcm/vIgAPRUXa7XmT1QIhALGsLXaFfVc3fcGjdyDsN+HQN/qpX7nFDI5GnSbJYAHt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDIOjjsYXqRhKfw+Rbn2f9aY0K3ANRkgzw/rNqK+Q+3YQIgXet7LXN2od/BVeGDEp5m5LLbdX9gFrG2SvSx01/N04g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205142},"main":"src/index.js","engines":{"node":">=24.0.0 <25"},"gitHead":"e3d056ac0f8525907b7c528393a65196a87757cd","scripts":{"test":"npm run test:unit && npm run test:integration","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:integration":"jest --config=jest.integration.config.js"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"0.10.9","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.2.0","@opentelemetry/sdk-metrics":"^1.18.0","@onlineapps/logger-contract":"2.0.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_3.0.2_1789672555862_0.8052619584300766","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@onlineapps/monitoring-core","version":"4.0.0","_id":"@onlineapps/monitoring-core@4.0.0","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"oa":{"category":"connector"},"dist":{"shasum":"9a8653bc77509c94371a87ebe5a1d86e9d4811cb","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-4.0.0.tgz","fileCount":11,"integrity":"sha512-wWjwn+GXzZPG93AyAGjgjb8jIC2C9haOht16aIWFMmgLU1WDYLBPo89xmvtamQsvhFwEIVu1aqBvCPsljreOpA==","signatures":[{"sig":"MEUCIGioDqwYYGoabDQ+pk4dYG+X4GRL3e1E2zlBNqTxZ7nJAiEAzjrs6DzCSJUHDY/lTfeGgs9IlKb217ouxBFhJ+qrToI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDnZUUi583mwCrvloBu7/WZBhqoP543Oeqa49LK75HTPAIga4tQkeZMyNIesM8NxOVhMlkFlPRD89+N4gaZ39LYnSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221164},"main":"src/index.js","engines":{"node":">=24.0.0 <25"},"scripts":{"test":"npm run test:unit && npm run test:integration","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:integration":"jest --config=jest.integration.config.js"},"_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"_nodeVersion":"25.9.0","dependencies":{"amqplib":"0.10.9","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.2.0","@opentelemetry/sdk-metrics":"^1.18.0","@onlineapps/logger-contract":"2.0.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/monitoring-core_4.0.0_1790229751681_0.12238708501508966","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"oa":{"category":"connector"},"_id":"@onlineapps/monitoring-core@4.0.1","dist":{"shasum":"00bdd28109f61deaaa5b3204ef0e8462a64e2893","tarball":"https://registry.npmjs.org/@onlineapps/monitoring-core/-/monitoring-core-4.0.1.tgz","fileCount":11,"integrity":"sha512-uTfB/YKM5Iur0pdRxmMRyGNs9EALNE345Lf96PYoEJEOzuL15TXWLmjjl/R4azeo4gBm73IFeOzrpYt4AhUnyw==","signatures":[{"sig":"MEUCIQDlOY2S1uieodEOmlNJbcvxBlGG3xxMMuJP1FWNlsjR8gIgZoJaobr5gudBD0xbdCNtpCGPD9JkTwH2qc0OGaHzj3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAcESioKfkvJ9C0zaKMlvcw/mAKSPsToFuT37iasgPEaAiEAkpGvW94FB0PmUvORzFIqDoNFnT/zZ8reJnkM6mE9wxs="}],"unpackedSize":226464},"main":"src/index.js","name":"@onlineapps/monitoring-core","engines":{"node":">=24.0.0 <25"},"scripts":{"test":"npm run test:unit && npm run test:integration","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:integration":"jest --config=jest.integration.config.js"},"version":"4.0.1","_npmUser":{"name":"onlineapps","email":"npmjs@onlineapps.cz"},"_npmVersion":"11.12.1","description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","directories":{},"maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"_nodeVersion":"25.9.0","dependencies":{"amqplib":"0.10.9","@opentelemetry/api":"^1.6.0","@opentelemetry/core":"^1.18.0","@opentelemetry/sdk-node":"^0.45.0","@opentelemetry/resources":"^1.18.0","@onlineapps/runtime-config":"1.2.0","@opentelemetry/sdk-metrics":"^1.18.0","@onlineapps/logger-contract":"2.0.0","@opentelemetry/sdk-trace-base":"1.18.0","@opentelemetry/instrumentation-http":"^0.45.0","@opentelemetry/semantic-conventions":"^1.18.0","@opentelemetry/instrumentation-mysql2":"^0.34.1","@opentelemetry/instrumentation-amqplib":"^0.33.4","@opentelemetry/instrumentation-express":"^0.33.1","@opentelemetry/instrumentation-redis-4":"^0.35.1","@opentelemetry/auto-instrumentations-node":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/monitoring-core_4.0.1_1790332141078_0.08077513272455117"}}},"time":{"created":"2025-09-29T09:48:40.530Z","modified":"2026-09-25T10:29:01.314Z","1.0.0":"2025-09-29T09:48:40.773Z","1.0.1":"2025-11-17T23:09:50.002Z","1.0.3":"2025-12-08T13:06:06.718Z","1.0.4":"2025-12-08T18:20:04.376Z","1.0.6":"2025-12-08T18:23:21.702Z","1.0.8":"2025-12-08T23:46:30.270Z","1.0.9":"2025-12-22T10:12:18.251Z","1.0.10":"2025-12-22T11:23:23.449Z","1.0.11":"2025-12-22T11:23:39.167Z","1.0.12":"2025-12-22T14:44:55.848Z","1.0.13":"2025-12-22T14:53:56.519Z","1.0.14":"2025-12-22T15:02:17.351Z","1.0.15":"2025-12-22T15:23:42.216Z","1.0.16":"2025-12-22T20:42:54.107Z","1.0.17":"2025-12-22T22:16:58.602Z","1.0.18":"2025-12-24T12:23:36.198Z","1.0.19":"2025-12-25T23:13:35.183Z","1.0.20":"2025-12-25T23:16:21.949Z","1.0.21":"2026-03-26T11:08:31.459Z","1.0.22":"2026-04-16T09:32:12.376Z","1.0.23":"2026-04-17T19:18:23.426Z","1.0.24":"2026-07-24T17:30:19.432Z","1.0.25":"2026-08-22T16:50:46.164Z","1.0.26":"2026-08-28T23:08:37.170Z","1.1.0":"2026-08-29T20:20:04.542Z","1.1.1":"2026-08-29T20:38:11.811Z","2.0.0":"2026-09-14T18:50:47.479Z","2.0.1":"2026-09-15T17:28:58.478Z","3.0.0":"2026-09-16T19:27:33.796Z","3.0.1":"2026-09-16T20:35:29.845Z","3.0.2":"2026-09-17T19:15:55.967Z","4.0.0":"2026-09-24T06:02:31.793Z","4.0.1":"2026-09-25T10:29:01.160Z"},"description":"Full monitoring stack (logs, metrics, traces) for OA Drive microservices","maintainers":[{"name":"onlineapps","email":"npmjs@onlineapps.cz"}],"readme":"> Status: current\n> Owns: the OpenTelemetry stack behind every log, metric and trace on the platform\n\n<!-- BEGIN GENERATED: library-uniform — regenerate: npx oa-sync-template readme-uniform --all -->\nUniform: [library/connector](../../connector/conn-orch-validator/manifests/library.manifest.json)\n\nDuty sections that apply:\n\n- `all`: L-MAIN, L-ENGINES, L-TESTS, L-TEST-SCRIPT, L-PACK-TESTS, L-PINS, L-NO-FILE-RANGE, L-CHANGELOG, L-README, L-README-REGION, L-CONSUMER\n- `connector`: L-CONNECTOR-ENV\n<!-- END GENERATED: library-uniform -->\n\n# @onlineapps/monitoring-core\n\nCore monitoring infrastructure for OA Drive microservices using OpenTelemetry.\n\n## Architecture Pattern\n\nThis library uses a **Factory Pattern** instead of singleton to allow:\n- Multiple independent instances with different configurations\n- Better testability and isolation\n- Parallel running of services\n- Clean separation between service instances\n\n## Installation\n\n```bash\nnpm install @onlineapps/monitoring-core\n```\n\n## Usage\n\n### Factory Pattern (Recommended)\n\nCreate independent instances for each service:\n\n```javascript\nconst { init } = require('@onlineapps/monitoring-core');\n\n// Create new instance with factory\nconst monitoring = await init({\n  serviceName: 'my-service',\n  serviceVersion: '1.0.0',\n  mode: 'light', // off | light | full | debug\n  logLevel: 'INFO'\n});\n\n// Use the instance\nmonitoring.logger.info('Service started');\nmonitoring.workflow.start('wf-1', 'process');\n```\n\n### Multiple Instances\n\nEach service can have its own configuration:\n\n```javascript\n// Service 1\nconst service1 = await init({\n  serviceName: 'api-gateway',\n  mode: 'full'\n});\n\n// Service 2 - independent configuration\nconst service2 = await init({\n  serviceName: 'worker',\n  mode: 'light'\n});\n```\n\n### Direct Module Usage\n\nFor simple logging without full telemetry:\n\n```javascript\nconst { createLogger, WorkflowTracker } = require('@onlineapps/monitoring-core');\n\n// Standalone logger\nconst logger = createLogger({\n  serviceName: 'simple-service',\n  mode: 'off'\n});\n\n// Standalone workflow tracker — the logger is a required dependency\nconst { createProcessStdoutSink } = require('@onlineapps/monitoring-core/src/stdoutSink');\nconst tracker = new WorkflowTracker('my-service', { logger: createProcessStdoutSink() });\n```\n\n## The last output channel\n\nThis package IS the logging library of every service on the platform, so when its\nown RabbitMQ transport is down it cannot report that through \"the service's\nlogger\" — that logger is this package. Until 2026-09-07 it reached for an ambient\n`console` in 39 places: an undeclared channel nobody injected and no test covered.\n\nOwner decision: **one explicit end channel**, recorded in\n`api/docs/governance/confirmations/connector-logger-contract.md`, confirmation 005.\n`src/stdoutSink.js` builds an object satisfying `@onlineapps/logger-contract`\n(`info`/`warn`/`error`/`debug`) that writes one NDJSON line per call:\n\n```json\n{\"timestamp\":\"2026-09-07T05:31:14.648Z\",\"level\":\"INFO\",\"source\":\"monitoring-core\",\"message\":\"[Telemetry] Disabled by configuration\",\"meta\":{\"serviceName\":\"hello-service\"}}\n```\n\nDocker collects stdout, so a service whose telemetry transport is gone still\nleaves a record on the box — readable with `docker logs`, not in Loki: the\nplatform runs no log-shipping agent, and Loki ingests only what the monitoring\nconsumer pushes over AMQP (`api/docs/architecture/monitoring.md` § Data flow). The channel is\n**injected, never ambient**, and `createProcessStdoutSink()` is the single place\nin the package that names `process.stdout`.\n\nIt is NOT a default for a missing parameter: every constructor below still\nvalidates what it is handed and throws when it is not a complete logger\n(confirmation 001).\n\n### Constructors that require it\n\n| Constructor | Signature | Who passes the channel |\n|---|---|---|\n| `TelemetryCore` | `new TelemetryCore()` | builds its own via `createProcessStdoutSink()`; it is the composition root |\n| `RabbitMQExporter` | `new RabbitMQExporter(config, type, { logger })` | `TelemetryCore.setupOpenTelemetry()` |\n| `RabbitMQMetricExporter` | `new RabbitMQMetricExporter(config, { logger })` | `TelemetryCore.setupOpenTelemetry()` |\n| `TelemetryLogger` | `new TelemetryLogger(config, { logger })` | `createLogger()`; held as `this.sink`, so no field inside a logger is called `this.logger` |\n| `WorkflowTracker` | `new WorkflowTracker(serviceName, { logger })` | `TelemetryCore.init()`, or the caller for standalone use |\n\n`init()`, `createLogger()` and `createInfrastructureLogger()`\nkeep their signatures — they build the channel for you.\n\nThe sink applies **no level threshold**: filtering is `TelemetryLogger`'s job, and\nby the time a line reaches the sink the decision to log it has been made.\nDropping it here would hide the emergency the channel exists for.\n\n### The service's own records use the same channel — `stdoutEnabled`\n\nConfirmation **006** closed the last exception. Until 2026-09-07 a record accepted\nby `TelemetryLogger.log()` was additionally printed by an ambient `console` as\n\n```\n[INFO] Order accepted  { orderId: 42 }\n```\n\n— a second, unstructured shape of the same stdout, switched by a config key\ncalled `consoleEnabled`. There is now **one channel and one line shape**: the\nrecord goes to the injected sink, as NDJSON.\n\n```json\n{\"timestamp\":\"2026-09-07T08:03:19.850Z\",\"level\":\"INFO\",\"source\":\"monitoring-core\",\"message\":\"Order accepted\",\"meta\":{\"service\":\"smoke-service\",\"severity_number\":9,\"trace_id\":null,\"span_id\":null,\"version\":\"1.2.3\",\"environment\":\"smoke\",\"pid\":82891,\"hostname\":\"Igor--MacBook-Air.local\",\"data\":{\"orderId\":42}}}\n```\n\nThe key survives the change under the name that says what it does — **`stdoutEnabled`**\n(env `MONITORING_STDOUT_ENABLED`, default `true`) — because it still decides\nsomething the sink cannot decide for itself:\n\n| `stdoutEnabled` | what reaches stdout |\n|---|---|\n| `true` (default) | every record the logger accepts, **plus** the library's own transport failures |\n| `false` | the library's own transport failures only — the channel of confirmation 005 |\n\n`consoleEnabled` and `MONITORING_CONSOLE_ENABLED` are **retired**; nothing reads\nthem, and a config still setting them changes nothing (no backward compat before\nproduction, architecture principle 11).\n\nThe `debug` preset's own line — which trace provider the SDK ended up with — goes\nto the same channel, under the option **`traceDebugToStdout`** (retired name:\n`consoleTrace`). It is the only other switch in this package that decides whether\nsomething reaches stdout, and after 006 no name here mentions a console, because\nthere is none left in `src/`.\n\nTwo details of the shape, both deliberate:\n\n- **`source` is always `monitoring-core`** — this library wrote the line. What\n  distinguishes a service record from a library-internal line is `meta.service`:\n  a record has it, an internal line (`[Logger] RabbitMQ not available …`) does not.\n- **One level, one `severity_number`, one channel method.** The record levels\n  are the four of `@onlineapps/logger-contract`, so `\"level\":\"ERROR\"` always\n  carries `\"severity_number\":17` and no severity has to borrow another's method.\n  A fifth level, `FATAL` (severity 21), existed here until d.372 and did borrow\n  `error`; nothing on the platform ever wrote one.\n\nHuman readability in development is a tool's job, not a second format:\n\n```bash\ndocker logs <service> | jq -r 'select(.meta.service) | \"[\\(.level)] \\(.message) \\(.meta.data)\"'\n```\n\n## Configuration Modes\n\n| Mode | Use Case | Features | Performance Impact |\n|------|----------|----------|-------------------|\n| `off` | Testing, Development | stdout (and file) logging only, no transport | Minimal |\n| `light` | Production | Logs + sampled traces; **no metrics** unless `metrics: true` is passed | Low |\n| `full` | Staging | Logs + Metrics + Traces | Medium |\n| `debug` | Debugging | Everything + Debug info | High |\n\nWhat each mode turns on is the preset table in `loadConfig()` (`src/index.js`), not\nthis summary: the `light` preset sets `metrics: false`, and an option passed to\n`init()` overrides its preset value (`metrics`, `sampling`, `instrumentations`).\n\n## API Reference\n\n### init(options)\n\nFactory function to create new monitoring instance.\n\n```javascript\nconst monitoring = await init({\n  serviceName: 'my-service',      // Required\n  serviceVersion: '1.0.0',         // Optional\n  serviceInstanceId: 'my-service-3', // Optional: which running copy this is\n  mode: 'light',                   // Optional (default: 'off')\n  logLevel: 'INFO',                // Optional: DEBUG|INFO|WARN|ERROR|NONE (default: 'INFO')\n  environment: 'production',       // Optional\n  sampling: 1.0,                   // Optional (0-1)\n  traceDebugToStdout: true,        // Optional (default: only in mode 'debug')\n  rabbitmq: {                      // Optional\n    url: 'amqp://127.0.0.1:5672',\n    exchange: 'telemetry.exchange'\n  }\n});\n```\n\n**A failed initialization throws — there is no quieter service.** If anything in\n`init()` fails (an unknown `logLevel`, an instrumentation that cannot be loaded, a\ntransport that refuses the configuration), the error propagates to the caller with\nits original cause attached, and the instance hands out no logger at all. It used\nto be swallowed: the failure was printed once and the instance handed back a\nlogger of four empty methods, so a service booted, logged into nothing and nobody\nwas told. A wrapper boots on that promise — a service that cannot log must not run\n(`api/docs/governance/confirmations/wrapper-boot-logger.md`).\n\nSilence is available, but only as a decision: `mode: 'off'` is a declared\ndisabling and keeps the four-method no-op surface. A failure is not a declaration.\n\nA failed `init()` also stops what it had already started: the OpenTelemetry SDK\ncomes up first, and since the caller gets the exception instead of the instance,\nan SDK left running would be a telemetry stack nobody can reach to shut down.\n\n### shutdown() — and who owns the process\n\n`shutdown()` closes everything this instance opened: the OpenTelemetry SDK, its\nexporters, and the logger's own RabbitMQ connection, file stream and timers.\nAfter it returns, nothing from this package is left holding the event loop, so a\nservice whose work is finished exits on its own.\n\n**Including a connection that is still opening.** `shutdown()` may be called\nbefore the logger's amqp socket has come up — a boot that fails a step later, a\nshort-lived job — and it ends that attempt as well: it waits for the attempt in\nflight and the attempt closes the socket it is handed. Until d.509 it did not:\n`this.connection` was still null, so nothing was closed, and the socket arrived\nafterwards with nobody left to close it. The process then printed\n\"[Telemetry] Shutdown complete\" and kept running until something killed it.\n\n**Queued samples are delivered or reported — never dropped in silence.** A metric\nsample or span exported while the transport is not connected waits in its\nexporter's queue, and `shutdown()` itself exports what was recorded last, which\nis how a short-lived process ends up with a queue and a connection still\nopening. When the attempt `shutdown()` waits for succeeds, the queue is published\nbefore the socket is closed. What cannot be delivered — the attempt failed, or\nnone was running — is discarded and reported on the end channel with its count:\n`[RabbitMQExporter] shutdown dropped <count> unexported metric sample(s) - …`\n(`span(s)` for the trace exporter). `shutdown()` opens no new connection attempt\nfor it. Until d.880 the queue was dropped with nothing said: the attempt closed\nits socket unused and a process shorter than one export interval published no\nmetric at all.\n\n**A record written after `shutdown()` is not a transport failure.** The summary\nline a service writes last — after the `logger` step of its own shutdown, so\nthat a failure of that step still reaches somebody — finds the transport gone,\nbecause `shutdown()` closed it. From the moment `shutdown()` begins, such a\nrecord is no longer published to the broker and nothing is reported about it:\nthe same doctrine as the pre-connect window, a state the process walks through\non purpose rather than a fault (d.626; until then every orderly end of a service\nleft one `[Logger] RabbitMQ not available …` ERROR in the log, and that ERROR\ncarried the shutdown summary). The record itself is not lost: the end channel\n(stdout) has it. The file sink does not — `shutdown()` closes the declared file\nstream, which is its own announced job. An outage during the run — a connection\nthat failed, fell over or was refused — is still an ERROR, unchanged.\n\n**The service owns its process; this library owns none of it.** It registers no\n`SIGTERM`/`SIGINT` handler, takes no `uncaughtException` / `unhandledRejection`,\nand never calls `process.exit()` — confirmation `mq-client-lifecycle-contract`\n001 verdict 1. Call `shutdown()` from your own handler, in your own order:\n\n```javascript\nprocess.on('SIGTERM', async () => {\n  await server.close();\n  await mqClient.disconnectAll();\n  await monitoring.shutdown();   // last: everything above still logs\n  process.exit(0);\n});\n```\n\nA crash is the service's to decide too. Log it with the logger this instance\nhands out, then fail fast — do not let a library turn a fatal condition into a\nlog line the process survives.\n\n### Logger Methods\n\n```javascript\nmonitoring.logger.debug('Debug message', { data });\nmonitoring.logger.info('Info message', { data });\nmonitoring.logger.warn('Warning message', { data });\nmonitoring.logger.error('Error message', { error });\n```\n\nThese four ARE the platform logger contract (`@onlineapps/logger-contract`), and\nthey are the whole surface: every logger this package hands out carries exactly\nthem, in every mode. A process on its way down reports with `error()` and then\nfails fast in its own code — this library has no fifth level to say it with.\n\n#### Level names are a contract\n\n`log(level, message, data)` takes the level as its FIRST argument, as a string.\nThe four record levels are `DEBUG`, `INFO`, `WARN`, `ERROR` (case-insensitive);\nanything else — a name this package does not know, the retired `FATAL`, or a\nwinston-shaped `{ message, level }` object — **throws**, naming the allowed\nvalues. It used to become an INFO record with an `undefined` message instead.\n\n`config.logLevel` accepts those four plus **`NONE`**: explicit silence, where no\nrecord reaches the file, stdout or the transport. The library's own last-resort\nchannel is not gated by it — a transport failure is still reported, which is the\nwhole point of confirmation 005. An unknown `logLevel` throws in the\nconstructor rather than quietly becoming `INFO`.\n\n### createInfrastructureLogger(config)\n\nThe logger for infrastructure services (gateway, registry, validator, dispatcher,\ndelivery endpoint) — `TelemetryLogger` with child labels, without the\nOpenTelemetry SDK.\n\nThat reaches the module loader too: **importing this package does not load the\nOpenTelemetry SDK** — not `sdk-node`, not `auto-instrumentations-node`, not\n`resources`, `sdk-metrics` or `sdk-trace-base`. All of them are required where\nthe SDK is started (`TelemetryCore.setupOpenTelemetry()`,\n`getInstrumentations()`), so a process that only takes a logger from here never\npays for them — and a missing OTel package still fails loudly and by name, at\nthat start. The registration order does not move with it: the\nauto-instrumentation reaches the module loader when the instrumentations are\ninstantiated, which is that same call. Held by\n`tests/unit/otel-sdk-loads-at-start-not-at-import.test.js`.\n\nThe one OTel package an import still loads is\n`@opentelemetry/semantic-conventions`, and not on this package's account: it\ncomes with `@opentelemetry/core`, from which the RabbitMQ exporter takes\n`ExportResultCode`.\n\n```javascript\nconst logger = createInfrastructureLogger({\n  serviceName: 'api-services-registry',  // REQUIRED (or env SERVICE_NAME)\n  serviceVersion: pkg.version,           // REQUIRED (or env SERVICE_VERSION)\n  logLevel: 'INFO',                      // Optional (default: 'INFO')\n  file: {\n    enabled: true,\n    directory: 'logs'\n    // maxSize + maxFiles: REQUIRED, no default in code. Both travel the same\n    // chain as the keys above — explicit config, then LOG_MAX_SIZE_BYTES /\n    // LOG_MAX_FILES. WHICH values the platform declares is an owner decision,\n    // recorded once in api/docs/governance/confirmations/log-file-bounds.md 001;\n    // a number repeated here would be a second copy of it.\n  },\n  rabbitmq: { url: 'amqp://...' }        // REQUIRED (or env RABBITMQ_URL)\n});\n```\n\n**`serviceName` and `serviceVersion` have no default, deliberately.** They are the\nidentity every record is attributed by: `meta.service` and, on the wire the\nmonitoring consumer reads, `resource_attributes['service.version']`. Until\n2026-09-08 a config omitting them was answered with `'unknown-infra-service'` and\n`'1.0.0'` — the second is the more expensive of the two, because a stamped\nversion is not a gap an operator notices in Loki, it is a wrong value they\nbelieve. Both keys follow this package's priority chain (`src/config.js`):\nexplicit config, then the environment; there is no third step, so a config with\nneither throws in the constructor, naming the key and the fix.\n\nEvery `file.*` key travels the same single chain — explicit config, then the\nenvironment, then this package's defaults (`src/config.js`) — and it is that chain\nwhich also gives the key its type, so `maxDays: '3'` reaches the sink as the number\n`3`. Nothing composes those values a second time afterwards.\n\n`logLevel` is genuinely optional, and its default (`INFO`) has exactly one owner:\n`DEFAULT_LOG_LEVEL` in `src/logger.js`. An invalid level — including an empty\nstring — is refused by the same validator that refuses one for `createLogger()`;\nthis constructor no longer repairs it into `INFO`.\n\n### The local file sink has two bounds, and both are declared\n\nRotation here is this package's own (no `winston-daily-rotate-file`), and it is\nbounded twice:\n\n| Key | Env | Unit | Bounds |\n|---|---|---|---|\n| `file.maxDays` | `LOG_MAX_DAYS` | days | how OLD a file may get — the value is owned by `src/defaults.js` (`fileMaxDays`) |\n| `file.maxSize` | `LOG_MAX_SIZE_BYTES` | bytes | how LARGE one file may get — **required, no default** |\n| `file.maxFiles` | `LOG_MAX_FILES` | files | how many files of one row are kept — **required, no default** |\n| `file.onFatal` | — | callback | WHO is told when the row can no longer be written — **required, no default** |\n\n`file.onFatal(err)` is the third required key and the only one no environment\nvariable can carry. A write that fails at RUNTIME — the disk fills, the directory\ngoes away under a rotation, the permissions change — used to switch the channel\noff after one warning, so a service that had asked for a file went on running and\nwrote none for the rest of the day. It now reports one ERROR on the library's end\nchannel and calls `onFatal` once, with an error carrying the path, the cause\n(`error.cause`) and the fix. The library does **not** end the process: that is the\nlifecycle owner's decision (`@onlineapps/service-wrapper` answers it with\n`_shutdownFatally`). Owner decision:\n`api/docs/governance/confirmations/logger-runtime-write-failure.md` 001.\n\nA file that reaches `maxSize` is not rewritten: the row continues in the next\npart, `app.<date>.1.log`, `app.<date>.2.log`, … while the day's first file keeps\nthe name it always had, `app.<date>.log`. `maxFiles` then bounds that row, oldest\npart deleted first — a size bound alone fills the disk exactly as fast, only in\nmany files instead of one.\n\n**Both bounds apply to that row and to nothing else.** A log directory belongs to\nnobody in particular — services share `LOG_DIRECTORY`, and an operator drops an\narchived file beside the live ones — so a `.log` this sink did not write is never\ndeleted by it, however old it is. Membership of the row is decided by the name\nthis sink writes: `app.<date>.log` and its parts, from `file.filename`.\n\n**Neither of the two size bounds has a default, deliberately.** How many bytes a\nlog file may occupy and how many of them a directory keeps are facts about the\nDISK the service runs on, which this library cannot know; a number invented here\nwould be the fallback `architecture-principles.md` §3 forbids. With file logging\nenabled and either key missing, the constructor throws, naming the key, the env\nvariable and the fix. The measured cost of having no size bound at all: hello\nservice wrote 2.4 GB of log in one day (d.383) — one such day fills a biz box,\nand the age bound would have removed it a day later at the earliest.\n\n**An enabled sink needs all five keys, and `TelemetryLogger` holds a default for\nnone of them.** `directory`, `filename` and `maxDays` do have owner defaults — in\n`src/defaults.js`, read through the one chain above — and both entry points\ndeliver them; what ended in d.509 is the SECOND copy of those three values inside\nthe logger, which bypassed the environment layer (a caller reaching it got `logs`\nhowever `LOG_DIRECTORY` was set). A config built by hand that omits one is now\ntold which key is missing and where it comes from.\n\n**A declared sink that cannot be opened stops the constructor.** An unwritable\ndirectory, or a `file.directory` that turns out to be a file, throws — naming the\npath, the underlying cause and the fix. Until d.509 the same situation printed one\nline on stdout and set `file.enabled = false`: a service that had ASKED for a\nlocal log ran without one, nothing on disk and nothing failing. Writing no files\nremains available as a decision, `file: { enabled: false }`, which opens nothing\nand raises nothing.\n\n### Workflow Tracking\n\n```javascript\n// The tracker is the instance's `workflow` property, a `WorkflowTracker`.\n\n// Start workflow\nmonitoring.workflow.start('wf-123', 'process-type', {\n  userId: '456',\n  source: 'api'\n});\n\n// Add workflow step\nmonitoring.workflow.step('wf-123', 'validation', {\n  status: 'success'\n});\n\n// End workflow\nmonitoring.workflow.end('wf-123', 'completed', {\n  recordsProcessed: 100\n});\n\n// Mark a workflow as failed\nmonitoring.workflow.error('wf-123', new Error('Database unreachable'), {\n  retryCount: 1\n});\n```\n\n### Metrics\n\n`createMetric(name, type, callback)` is the only metric method, and it returns\nthe meter's own instrument — so the instrument's own method records: `add` on a\ncounter, `record` on a histogram. `type` is `counter` (the default), `histogram`\nor `gauge`, **and nothing else**: an unrecognised type is refused by name, never\nanswered with a counter, so a typo cannot reach the monitoring database as a\nmetric the caller never meant.\n\nA `gauge` is an OpenTelemetry **observable** gauge: it holds no value of its own\nand reports whatever its callback observes when the reader collects. The\ncallback is therefore a required third argument — a gauge built without one is\ncollected on every tick and contributes no data point, forever, and the\ninstrument it hands back has neither `add` nor `record` to notice that through.\n\n```javascript\n// Counter\nconst counter = monitoring.createMetric('requests_total', 'counter');\ncounter.add(1, { endpoint: '/api/users' });\n\n// Histogram\nconst histogram = monitoring.createMetric('response_time', 'histogram');\nhistogram.record(235, { endpoint: '/api/users' });\n\n// Gauge — the callback is read on every collection, and its number is the value\nconst queueDepth = monitoring.createMetric('queue_depth', 'gauge',\n  (result) => result.observe(pending.length, { queue: 'metrics' }));\n// `queueDepth.removeCallback(fn)` retires it; there is nothing else to call.\n```\n\n#### Wire shape — what `value` is for each `metric_type`\n\nThe RabbitMQ metric exporter publishes ONE envelope per data point, with exactly\nthese fields: `timestamp`, `service_name`, `metric_name`, `metric_type`,\n`value`, `unit`, `attributes`, `resource`. **The exporter does not convert the\nvalue**: whatever the OpenTelemetry aggregation produced for that data point is\nwhat leaves the channel, serialized as JSON. So the shape of `value` is decided\nby the instrument, and it is a contract for every consumer of\n`telemetry.metrics.*`:\n\n| `metric_type` | instruments behind it | `value` on the wire |\n|---|---|---|\n| `counter` | `Counter`, `UpDownCounter` and their observable variants | a number — the `Sum` of the aggregation |\n| `gauge` | `Gauge`, `ObservableGauge` | a number — the `LastValue` of the aggregation |\n| `histogram` | `Histogram` | an OBJECT — the `Histogram` value type of `@opentelemetry/sdk-metrics` (`build/src/aggregator/types.d.ts`) |\n\nA histogram `value` therefore looks like this, and a consumer storing `value` as\na single number has to aggregate it itself — it never arrives pre-reduced:\n\n```json\n{\n  \"buckets\": { \"boundaries\": [0, 5, 10, 25], \"counts\": [0, 2, 0, 0, 1] },\n  \"sum\": 40,\n  \"count\": 3,\n  \"min\": 5,\n  \"max\": 30\n}\n```\n\n- `buckets.boundaries` are inclusive upper bounds, and `buckets.counts` always\n  has one member more than `boundaries` — the last one counts everything above\n  the top boundary.\n- `count` and `buckets` are always present. `sum`, `min` and `max` are declared\n  optional by the SDK: `min`/`max` are written only while the aggregation\n  records them (the default explicit-bucket aggregation does), and `sum` is\n  omitted for an instrument that allows negative values\n  (`build/src/aggregator/Histogram.js` § `toMetricData`). A member the SDK\n  leaves undefined does not reach the wire at all — `JSON.stringify` drops it.\n- `unit` is the instrument's unit, or an empty string when it declares none, and\n  `attributes` is `{}` when the measurement carried none. Both fields are always\n  present.\n- `timestamp` is the END of that data point's collection interval — the moment\n  the reader collected it (`DataPoint.endTime`) — as ISO 8601 with milliseconds.\n  It is therefore DIFFERENT in every export of one metric: a consumer keying on\n  `timestamp` gets one row per collection, and two collections never collide.\n  It is not the start of the interval: under the SDK's default CUMULATIVE\n  temporality `startTime` is a constant of the process, so a `timestamp` taken\n  from it would repeat for the life of the service.\n\nHeld by `tests/unit/metric-wire-shape-is-a-contract.test.js`, which drives a\nreal `MeterProvider` through this exporter and asserts the JSON that left the\nchannel, and by\n`tests/unit/d703-metric-timestamp-is-the-data-point-end.test.js`, which exports\nthe same counter, gauge and histogram twice and asserts that the two timestamps\ndiffer.\n\n## Testing\n\nThe factory pattern makes testing much easier:\n\n```javascript\ndescribe('MyService', () => {\n  let monitoring;\n\n  beforeEach(async () => {\n    // Fresh instance for each test\n    monitoring = await init({\n      serviceName: 'test-service',\n      mode: 'off' // No external connections\n    });\n  });\n\n  afterEach(async () => {\n    await monitoring.shutdown();\n  });\n\n  test('should log messages', () => {\n    monitoring.logger.info('Test message');\n    // No singleton state pollution\n  });\n});\n```\n\n## Environment Variables\n\n- `TELEMETRY_MODE` - Override configuration mode\n- `LOG_MAX_SIZE_BYTES` - Size in bytes at which the local log file is rotated.\n  REQUIRED wherever file logging is on; no default (see § The local file sink has\n  two bounds).\n- `LOG_MAX_FILES` - How many files of one log row the directory keeps. REQUIRED\n  wherever file logging is on; no default.\n- `SERVICE_INSTANCE_ID` - Which RUNNING COPY of the service this process is.\n  Reaches the OpenTelemetry resource as `service.instance.id` and travels on\n  every exported metric envelope, so two replicas of one service are two samples\n  rather than one overwritten twice. Composed from hostname and pid when not\n  declared; `HOSTNAME` is reported separately, as `host.name`.\n\n## Migration from Singleton\n\nIf you have old code using singleton pattern:\n\n```javascript\n// Old (singleton)\nconst monitoring = require('@onlineapps/monitoring-core');\nmonitoring.init({ serviceName: 'old-way' });\n\n// New (factory)\nconst { init } = require('@onlineapps/monitoring-core');\nconst monitoring = await init({ serviceName: 'new-way' });\n```\n\n## API Design Decisions\n\n### activeWorkflows Map Encapsulation\n\nThe `WorkflowTracker` class maintains an internal `activeWorkflows` Map for tracking currently running workflows. This is **intentionally NOT exposed directly** in the public API.\n\n**Why it's private:**\n- Internal implementation detail that may change\n- Direct access breaks encapsulation\n- Could lead to state inconsistencies if modified externally\n\n**Public API alternatives provided:**\n```javascript\n// Check if specific workflow is active\ntracker.isWorkflowActive(workflowId) // returns boolean\n\n// Get count of active workflows (for monitoring)\ntracker.getActiveWorkflowCount() // returns number\n\n// Get workflow info (read-only copy)\ntracker.getWorkflowInfo(workflowId) // returns object or null\n```\n\nThese methods provide controlled access for testing and monitoring without exposing internal state.\n\n## Performance Considerations\n\n- Use `mode: 'light'` for production (5MB overhead)\n- Use `mode: 'off'` for unit tests (0MB overhead)\n- Each instance has its own telemetry pipeline\n- Batching reduces network overhead\n\n## Tests\n\nTwo tiers, and the second one is not optional:\n\n```bash\nnpm run test:unit          # hermetic; amqplib is mocked\nnpm run test:integration   # the live broker; RABBITMQ_URL required, never skipped\nnpm test                   # both\nnpm run test:coverage      # the current numbers, from the runner\n```\n\nThe integration tier runs real `node` processes against `api_services_queuer`:\nit watches a service exit after `shutdown()`, watches a service with a broken\ntelemetry configuration refuse to boot at all, and reads back from the exchange\nthe metric and the span that an SDK export really produced. A missing\n`RABBITMQ_URL` or an unreachable broker aborts the run rather than skipping it —\na skipped suite reports green and leaves the regression loop unnoticed.\n\nCoverage figures and test counts are not written here. They are a fact about the\ncode on the day it is measured, nothing regenerates a number typed into this\npage, and the one that used to stand here (**45.26%**, \"77 passing tests\") had\ndrifted to roughly a third of the real suite before anybody noticed. Ask the\nrunner.\n\n## License\n\nMIT","readmeFilename":"README.md"}