{"_id":"@coralogix/opentelemetry","_rev":"12-6a01fc96e9ef6e87fbddfd515bc050bb","name":"@coralogix/opentelemetry","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@coralogix/opentelemetry","version":"0.1.0","_id":"@coralogix/opentelemetry@0.1.0","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"}],"dist":{"shasum":"37b8e4d8f7d30fd3d94f068d089d15e8cbeaa938","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.1.0.tgz","fileCount":8,"integrity":"sha512-f1GHh9jzT0bKRqCtA/A7tTEg0QHwnUDkQQsLaVe+i41k29BWI98l5SsBIxHbni63GiSTcJbmuKRrZoAfYaRGvw==","signatures":[{"sig":"MEYCIQCM6FlA5ac0HnEgY/+IrPcL5odeSLM3YRFCkCaCrSys5AIhAMf6J7548JsKkE5Y+lZ/yyzY5gRRXOoJiV/+EyhfNxx3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20399},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"919fcc6051d72b4de7a796300c8e53f148b7124b","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --loader tsx --test test/test.ts"},"_npmUser":{"name":"coralogixnpm","email":"npm@coralogix.com"},"_npmVersion":"9.8.1","description":"","directories":{},"_nodeVersion":"18.18.2","dependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^1.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@typescript-eslint/parser":"^6.9.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.1.0_1700652775102_0.8121463774672255","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@coralogix/opentelemetry","version":"0.1.1","_id":"@coralogix/opentelemetry@0.1.1","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"}],"dist":{"shasum":"af51d4b1e7f6325f0a6956bb5b69fc8324ddacba","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.1.1.tgz","fileCount":8,"integrity":"sha512-0Y6ulE2Yzit87N0sQGH8r9AiM79EtCEkHfd2EQ+wAj/UBFwrd6r4ruEGdWZwrwRsViF7C/UtcLHfhIeC8M1xTg==","signatures":[{"sig":"MEYCIQCDWTvJKSP5YSosGmvDAiUoDggkpBJurEBho6Quyur2nAIhAJKPDEH/z/aKv2YamJDLYqMXhIqoRHf59aQlPivN/s+6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21565},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"194c725a262bf6b1209dd3439fe987786e5864fb","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --loader tsx --test test/test.ts"},"_npmUser":{"name":"coralogixnpm","email":"npm@coralogix.com"},"_npmVersion":"9.8.1","description":"","directories":{},"_nodeVersion":"18.18.2","dependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^1.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@typescript-eslint/parser":"^6.9.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.1.1_1700671873272_0.98172707573208","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@coralogix/opentelemetry","version":"0.1.2","_id":"@coralogix/opentelemetry@0.1.2","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"}],"dist":{"shasum":"a9a251f898a4a55776a65a857d5d8c15f4c388d5","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.1.2.tgz","fileCount":8,"integrity":"sha512-3NRuJ7b2jyBHSEV8duXmhOO2cMqLgQzc28nr87AvHfkuQyasQSOz19KO5JWrmqZFbYrx8pl6nrnV2AKzrqWqzQ==","signatures":[{"sig":"MEUCIQCQlyaX8wR0WPuyBfVBoPHbAo4LXjIODTgIc7x00mgRGgIgDqqtyuVA/pujWH0DXINu2rmsRSuJj68EDRhrW5OelP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22857},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"8b973ea22cb6daabb5419d8c64177111ceb1fdfa","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --loader tsx --test test/test.ts"},"_npmUser":{"name":"coralogixnpm","email":"npm@coralogix.com"},"_npmVersion":"9.8.1","description":"","directories":{},"_nodeVersion":"18.18.2","dependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^1.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@typescript-eslint/parser":"^6.9.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.1.2_1701692382962_0.41783603315789053","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@coralogix/opentelemetry","version":"0.1.3","_id":"@coralogix/opentelemetry@0.1.3","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"}],"dist":{"shasum":"75cc8fe028f1a74fc8585025017bf7929bb1d8d5","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.1.3.tgz","fileCount":8,"integrity":"sha512-gYXZaXmxGxS4LrLb1b7MLYiRcxpMtYWeqjbuqeiwetvAxf+cLdVWu3FpiMMjBoBEXRXb4XHfVQWU12rgcVb8bA==","signatures":[{"sig":"MEQCIDAik8+7HO027O0UJJh39GKDjK0zIS9FFpm3eKhkzfHJAiAeeDy0y4c7RWQqMMBKheWrZsvu6Ut/7oq14QjRap2RJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34456},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"8ef906e02d74fc17825e7fe87decd554e85203fe","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --import tsx --test test/test.ts"},"_npmUser":{"name":"coralogixnpm","email":"npm@coralogix.com"},"_npmVersion":"10.7.0","description":"## Flows With Express To use coralogix flows with express you must use the `setExpressApp` function to make sure that the `coralogix sampler` understands your routes and endpoints.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^1.18.1","@opentelemetry/semantic-conventions":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@types/express":"^4.17.21","@typescript-eslint/parser":"^6.9.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.1.3_1722247331715_0.6363535360924599","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@coralogix/opentelemetry","version":"0.1.4","_id":"@coralogix/opentelemetry@0.1.4","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"},{"name":"cx-shaharkazaz","email":"shahar.kazaz@coralogix.com"}],"homepage":"https://github.com/coralogix/coralogix-opentelemetry-js#readme","bugs":{"url":"https://github.com/coralogix/coralogix-opentelemetry-js/issues"},"dist":{"shasum":"36380e55ac7b37b1e6df326a0c7f3b0ec5bd9af2","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.1.4.tgz","fileCount":8,"integrity":"sha512-Z7WLdR0h4k7FHJH/2fW62axbskUAPMemJ9ygsp1DFwYFqKViAJx6s6DAHCZKKgYVOeNeRcDqAJ9AZBl5WXqZAA==","signatures":[{"sig":"MEYCIQCpcBJ/OhTxxvc1aKDUrJF3olPcK0rnhdjeUVizMeMpxQIhAMeP2xz40k1GDHuEOTxZH4FfznZJDMkGsh19Htvqxbeg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coralogix%2fopentelemetry@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39932},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"2f3ca25ce99d60170734c8d22290b1e5bb60a02d","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --import tsx --test test/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41f99f14-50e3-4804-a422-86996de8fd71"}},"repository":{"url":"git+https://github.com/coralogix/coralogix-opentelemetry-js.git","type":"git"},"_npmVersion":"11.13.0","description":"Coralogix Node module which extends the existing functionality of [OpenTelemetry Node SDK](https://github.com/open-telemetry/opentelemetry-js).","directories":{},"_nodeVersion":"24.17.0","dependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^1.18.1","@opentelemetry/semantic-conventions":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@types/express":"^4.17.21","@typescript-eslint/parser":"^6.9.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.1.4_1782475638369_0.05047292458752195","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@coralogix/opentelemetry","version":"0.2.0","_id":"@coralogix/opentelemetry@0.2.0","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"},{"name":"ashley-hunter-cx","email":"ashley.hunter@coralogix.com"},{"name":"cx-shaharkazaz","email":"shahar.kazaz@coralogix.com"}],"homepage":"https://github.com/coralogix/coralogix-opentelemetry-js#readme","bugs":{"url":"https://github.com/coralogix/coralogix-opentelemetry-js/issues"},"dist":{"shasum":"90068fb8417f88882d5844622ad8f9155b55186f","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.2.0.tgz","fileCount":8,"integrity":"sha512-AIv1q+DByxZ3gZrRjpa5Zll0kx0Q2euN/v1VFVekKnz/SmS7MAgwffHHg7sS1ZsQKT1wJGMTUs4ykL7cOWXI2A==","signatures":[{"sig":"MEUCIHycQLYUlaE+5lnwNm9o2AzMrpvsCJv8iYN1frqjf3hPAiEAyrS6jwTBuF7NLeR/HmcGgkw3F9HSrNOzH8qth7b+Zug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coralogix%2fopentelemetry@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39931},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"6fabc48d75fc9c6872995a31f900dccd04431cd1","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --import tsx --test test/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41f99f14-50e3-4804-a422-86996de8fd71"}},"repository":{"url":"git+https://github.com/coralogix/coralogix-opentelemetry-js.git","type":"git"},"_npmVersion":"11.13.0","description":"Coralogix Node module which extends the existing functionality of [OpenTelemetry Node SDK](https://github.com/open-telemetry/opentelemetry-js).","directories":{},"_nodeVersion":"24.17.0","dependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^2.8.0","@opentelemetry/semantic-conventions":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@types/express":"^4.17.21","@typescript-eslint/parser":"^6.9.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.2.0_1782816528614_0.8014730189784851","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@coralogix/opentelemetry","version":"0.2.1","_id":"@coralogix/opentelemetry@0.2.1","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"},{"name":"ashley-hunter-cx","email":"ashley.hunter@coralogix.com"},{"name":"cx-shaharkazaz","email":"shahar.kazaz@coralogix.com"}],"homepage":"https://github.com/coralogix/coralogix-opentelemetry-js#readme","bugs":{"url":"https://github.com/coralogix/coralogix-opentelemetry-js/issues"},"dist":{"shasum":"6ac7dad9e9fd9ddb3b50542fce33e5fa0811fa47","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.2.1.tgz","fileCount":8,"integrity":"sha512-psn5C/hH38pspdXk6H2Df0dJgtCl9Jg7QiGe47d1HRHDxgFTc6N0XEQw/ActdS4mIIX1q8SiNDsU9y3mPKKeag==","signatures":[{"sig":"MEQCIGTVTsgRT8oTTpp0dlFcvJ+2FTKJwIIGTOZ4bKE7Kh7HAiBq7Alb7rraClQXI5v4BxEf8JI3tFGGERQ3mav4icmFEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coralogix%2fopentelemetry@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41200},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"9361ea033260646be5703ffa18b174805bd71b3f","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --import tsx --test test/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41f99f14-50e3-4804-a422-86996de8fd71"}},"repository":{"url":"git+https://github.com/coralogix/coralogix-opentelemetry-js.git","type":"git"},"_npmVersion":"11.13.0","description":"Coralogix Node module which extends the existing functionality of [OpenTelemetry Node SDK](https://github.com/open-telemetry/opentelemetry-js).","directories":{},"_nodeVersion":"24.17.0","dependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^2.8.0","@opentelemetry/semantic-conventions":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@types/express":"^4.17.21","@typescript-eslint/parser":"^6.9.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.2.1_1782916372422_0.9514087756975835","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@coralogix/opentelemetry","version":"0.3.0","_id":"@coralogix/opentelemetry@0.3.0","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"},{"name":"ashley-hunter-cx","email":"ashley.hunter@coralogix.com"},{"name":"cx-shaharkazaz","email":"shahar.kazaz@coralogix.com"}],"homepage":"https://github.com/coralogix/coralogix-opentelemetry-js#readme","bugs":{"url":"https://github.com/coralogix/coralogix-opentelemetry-js/issues"},"dist":{"shasum":"885751d40d011c76b06ab0623afdb0ae219961e6","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.3.0.tgz","fileCount":8,"integrity":"sha512-0Niv+Yu9FsirzQPUTasY+gMjAIu7fPfjn/XmZWaxcXxvcy78zHFJ5GVgGdZF1wlMAuOP9vtVCRLzNIL0kBrolQ==","signatures":[{"sig":"MEUCIQDgEtHIOFlRbMpDgWRdQqrh1eDKjDuhkH69zHFiT7dDCAIgInBQeUIUU5Fp5qCJNftQuvKj+d65DD8nUyfT7wMEeg4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coralogix%2fopentelemetry@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41839},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"44767271513720deee573e132ecb96d07fb14639","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --import tsx --test test/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41f99f14-50e3-4804-a422-86996de8fd71"}},"repository":{"url":"git+https://github.com/coralogix/coralogix-opentelemetry-js.git","type":"git"},"_npmVersion":"11.16.0","description":"Coralogix Node module which extends the existing functionality of [OpenTelemetry Node SDK](https://github.com/open-telemetry/opentelemetry-js).","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@opentelemetry/semantic-conventions":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@types/express":"^4.17.21","@opentelemetry/api":"^1.7.0","@typescript-eslint/parser":"^6.9.0","@opentelemetry/sdk-trace-base":"^2.8.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"peerDependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.3.0_1783426381231_0.5459081235471559","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@coralogix/opentelemetry","version":"0.4.0","license":"Apache-2.0","_id":"@coralogix/opentelemetry@0.4.0","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"},{"name":"ashley-hunter-cx","email":"ashley.hunter@coralogix.com"},{"name":"cx-shaharkazaz","email":"shahar.kazaz@coralogix.com"}],"homepage":"https://github.com/coralogix/coralogix-opentelemetry-js#readme","bugs":{"url":"https://github.com/coralogix/coralogix-opentelemetry-js/issues"},"dist":{"shasum":"4572d061368773433d029ca074a209baf01fb0a7","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.4.0.tgz","fileCount":9,"integrity":"sha512-nhgLvvtMpxfXkVrxNGbI4BmEOWllqA9SSzjWB5E98wuvqyGSu8zsa0JuaiVSFsw6+hRbXmw4rkNf3BNDgQF5Gg==","signatures":[{"sig":"MEUCIA+OAgHeHMsXr434hMkvbiiSmjDLZgJ35Afl2rcvAAOpAiEA/QKH38+OWAKWUZxgmx/xxcu1NabVdCyK2j8+rr6SqHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coralogix%2fopentelemetry@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88078},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"a02c4600b5e247ec8d2cff625f10ca047b565ac2","scripts":{"lint":"eslint . --ext .ts","test":"tsc && npm run lint && npm run test:unit","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts","lint:fix":"npm run lint -- --fix","test:unit":"node --import tsx --test test/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41f99f14-50e3-4804-a422-86996de8fd71"}},"repository":{"url":"git+https://github.com/coralogix/coralogix-opentelemetry-js.git","type":"git"},"_npmVersion":"11.16.0","description":"Coralogix extensions for the OpenTelemetry Node SDK, including a transaction sampler for Coralogix APM.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@opentelemetry/semantic-conventions":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","tsup":"^7.2.0","husky":"^8.0.3","eslint":"^8.52.0","lodash":"^4.17.21","express":"^5.2.1","express4":"npm:express@^4.22.2","typescript":"^5.2.2","@types/node":"^20.8.8","@types/lodash":"^4.14.201","@types/express":"^4.17.21","@opentelemetry/api":"^1.7.0","@typescript-eslint/parser":"^6.9.0","@opentelemetry/sdk-trace-base":"^2.8.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"peerDependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/opentelemetry_0.4.0_1783515413933_0.8743026773999736","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@coralogix/opentelemetry","version":"0.5.0","license":"Apache-2.0","description":"Coralogix extensions for the OpenTelemetry Node SDK, including a transaction sampler for Coralogix APM.","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/coralogix/coralogix-opentelemetry-js.git"},"scripts":{"test":"tsc && npm run lint && npm run test:unit","test:unit":"node --import tsx --test test/test.ts","lint":"eslint . --ext .ts","lint:fix":"npm run lint -- --fix","build":"tsup src/index.ts --format cjs,esm --clean --sourcemap --dts"},"dependencies":{"@opentelemetry/semantic-conventions":"^1.25.1"},"peerDependencies":{"@opentelemetry/api":"^1.7.0","@opentelemetry/sdk-trace-base":"^2.8.0"},"devDependencies":{"@grpc/grpc-js":"^1.14.4","@opentelemetry/api":"^1.7.0","@opentelemetry/core":"^2.8.0","@opentelemetry/exporter-metrics-otlp-grpc":"^0.208.0","@opentelemetry/exporter-trace-otlp-grpc":"^0.208.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-base":"^2.8.0","@types/express":"^4.17.21","@types/lodash":"^4.14.201","@types/node":"^20.8.8","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","eslint":"^8.52.0","express":"^5.2.1","express4":"npm:express@^4.22.2","husky":"^8.0.3","lodash":"^4.17.21","tsup":"^7.2.0","tsx":"^4.16.2","typescript":"^5.2.2"},"gitHead":"bc7c910e185f0fe2dc0d26bdaaf9be76bfbe4436","_id":"@coralogix/opentelemetry@0.5.0","bugs":{"url":"https://github.com/coralogix/coralogix-opentelemetry-js/issues"},"homepage":"https://github.com/coralogix/coralogix-opentelemetry-js#readme","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-ebT61dDKXJth/G2CGQWrxqA+QycgniNTgrsUr1hq11UISoCjURrzkVxAbt0S25xARBB8/RKrI3GYPG0ZimPGUg==","shasum":"3c2df754119c42c9df1a62b8821a2a85617ec325","tarball":"https://registry.npmjs.org/@coralogix/opentelemetry/-/opentelemetry-0.5.0.tgz","fileCount":9,"unpackedSize":363037,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coralogix%2fopentelemetry@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDCiRIChvQx1EY5SGrm7brc/Hb3wxoYcHkB6OT7ld1nVgIgUG7pssIQJ7qNBdGnvVPYwV6MHYrHRZHWh7iKyf3cTnY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41f99f14-50e3-4804-a422-86996de8fd71"}},"directories":{},"maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"},{"name":"ashley-hunter-cx","email":"ashley.hunter@coralogix.com"},{"name":"cx-shaharkazaz","email":"shahar.kazaz@coralogix.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opentelemetry_0.5.0_1787750144838_0.6142505892505714"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-22T11:32:54.969Z","modified":"2026-08-26T13:15:45.555Z","0.1.0":"2023-11-22T11:32:55.296Z","0.1.1":"2023-11-22T16:51:13.449Z","0.1.2":"2023-12-04T12:19:43.278Z","0.1.3":"2024-07-29T10:02:11.867Z","0.1.4":"2026-06-26T12:07:18.506Z","0.2.0":"2026-06-30T10:48:48.795Z","0.2.1":"2026-07-01T14:32:52.551Z","0.3.0":"2026-07-07T12:13:01.375Z","0.4.0":"2026-07-08T12:56:54.083Z","0.5.0":"2026-08-26T13:15:45.200Z"},"bugs":{"url":"https://github.com/coralogix/coralogix-opentelemetry-js/issues"},"license":"Apache-2.0","homepage":"https://github.com/coralogix/coralogix-opentelemetry-js#readme","repository":{"type":"git","url":"git+https://github.com/coralogix/coralogix-opentelemetry-js.git"},"description":"Coralogix extensions for the OpenTelemetry Node SDK, including a transaction sampler for Coralogix APM.","maintainers":[{"name":"coralogixnpm","email":"npm@coralogix.com"},{"name":"ashley-hunter-cx","email":"ashley.hunter@coralogix.com"},{"name":"cx-shaharkazaz","email":"shahar.kazaz@coralogix.com"}],"readme":"# coralogix-opentelemetry-js\n\n[![npm version](https://img.shields.io/npm/v/@coralogix/opentelemetry.svg)](https://www.npmjs.com/package/@coralogix/opentelemetry)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)\n\nCoralogix extensions for the [OpenTelemetry Node SDK](https://github.com/open-telemetry/opentelemetry-js). This package adds Coralogix-specific behavior on top of a standard OpenTelemetry tracing setup — transaction tagging via a sampler and/or a `SpanProcessor`, including exclusive self duration on the processor path.\n\n```bash\nnpm install --save @coralogix/opentelemetry\n```\n\n## Requirements\n\nThis package relies on your application's existing OpenTelemetry setup. The following are `peerDependencies` and must be installed alongside it:\n\n| Package | Version |\n| --- | --- |\n| `@opentelemetry/api` | `^1.7.0` |\n| `@opentelemetry/sdk-trace-base` | `^2.8.0` |\n\nThe examples below also use `@opentelemetry/resources` and `@opentelemetry/semantic-conventions`, which are part of a typical OpenTelemetry Node setup.\n\n> **Note:** This package targets OpenTelemetry JS SDK **2.x**. The resource/provider APIs shown below (`resourceFromAttributes`, `ATTR_SERVICE_NAME`) are the 2.x APIs; if you are still on SDK 1.x, adapt the setup accordingly (`new Resource(...)`, `SemanticResourceAttributes`).\n\n## CoralogixTransactionSampler\n\n`CoralogixTransactionSampler` wraps an existing OpenTelemetry sampler to define, report, and monitor Coralogix [transactions](https://coralogix.com/docs/user-guides/apm/features/transactions/). It sets Coralogix transaction attributes on sampled spans and propagates the transaction identity across the trace.\n\n```js\nimport { CoralogixTransactionSampler } from \"@coralogix/opentelemetry\";\nimport { AlwaysOnSampler } from \"@opentelemetry/sdk-trace-base\";\n\n// Wrap your existing sampler...\nconst sampler = new CoralogixTransactionSampler(new AlwaysOnSampler());\n\n// ...or omit the argument to default to a ParentBased(AlwaysOn) sampler.\nconst defaultSampler = new CoralogixTransactionSampler();\n```\n\nPass the sampler to your tracer provider like any other OpenTelemetry sampler:\n\n```js\nimport { BasicTracerProvider } from \"@opentelemetry/sdk-trace-base\";\nimport { resourceFromAttributes } from \"@opentelemetry/resources\";\nimport { ATTR_SERVICE_NAME } from \"@opentelemetry/semantic-conventions\";\n\nconst tracerProvider = new BasicTracerProvider({\n    resource: resourceFromAttributes({\n        [ATTR_SERVICE_NAME]: \"<your-service-name>\",\n    }),\n    sampler: new CoralogixTransactionSampler(),\n});\n```\n\n### Supported instrumentation\n\nIt works with [individual auto-instrumentation](https://coralogix.com/docs/opentelemetry/instrumentation-options/nodejs-opentelemetry-instrumentation/#individual-auto-instrumentation) and [manual instrumentation](https://coralogix.com/docs/opentelemetry/instrumentation-options/nodejs-opentelemetry-instrumentation/#manual-instrumentation). The bundled auto-instrumentation method is **not** supported.\n\n### Emitted attributes\n\nWhen a span starts a transaction, the sampler adds the following attributes:\n\n| Attribute | Description |\n| --- | --- |\n| `cgx.transaction` | The transaction name (e.g. `GET /users/:id`). |\n| `cgx.transaction.distributed` | The distributed transaction name propagated across services. |\n| `cgx.transaction.root` | Whether this span is the root of the transaction. |\n\n## TransactionSpanProcessor\n\n`TransactionSpanProcessor` wraps a `SpanExporter` to tag Coralogix transactions, stamp exclusive self duration (`cgx.transaction.self_duration`, seconds) on completed local traces, and record the matching histogram (unit `s`). It works with any sampler.\n\n### How naming works\n\nTransaction **membership** (new vs inherit, and `cgx.transaction.root`) is decided on span start. The display name `cgx.transaction` is stamped only when a completed local trace is finalized for export, using `overrideName ?? rootSpan.name`. That matters for Express: the HTTP span often starts as `GET` and is later renamed to `GET /myroute` by middleware — the exported transaction name is the final root span name.\n\n### Harvest defaults (data loss)\n\nBy default the processor keeps only the **slowest** completed local trace(s) for each harvest window:\n\n| Behavior | Default |\n| --- | --- |\n| Spans kept per local trace | `maxNodes: 256` (slowest first; transaction roots always kept) |\n| Traces kept until harvest | `maxRegularTraces: 1` |\n| Harvest period | `harvestPeriodMillis: 60_000` (60s) |\n\n**Data-loss implication:** with `maxRegularTraces: 1`, every completed local trace that is *not* the slowest in the current harvest window is **not** exported as a full waterfall. Losers are reduced to **root-only stubs** (APM presence) and dropped from the detailed export. Self-duration **metrics** are still recorded for every completed local trace, including losers.\n\nSet `maxRegularTraces: 0` to export every completed trimmed trace immediately (no harvest competition). Setting `harvestPeriodMillis: 0` also disables the heap and exports immediately.\n\n```js\nimport { BasicTracerProvider, ConsoleSpanExporter } from \"@opentelemetry/sdk-trace-base\";\nimport { TransactionSpanProcessor } from \"@coralogix/opentelemetry\";\n\nconst tracerProvider = new BasicTracerProvider({\n    spanProcessors: [\n        new TransactionSpanProcessor(new ConsoleSpanExporter(), {\n            // Optional MeterProvider for the self-duration histogram; defaults to the global one.\n            // maxRegularTraces: 0, // export all completed traces (tests / debugging)\n        }),\n    ],\n});\n```\n\n### Options\n\nConstructor options win over environment variables. Invalid env values fall back to the default.\n\n| Option | Type | Default | Env var | Meaning |\n| --- | --- | --- | --- | --- |\n| `maxNodes` | `number` | `256` | `OTEL_CX_TRANSACTION_MAX_NODES` | Max spans kept per completed local trace (slowest first; roots always kept). |\n| `maxRegularTraces` | `number` | `1` | `OTEL_CX_TRANSACTION_MAX_REGULAR_TRACES` | Max full traces retained until harvest (slowest-N). `0` = export every completed trimmed trace immediately. Losers become root stubs. |\n| `harvestPeriodMillis` | `number` | `60000` | `OTEL_CX_TRANSACTION_HARVEST_PERIOD_MILLIS` | Harvest flush interval. `<= 0` exports every completed trace immediately (no heap). |\n| `completionHoldbackMillis` | `number` | `100` | `OTEL_CX_TRANSACTION_COMPLETION_HOLDBACK_MILLIS` | After the last live span ends, wait this long before finalize so late siblings can join. `0` = finalize immediately. |\n| `shutdownIdleWaitMillis` | `number` | `30000` | — | How long shutdown waits for in-flight spans. |\n| `meterProvider` | `MeterProvider` | global | — | MeterProvider for the self-duration histogram. |\n\n## Transactions with Express\n\nTo resolve stable, low-cardinality transaction names for Express routes (e.g. `GET /users/:id` instead of a per-request path), call `setExpressApp` so the sampler can learn your app's routes and endpoints.\n\n> **Important:** Call `setExpressApp` **after all routes and routers have been registered**. The sampler reads the Express router stack at the moment you call it, so any routes added afterwards will not be resolved.\n\n```javascript\nimport { BasicTracerProvider } from \"@opentelemetry/sdk-trace-base\";\nimport { resourceFromAttributes } from \"@opentelemetry/resources\";\nimport { ATTR_SERVICE_NAME } from \"@opentelemetry/semantic-conventions\";\nimport { CoralogixTransactionSampler } from \"@coralogix/opentelemetry\";\nimport express from \"express\";\nimport router from \"./router\";\n\nconst sampler = new CoralogixTransactionSampler();\n\nconst tracerProvider = new BasicTracerProvider({\n    resource: resourceFromAttributes({\n        [ATTR_SERVICE_NAME]: \"<your-service-name>\",\n    }),\n    sampler,\n});\n\nconst app = express();\napp.use(\"/\", router);\n\n// Register routes first, then hand the app to the sampler.\nsampler.setExpressApp(app);\n\napp.listen(3000, () => {\n    console.log(\"Server is running\");\n});\n```\n\n### Prefixed and nested routers\n\n`setExpressApp` resolves the **full** route template, including mount prefixes and arbitrarily nested routers. For example, given:\n\n```javascript\nconst orders = express.Router();\norders.get(\"/orders/:oid\", handler);\n\nconst api = express.Router();\napi.use(\"/deep\", orders);\n\napp.use(\"/api\", api);\n```\n\na request to `/api/deep/orders/9` resolves to the transaction `GET /api/deep/orders/:oid`.\n\n### Express version support\n\nBoth **Express 4** and **Express 5** are supported.\n\nParameters are templatized correctly on both versions, including a parameter used in a *mount prefix* (`app.use(\"/v/:ver\", router)`): a request to `/v/2/things/abc` resolves to `GET /v/:ver/things/:t`.\n\n## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md) for release notes. Note that route-template resolution for prefixed and nested routers is a **breaking output change**: transaction names for affected apps change, so update any dashboards, alerts, or saved views keyed on the previous names.\n\n## License\n\nLicensed under the [Apache License 2.0](./LICENSE).\n","readmeFilename":"README.md"}