{"_id":"@camino-tec/otel-sdk","_rev":"8-b3006c7e50c04e177951012ca91d6fbc","name":"@camino-tec/otel-sdk","dist-tags":{"latest":"1.6.1"},"versions":{"1.2.0":{"name":"@camino-tec/otel-sdk","version":"1.2.0","keywords":["opentelemetry","observability","tracing","metrics","otel"],"author":{"name":"Camino Tec"},"license":"UNLICENSED","_id":"@camino-tec/otel-sdk@1.2.0","maintainers":[{"name":"caminotec","email":"dev@caminotec.com.br"}],"homepage":"https://github.com/camino-tec/otel-sdk#readme","bugs":{"url":"https://github.com/camino-tec/otel-sdk/issues"},"dist":{"shasum":"7a224caf7a75381662b69ddd076224a9d37e1902","tarball":"https://registry.npmjs.org/@camino-tec/otel-sdk/-/otel-sdk-1.2.0.tgz","fileCount":5,"integrity":"sha512-5N/xvCMKpwZC1JC22+UmOsepc3umWxzMW1E66D4AbFBA2xxO9UiCvum7ZENcsS3fEPGZ35YSHWNvczxOmioerg==","signatures":[{"sig":"MEUCIQCsl+RA3XPF4k6Ro6OHTGTK4siKFHOm9nZOU8WaBBfeHgIgQ08bXMjBpIo5FFDzuKgKVtyyTiTxxco5RaIbDPFIVok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8270},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7ec23999dea5416ef01158f6e4351b54d5a703f0","scripts":{"build":"tsc","clean":"rm -rf dist","release":"semantic-release","prepublishOnly":"npm run build"},"_npmUser":{"name":"caminotec","email":"dev@caminotec.com.br"},"repository":{"url":"git+https://github.com/camino-tec/otel-sdk.git","type":"git"},"_npmVersion":"11.7.0","description":"SDK genérico de observabilidade OpenTelemetry para aplicações Node.js","directories":{},"_nodeVersion":"24.12.0","dependencies":{"typescript":"^5.0.0","semantic-release":"^25.0.2","@opentelemetry/api":"^1.9.0","@semantic-release/git":"^10.0.1","@opentelemetry/sdk-node":"^0.208.0","@opentelemetry/resources":"^2.2.0","@semantic-release/github":"^12.0.2","@opentelemetry/sdk-metrics":"^2.2.0","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@opentelemetry/exporter-trace-otlp-proto":"^0.208.0","@opentelemetry/auto-instrumentations-node":"^0.67.2","@opentelemetry/exporter-metrics-otlp-grpc":"^0.208.0","@semantic-release/release-notes-generator":"^14.1.0","conventional-changelog-conventionalcommits":"^9.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/otel-sdk_1.2.0_1766502036409_0.6556634663361607","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@camino-tec/otel-sdk","version":"1.3.0","keywords":["opentelemetry","observability","tracing","metrics","otel"],"author":{"name":"Camino Tec"},"license":"UNLICENSED","_id":"@camino-tec/otel-sdk@1.3.0","maintainers":[{"name":"caminotec","email":"dev@caminotec.com.br"}],"homepage":"https://github.com/camino-tec/otel-sdk#readme","bugs":{"url":"https://github.com/camino-tec/otel-sdk/issues"},"dist":{"shasum":"b653b1248134dc74f90ec391893bec8df641c5c3","tarball":"https://registry.npmjs.org/@camino-tec/otel-sdk/-/otel-sdk-1.3.0.tgz","fileCount":8,"integrity":"sha512-yxLm8TDapoLsuV2nyvjM6c0RUZcy7GNrw7jRNXHIj+XxL93XZ1Hz/HP+1W9ZRr+rrdf8imSBiwvcuci2EL9QyQ==","signatures":[{"sig":"MEQCICVfDsU55uilZ6xupFTthyGm0t1Xd/skdJHWAOfTWI7WAiAKEy8i+PCD3zyfXLQlyuFHdi/0HtH4xgCKXIH34kqxKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14207},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c5033aa2d56c0b55b3404e4819b071f2168c3305","scripts":{"build":"tsc","clean":"rm -rf dist","release":"semantic-release","prepublishOnly":"npm run build"},"_npmUser":{"name":"caminotec","email":"dev@caminotec.com.br"},"repository":{"url":"git+https://github.com/camino-tec/otel-sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"SDK genérico de observabilidade OpenTelemetry para aplicações Node.js","directories":{},"_nodeVersion":"24.14.1","dependencies":{"typescript":"^5.0.0","semantic-release":"^25.0.2","@opentelemetry/api":"^1.9.0","@semantic-release/git":"^10.0.1","@opentelemetry/api-logs":"^0.216.0","@opentelemetry/sdk-node":"^0.208.0","@opentelemetry/resources":"^2.2.0","@semantic-release/github":"^12.0.2","@opentelemetry/sdk-metrics":"^2.2.0","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-proto":"^0.208.0","@opentelemetry/auto-instrumentations-node":"^0.67.2","@opentelemetry/exporter-metrics-otlp-grpc":"^0.208.0","@semantic-release/release-notes-generator":"^14.1.0","conventional-changelog-conventionalcommits":"^9.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/otel-sdk_1.3.0_1777638082671_0.5849427580813622","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@camino-tec/otel-sdk","version":"1.4.0","keywords":["opentelemetry","observability","tracing","metrics","otel"],"author":{"name":"Camino Tec"},"license":"UNLICENSED","_id":"@camino-tec/otel-sdk@1.4.0","maintainers":[{"name":"caminotec","email":"dev@caminotec.com.br"}],"homepage":"https://github.com/camino-tec/otel-sdk#readme","bugs":{"url":"https://github.com/camino-tec/otel-sdk/issues"},"dist":{"shasum":"d6725a8c43340b54436f51eb791e68a9965be91c","tarball":"https://registry.npmjs.org/@camino-tec/otel-sdk/-/otel-sdk-1.4.0.tgz","fileCount":8,"integrity":"sha512-fWil3yBy4Bp7cGD0mBqquDIcENiYqeEpiQTc+58sPiVmsQbjhC2ZqPHPXw4b/4uME22XqjK8v2MFY0p+XmfYGA==","signatures":[{"sig":"MEQCIEpQLHHNqIWEvxK6vGFPMGInRUzlrWHJyH+M4vjshc39AiAuuewqyYrtAucLooYWaRejBFyu3UjjPcNfUKAdah4yOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15755},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"03f707fef68a75552c35c8137307639e047a66f8","scripts":{"build":"tsc","clean":"rm -rf dist","release":"semantic-release","prepublishOnly":"npm run build"},"_npmUser":{"name":"caminotec","email":"dev@caminotec.com.br"},"repository":{"url":"git+https://github.com/camino-tec/otel-sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"SDK genérico de observabilidade OpenTelemetry para aplicações Node.js","directories":{},"_nodeVersion":"24.14.1","dependencies":{"typescript":"^5.0.0","semantic-release":"^25.0.2","@opentelemetry/api":"^1.9.0","@semantic-release/git":"^10.0.1","@opentelemetry/api-logs":"^0.216.0","@opentelemetry/sdk-logs":"^0.208.0","@opentelemetry/sdk-node":"^0.208.0","@opentelemetry/resources":"^2.2.0","@semantic-release/github":"^12.0.2","@opentelemetry/sdk-metrics":"^2.2.0","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-logs-otlp-proto":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.208.0","@opentelemetry/auto-instrumentations-node":"^0.67.2","@opentelemetry/exporter-metrics-otlp-grpc":"^0.208.0","@semantic-release/release-notes-generator":"^14.1.0","conventional-changelog-conventionalcommits":"^9.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/otel-sdk_1.4.0_1777638943201_0.7774225074959582","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@camino-tec/otel-sdk","version":"1.5.0","keywords":["opentelemetry","observability","tracing","metrics","otel"],"author":{"name":"Camino Tec"},"license":"UNLICENSED","_id":"@camino-tec/otel-sdk@1.5.0","maintainers":[{"name":"caminotec","email":"dev@caminotec.com.br"}],"homepage":"https://github.com/camino-tec/otel-sdk#readme","bugs":{"url":"https://github.com/camino-tec/otel-sdk/issues"},"dist":{"shasum":"3c657b97b3453c15a7c92f9c7fe9f38109d1f448","tarball":"https://registry.npmjs.org/@camino-tec/otel-sdk/-/otel-sdk-1.5.0.tgz","fileCount":10,"integrity":"sha512-r8YgKhNMNJ+eKBpaado2yi+KScm5mqZfsziLmSux8roBdJ3acJrv4uX7H9ZZDx7NStgsa7CCUTw6NICjYf8kXQ==","signatures":[{"sig":"MEUCIG/lbPI6ZNIQJjvnBffdL/bvhlO9pb5OdpThsaWB9HMKAiEAgYpYTFxF8LqlUkoaE+A+DPCWalaxeDhGRKL6p8Ob+po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19379},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"de70c76e2e125e8875bf64a7f42643dfc393ddc0","scripts":{"build":"tsc","clean":"rm -rf dist","release":"semantic-release","prepublishOnly":"npm run build"},"_npmUser":{"name":"caminotec","email":"dev@caminotec.com.br"},"repository":{"url":"git+https://github.com/camino-tec/otel-sdk.git","type":"git"},"_npmVersion":"11.14.0","description":"SDK genérico de observabilidade OpenTelemetry para aplicações Node.js","directories":{},"_nodeVersion":"24.14.1","dependencies":{"typescript":"^5.0.0","semantic-release":"^25.0.2","@opentelemetry/api":"^1.9.0","@semantic-release/git":"^10.0.1","@opentelemetry/api-logs":"^0.216.0","@opentelemetry/sdk-logs":"^0.208.0","@opentelemetry/sdk-node":"^0.208.0","@opentelemetry/resources":"^2.2.0","@semantic-release/github":"^12.0.2","@opentelemetry/sdk-metrics":"^2.2.0","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-logs-otlp-proto":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.208.0","@opentelemetry/auto-instrumentations-node":"^0.67.2","@opentelemetry/exporter-metrics-otlp-grpc":"^0.208.0","@semantic-release/release-notes-generator":"^14.1.0","conventional-changelog-conventionalcommits":"^9.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/otel-sdk_1.5.0_1778100128584_0.5390887944019327","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@camino-tec/otel-sdk","version":"1.6.0","keywords":["opentelemetry","observability","tracing","metrics","otel"],"author":{"name":"Camino Tec"},"license":"UNLICENSED","_id":"@camino-tec/otel-sdk@1.6.0","maintainers":[{"name":"caminotec","email":"dev@caminotec.com.br"}],"homepage":"https://github.com/camino-tec/otel-sdk#readme","bugs":{"url":"https://github.com/camino-tec/otel-sdk/issues"},"dist":{"shasum":"3e45969f80bd2b745d26394cbc50cd28bb6a1424","tarball":"https://registry.npmjs.org/@camino-tec/otel-sdk/-/otel-sdk-1.6.0.tgz","fileCount":10,"integrity":"sha512-BgHx7ZmWne1tjLVWb+SIIw1+lvVe/7/gIBJ02kTSKz8p66UooRB3QyttfTqhvFRVmsK2EMpHzZuBhSC9IF9kZw==","signatures":[{"sig":"MEYCIQDTZB+uk/l/ZmUVu2i+ZpCHT0yls/9OTIdMEx3StqEVBAIhAJACMXGig5uTe2c3fqfukP2gBKTyoX72ShYIksfqGv4G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19638},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"79b700dc28ebb492d0fce64e9b5f63534277dee5","scripts":{"build":"tsc","clean":"rm -rf dist","release":"semantic-release","prepublishOnly":"npm run build"},"_npmUser":{"name":"caminotec","email":"dev@caminotec.com.br"},"repository":{"url":"git+https://github.com/camino-tec/otel-sdk.git","type":"git"},"_npmVersion":"11.14.0","description":"SDK genérico de observabilidade OpenTelemetry para aplicações Node.js","directories":{},"_nodeVersion":"24.14.1","dependencies":{"typescript":"^5.0.0","semantic-release":"^25.0.2","@opentelemetry/api":"^1.9.0","@semantic-release/git":"^10.0.1","@opentelemetry/api-logs":"^0.216.0","@opentelemetry/sdk-logs":"^0.208.0","@opentelemetry/sdk-node":"^0.208.0","@opentelemetry/resources":"^2.2.0","@semantic-release/github":"^12.0.2","@opentelemetry/sdk-metrics":"^2.2.0","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-logs-otlp-proto":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.208.0","@opentelemetry/auto-instrumentations-node":"^0.67.2","@opentelemetry/exporter-metrics-otlp-grpc":"^0.208.0","@semantic-release/release-notes-generator":"^14.1.0","conventional-changelog-conventionalcommits":"^9.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/otel-sdk_1.6.0_1778116619287_0.42587816229406794","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@camino-tec/otel-sdk","version":"1.6.1","description":"SDK genérico de observabilidade OpenTelemetry para aplicações Node.js","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Camino Tec"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","clean":"rm -rf dist","release":"semantic-release"},"keywords":["opentelemetry","observability","tracing","metrics","otel"],"license":"UNLICENSED","repository":{"type":"git","url":"git+https://github.com/camino-tec/otel-sdk.git"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"dependencies":{"@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.216.0","@opentelemetry/auto-instrumentations-node":"^0.67.2","@opentelemetry/exporter-logs-otlp-proto":"^0.208.0","@opentelemetry/exporter-metrics-otlp-grpc":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.208.0","@opentelemetry/resources":"^2.2.0","@opentelemetry/sdk-logs":"^0.208.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.208.0","@opentelemetry/semantic-conventions":"^1.40.0"},"devDependencies":{"@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.2","@semantic-release/npm":"^13.0.0","@semantic-release/release-notes-generator":"^14.1.0","conventional-changelog-conventionalcommits":"^9.1.0","semantic-release":"^25.0.2","typescript":"^5.0.0"},"gitHead":"7aac00e8ed451c4b1a25fb5f2290fb202fedf133","_id":"@camino-tec/otel-sdk@1.6.1","bugs":{"url":"https://github.com/camino-tec/otel-sdk/issues"},"homepage":"https://github.com/camino-tec/otel-sdk#readme","_nodeVersion":"24.16.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-QO92uggIFvi90RJrETTYr0hFbrO6dKwSfjzgjmMI2Xot8xPnANlBmi5wymsgiO3Enk8szl6+Gt9nHLmK8K+QOA==","shasum":"bb63edd81009289ed98fa1ba397321231ab2fdf3","tarball":"https://registry.npmjs.org/@camino-tec/otel-sdk/-/otel-sdk-1.6.1.tgz","fileCount":10,"unpackedSize":19734,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCUOkBdwV27dltp2cl3xEY+RwH2M9j3RXxQCoyxm+nmLgIhANBrbDXk6f+tr1UPVl8ICvshIHahD9B2ghTL5c52Y68Q"}]},"_npmUser":{"name":"caminotec","email":"dev@caminotec.com.br"},"directories":{},"maintainers":[{"name":"caminotec","email":"dev@caminotec.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/otel-sdk_1.6.1_1781274309985_0.9171898542218122"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-23T15:00:36.336Z","modified":"2026-06-12T14:25:10.284Z","1.2.0":"2025-12-23T15:00:36.538Z","1.3.0":"2026-05-01T12:21:22.799Z","1.4.0":"2026-05-01T12:35:43.337Z","1.5.0":"2026-05-06T20:42:08.745Z","1.6.0":"2026-05-07T01:16:59.435Z","1.6.1":"2026-06-12T14:25:10.148Z"},"bugs":{"url":"https://github.com/camino-tec/otel-sdk/issues"},"author":{"name":"Camino Tec"},"license":"UNLICENSED","homepage":"https://github.com/camino-tec/otel-sdk#readme","keywords":["opentelemetry","observability","tracing","metrics","otel"],"repository":{"type":"git","url":"git+https://github.com/camino-tec/otel-sdk.git"},"description":"SDK genérico de observabilidade OpenTelemetry para aplicações Node.js","maintainers":[{"name":"caminotec","email":"dev@caminotec.com.br"}],"readme":"# @camino-tec/otel-sdk\n\nSDK genérico de observabilidade OpenTelemetry para aplicações Node.js.  \nConfigura **traces** (OTLP HTTP), **métricas** (OTLP gRPC) e **logs** (bridge pino → OTEL Logs API) com uma única chamada.\n\n## Instalação\n\n```bash\nnpm install @camino-tec/otel-sdk\n# ou\nyarn add @camino-tec/otel-sdk\n```\n\n## Uso básico\n\n```typescript\nimport { initializeObservability } from '@camino-tec/otel-sdk';\n\nconst sdk = initializeObservability({\n  serviceName: 'meu-servico',\n  serviceVersion: '1.0.0',\n});\n```\n\n## Logs: bridge pino → OpenTelemetry\n\nA função `createOtelLogStream()` retorna um `Writable` stream do Node.js que recebe\nlinhas JSON do pino e emite `LogRecord` via OpenTelemetry Logs API — **sem precisar\nde loader hooks ou monkey-patching**. Funciona em ESM e CJS.\n\n### Setup básico com pino\n\n```typescript\nimport pino from 'pino';\nimport { initializeObservability, createOtelLogStream } from '@camino-tec/otel-sdk';\n\nconst sdk = initializeObservability({ serviceName: 'meu-app' });\nconst log = pino({ level: 'debug' }, createOtelLogStream());\n\nlog.info('Aplicação iniciada');\nlog.error({ userId: 42 }, 'Falha ao processar requisição');\n```\n\n### Setup com `pino.multistream` (pino-pretty + OTEL)\n\n```typescript\nimport pino from 'pino';\nimport { initializeObservability, createOtelLogStream } from '@camino-tec/otel-sdk';\n\nconst sdk = initializeObservability({ serviceName: 'meu-app' });\n\nconst log = pino(\n  { level: 'debug' },\n  pino.multistream([\n    {\n      level: 'info',\n      stream: pino.transport({\n        target: 'pino-pretty',\n        options: { colorize: true },\n      }),\n    },\n    { level: 'debug', stream: createOtelLogStream() },\n  ]),\n);\n\nlog.info('Visível no terminal E enviado ao collector');\nlog.debug({ requestId: 'abc-123' }, 'Só vai pro collector');\n```\n\n### Shutdown (obrigatório para CLIs/scripts)\n\nPara scripts ou CLIs que terminam, é necessário chamar `sdk.shutdown()` para garantir\nque todos os logs/traces/métricas pendentes sejam exportados antes do processo encerrar:\n\n```typescript\nasync function main() {\n  const sdk = initializeObservability({ serviceName: 'meu-cli' });\n  const log = pino({ level: 'info' }, createOtelLogStream());\n\n  log.info('Processando...');\n  // ... lógica do script ...\n\n  await sdk.shutdown();\n}\n\nmain();\n```\n\n> Em servidores HTTP de longa duração, o flush acontece periodicamente e o `shutdown()`\n> deve ser chamado no handler de `SIGTERM`/`SIGINT`.\n\n## Variáveis de ambiente\n\n| Variável | Descrição |\n|---|---|\n| `SERVICE_NAME` | Nome do serviço (pode ser passado via `serviceName` nas options) |\n| `SERVICE_VERSION` | Versão do serviço (default: `1.0.0`) |\n| `OTEL_EXPORTER_OTLP_ENDPOINT` | Endpoint base OTLP |\n| `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` | Endpoint específico para traces |\n| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | Endpoint específico para métricas |\n\n## Licença\n\nUNLICENSED\n","readmeFilename":"README.md"}